要防止 CentOS 上的 SFTP 被暴力破解,可以采取以下措施:
使用强密码策略:
为用户账户设置复杂且难以猜测的密码。可以使用 passwd
命令来更改用户密码,并使用 chage
命令来设置密码过期策略。
限制登录尝试次数:
可以通过修改 /etc/pam.d/sshd
文件来实现。在文件中找到以下行:
auth required pam_sepermit.so
在这行下面添加以下内容:
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600
这将限制用户在 5 分钟内尝试登录失败 5 次。超过限制后,用户将被锁定 600 秒(10 分钟)。
启用公钥认证:
公钥认证比密码认证更安全。要启用公钥认证,请确保 /etc/ssh/sshd_config
文件中的以下选项已设置为 “yes”:
PubkeyAuthentication yes
然后重启 SSH 服务以应用更改:
sudo systemctl restart sshd
禁用 root 登录:
编辑 /etc/ssh/sshd_config
文件,找到以下行:
PermitRootLogin yes
将其更改为:
PermitRootLogin no
这将禁止 root 用户通过 SSH 或 SFTP 登录。然后重启 SSH 服务以应用更改:
sudo systemctl restart sshd
更改默认 SSH 端口:
编辑 /etc/ssh/sshd_config
文件,找到以下行:
Port 22
将其更改为其他端口号,例如:
Port 2222
这将使攻击者更难找到正确的端口。然后重启 SSH 服务以应用更改:
sudo systemctl restart sshd
使用 Fail2ban: Fail2ban 是一个用于监控日志文件并根据失败登录尝试次数阻止 IP 地址的工具。要安装 Fail2ban,请运行:
sudo yum install fail2ban
然后启动并启用 Fail2ban 服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
可以通过编辑 /etc/fail2ban/jail.local
文件来自定义 Fail2ban 的配置,例如设置阻止时间、阻止 IP 数量等。
通过采取这些措施,可以大大降低 CentOS 上 SFTP 被暴力破解的风险。