在Debian系统中,使用OpenSSH服务器进行SFTP连接。为了防止暴力破解攻击,可以采取以下措施:
禁用root登录:
编辑/etc/ssh/sshd_config
文件,找到PermitRootLogin
这一行,将其值改为no
。这样可以防止攻击者通过SFTP尝试登录root账户。
PermitRootLogin no
使用公钥认证:
在客户端生成SSH密钥对(如果尚未生成),然后将公钥添加到服务器的~/.ssh/authorized_keys
文件中。这样,用户只能使用私钥进行身份验证,而不是尝试使用密码。
限制用户登录尝试次数:
编辑/etc/ssh/sshd_config
文件,找到或添加以下设置:
MaxAuthTries 3
这将限制每个用户尝试登录的次数。在这个例子中,允许最多尝试3次。超过这个次数后,用户的账户将被暂时锁定。
账户锁定策略:
编辑/etc/pam.d/sshd
文件,确保以下模块已启用:
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600
这将在连续失败尝试达到3次后锁定账户,并在600秒(10分钟)后解锁。
更改SSH默认端口:
编辑/etc/ssh/sshd_config
文件,找到Port
这一行,将其值更改为一个非标准端口。这样可以降低攻击者发现并尝试攻击的可能性。
Port 2222
使用防火墙限制访问: 如果您有一个防火墙(如ufw),可以限制允许访问SSH/SFTP服务的IP地址。例如,只允许特定IP地址访问SSH端口:
sudo ufw allow from 192.168.1.100 to any port 2222
定期检查日志文件:
定期查看/var/log/auth.log
文件,以便发现任何可疑活动。
完成上述更改后,重启SSH服务以使更改生效:
sudo systemctl restart ssh
通过这些措施,您可以大大降低Debian系统中SFTP服务受到暴力破解攻击的风险。