在CentOS系统中,使用SFTP(SSH File Transfer Protocol)时,防止暴力破解攻击是非常重要的。以下是一些配置步骤和建议,可以帮助你增强SFTP的安全性:
确保所有用户的密码都是强密码。你可以使用passwd命令来设置和更改用户密码,并使用chage命令来设置密码过期策略。
sudo passwd username
sudo chage -M 90 username # 设置密码90天后过期
你可以使用fail2ban来限制失败的登录尝试次数。首先,安装fail2ban:
sudo yum install fail2ban -y
然后,配置fail2ban来监控SFTP登录失败日志并封禁IP地址。编辑/etc/fail2ban/jail.local文件,添加以下内容:
[DEFAULT]
bantime = 600 # 封禁时间(秒)
maxretry = 3 # 最大失败尝试次数
[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
最后,重启fail2ban服务:
sudo systemctl restart fail2ban
禁用密码认证,强制使用SSH密钥认证。编辑/etc/ssh/sshd_config文件,找到以下行并进行修改:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
然后,重启SSH服务:
sudo systemctl restart sshd
使用防火墙限制SSH(包括SFTP)的访问。例如,使用firewalld:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
确保你的系统日志记录了所有SFTP登录尝试。你可以使用grep命令来监控日志文件:
sudo tail -f /var/log/secure | grep 'sshd'
如果你的系统启用了SELinux,可以进一步限制SFTP的访问。编辑/etc/selinux/config文件,将SELINUX设置为enforcing:
SELINUX=enforcing
然后,重启系统以应用更改。
确保你的系统和所有软件包都是最新的,以防止已知的安全漏洞被利用。
sudo yum update -y
通过以上步骤,你可以大大提高CentOS系统中SFTP的安全性,防止暴力破解攻击。