如何限制SSH登录尝试次数
导读:限制SSH登录尝试次数是一种常见的安全措施,可以防止暴力破解攻击。以下是几种常见的方法来实现这一目标: 方法一:使用PAM(Pluggable Authentication Modules) PAM是一种灵活的认证框架,可以用来限制SSH登...
限制SSH登录尝试次数是一种常见的安全措施,可以防止暴力破解攻击。以下是几种常见的方法来实现这一目标:
方法一:使用PAM(Pluggable Authentication Modules)
PAM是一种灵活的认证框架,可以用来限制SSH登录尝试次数。以下是具体步骤:
-
编辑PAM配置文件: 打开
/etc/pam.d/sshd文件,添加以下行:auth required pam_tally2.so onerr=fail deny=5 unlock_time=600解释:
onerr=fail:如果认证失败,立即返回失败。deny=5:允许的最大失败尝试次数。unlock_time=600:锁定时间(秒),在这段时间内用户无法尝试登录。
-
重启SSH服务:
sudo systemctl restart sshd
方法二:使用Fail2Ban
Fail2Ban是一个入侵防御软件框架,可以监控日志文件并根据配置的规则禁止恶意IP地址。以下是具体步骤:
-
安装Fail2Ban:
sudo apt-get install fail2ban -
配置Fail2Ban: 编辑
/etc/fail2ban/jail.local文件,添加以下内容:[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 bantime = 600解释:
enabled = true:启用该jail。port = ssh:监控SSH端口。filter = sshd:使用默认的sshd过滤器。logpath = /var/log/auth.log:日志文件路径。maxretry = 5:最大失败尝试次数。bantime = 600:锁定时间(秒)。
-
重启Fail2Ban服务:
sudo systemctl restart fail2ban
方法三:使用iptables
iptables可以用来限制SSH登录尝试次数。以下是具体步骤:
-
创建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 60 --hitcount 5 -j DROP解释:
- 第一条规则设置一个新的连接时,将其添加到recent列表中。
- 第二条规则检查recent列表中的连接,如果在60秒内有5次失败的尝试,则丢弃该连接。
-
保存iptables规则:
sudo iptables-save > /etc/iptables/rules.v4 -
设置iptables规则开机自启动: 编辑
/etc/network/if-pre-up.d/iptables文件,添加以下内容:#!/bin/sh iptables-restore < /etc/iptables/rules.v4然后赋予执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
注意事项
- 在实施这些措施之前,请确保你有备份,并且了解这些更改的影响。
- 定期检查和更新你的安全策略,以应对新的威胁。
- 如果你使用的是云服务提供商,他们可能有自己的安全组或防火墙规则来限制登录尝试次数。
通过以上方法,你可以有效地限制SSH登录尝试次数,提高系统的安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何限制SSH登录尝试次数
本文地址: https://pptw.com/jishu/772030.html
