在CentOS系统中,您可以通过配置SSH服务器来限制SFTP登录次数。以下是具体的步骤:
Fail2Ban是一个入侵防御软件框架,可以用来防止暴力破解攻击。它通过监控日志文件并封禁可疑IP地址来实现这一目的。
sudo yum install fail2ban -y
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
编辑Fail2Ban的配置文件 /etc/fail2ban/jail.local 或创建一个新的配置文件:
sudo vi /etc/fail2ban/jail.local
添加以下内容来配置SFTP相关的规则:
[DEFAULT]
bantime = 600 # 封禁时间(秒)
maxretry = 3 # 最大重试次数
[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600
编辑SSH服务器的配置文件 /etc/ssh/sshd_config:
sudo vi /etc/ssh/sshd_config
确保以下配置项存在并正确设置:
Subsystem sftp /usr/libexec/openssh/sftp-server
应用配置更改后,重启SSH服务:
sudo systemctl restart sshd
您可以通过以下命令查看Fail2Ban的状态和日志:
sudo fail2ban-client status sshd
sudo tail -f /var/log/fail2ban.log
除了Fail2Ban,您还可以使用其他工具如 pam_tally2 或 pam_faillock 来限制登录次数。以下是使用 pam_faillock 的示例:
sudo yum install libpam-modules -y
编辑 /etc/pam.d/sshd 文件:
sudo vi /etc/pam.d/sshd
在文件顶部添加以下行:
auth required pam_faillock.so preauth silent deny=3 unlock_time=600
auth [success=done new_authtok_reqd=done default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
在文件底部添加以下行:
account required pam_faillock.so
sudo systemctl restart sshd
通过以上步骤,您可以有效地限制SFTP登录次数,提高系统的安全性。