在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服务的暴力破解攻击。