centos

CentOS如何限制SFTP登录次数

小樊
56
2025-06-12 09:23:19
栏目: 智能运维

在CentOS系统中,您可以通过配置SSH服务器来限制SFTP登录次数。以下是具体的步骤:

1. 安装和配置Fail2Ban

Fail2Ban是一个入侵防御软件框架,可以用来防止暴力破解攻击。它通过监控日志文件并封禁可疑IP地址来实现这一目的。

安装Fail2Ban

sudo yum install fail2ban -y

启动并启用Fail2Ban服务

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

配置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

2. 配置SSH服务器

编辑SSH服务器的配置文件 /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

确保以下配置项存在并正确设置:

Subsystem sftp /usr/libexec/openssh/sftp-server

3. 重启SSH服务

应用配置更改后,重启SSH服务:

sudo systemctl restart sshd

4. 验证配置

您可以通过以下命令查看Fail2Ban的状态和日志:

sudo fail2ban-client status sshd
sudo tail -f /var/log/fail2ban.log

5. 其他方法

除了Fail2Ban,您还可以使用其他工具如 pam_tally2pam_faillock 来限制登录次数。以下是使用 pam_faillock 的示例:

安装PAM模块

sudo yum install libpam-modules -y

配置PAM

编辑 /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

重启SSH服务

sudo systemctl restart sshd

通过以上步骤,您可以有效地限制SFTP登录次数,提高系统的安全性。

0
看了该问题的人还看了