centos

CentOS如何防止SFTP暴力破解

小樊
36
2025-05-15 00:14:33
栏目: 智能运维

在CentOS系统中,防止SFTP暴力破解可以通过以下几种方法来实现:

1. 使用Fail2Ban

Fail2Ban是一个入侵防御软件框架,可以监控日志文件并根据配置的规则禁止恶意IP地址。

安装Fail2Ban

sudo yum install fail2ban -y

配置Fail2Ban

编辑Fail2Ban的配置文件 /etc/fail2ban/jail.local,添加SFTP相关的配置:

[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3

[sshd]
enabled = true
port = sshd
filter = sshd
logpath = /var/log/secure
maxretry = 3
bantime = 600

启动Fail2Ban

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

2. 使用PAM(Pluggable Authentication Modules)

PAM可以用来限制登录尝试次数。

编辑PAM配置文件

编辑 /etc/pam.d/sshd 文件,添加以下行:

auth required pam_tally2.so onerr=fail deny=3 unlock_time=600

安装PAM模块

sudo yum install libpam-modules -y

3. 使用iptables限制连接速率

可以使用iptables来限制每个IP地址的连接速率。

添加iptables规则

sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 600 --hitcount 3 -j DROP

保存iptables规则

sudo service iptables save

4. 使用SSH密钥认证

使用SSH密钥认证可以减少暴力破解的可能性。

生成SSH密钥对

ssh-keygen -t rsa -b 4096

将公钥复制到服务器

ssh-copy-id user@server_ip

5. 修改SSH配置

编辑 /etc/ssh/sshd_config 文件,进行以下修改:

PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes

重启SSH服务

sudo systemctl restart sshd

通过以上方法,可以有效地防止SFTP暴力破解,提高系统的安全性。

0
看了该问题的人还看了