在Debian系统中,使用OpenSSH服务器提供SFTP服务。为了防止暴力破解攻击,可以采取以下措施:
更改默认的SSH端口: 编辑/etc/ssh/sshd_config文件,找到#Port 22这一行,取消注释并更改端口号。例如,将其更改为Port 2222。这样可以降低被自动扫描到的概率。
禁用root登录: 在sshd_config文件中找到#PermitRootLogin prohibit-password这一行,取消注释并更改为PermitRootLogin no。这样可以防止攻击者直接以root用户身份登录。
启用公钥认证: 在sshd_config文件中找到#PubkeyAuthentication yes这一行,取消注释。然后在客户端的~/.ssh/authorized_keys文件中添加客户端的公钥。这样可以避免使用密码进行登录,提高安全性。
使用fail2ban限制登录尝试次数: 安装fail2ban:sudo apt-get install fail2ban 创建一个新的fail2ban配置文件:sudo cp /etc/fail2ban/jail.local /etc/fail2ban/jail.local.bak,然后使用文本编辑器打开/etc/fail2ban/jail.local文件。 在文件中添加以下内容:
[sshd] enabled = true port = 2222 filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 600 这里,我们启用了sshd的fail2ban功能,监听端口为2222(与步骤1中更改的端口一致),并设置了最大尝试次数为3次,禁止时间为600秒。
保存文件并重启fail2ban服务:sudo systemctl restart fail2ban。
保持系统和软件更新: 定期更新Debian系统以及OpenSSH软件包,以修复已知的安全漏洞。
通过以上措施,可以在很大程度上防止SFTP服务的暴力破解攻击。