一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

CentOS SSH怎样防止暴力破解攻击

时间:2026-06-12 08:11:00 编辑:袖梨 来源:一聚教程网

防止SSH暴力破解攻击是确保服务器安全的重要措施。以下是一些在CentOS系统上防止SSH暴力破解攻击的方法:

CentOS SSH如何防止暴力破解攻击

1. 使用Fail2Ban

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

安装Fail2Ban

sudo yum install epel-releasesudo yum install fail2ban

配置Fail2Ban

编辑Fail2Ban的配置文件 /etc/fail2ban/jail.local,添加或修改以下内容:

[DEFAULT]bantime = 600findtime = 600maxretry = 5[ssh]enabled = trueport = sshfilter = sshdlogpath = /var/log/securemaxretry = 3

启动Fail2Ban

sudo systemctl start fail2bansudo systemctl enable fail2ban

2. 修改SSH端口

将SSH默认端口从22改为其他不常用的端口,可以减少被扫描的概率。

修改SSH配置文件

编辑 /etc/ssh/sshd_config 文件,找到并修改以下行:

Port 22

改为:

Port 2222

重启SSH服务

sudo systemctl restart sshd

3. 使用公钥认证

禁用密码登录,改用SSH密钥对进行认证,可以大大提高安全性。

生成SSH密钥对

在客户端生成SSH密钥对:

ssh-keygen -t rsa -b 4096

将公钥复制到服务器

将生成的公钥(通常是 ~/.ssh/id_rsa.pub)复制到服务器的 ~/.ssh/authorized_keys 文件中:

ssh-copy-id user@server_ip -p 2222

禁用密码登录

编辑 /etc/ssh/sshd_config 文件,确保以下行未被注释且设置正确:

PasswordAuthentication noChallengeResponseAuthentication noUsePAM no

重启SSH服务

sudo systemctl restart sshd

4. 使用防火墙限制访问

使用iptables或firewalld限制SSH访问来源。

使用iptables

sudo iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --setsudo iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --update --seconds 600 --hitcount 5 -j DROP

使用firewalld

sudo firewall-cmd --permanent --add-port=2222/tcpsudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="your_ip" port protocol="tcp" port="2222" reject'sudo firewall-cmd --reload

5. 监控和日志分析

定期检查SSH日志文件 /var/log/secure,分析异常登录尝试,并根据需要调整安全策略。

通过以上方法,可以显著提高CentOS服务器的SSH安全性,有效防止暴力破解攻击。

热门栏目