在Ubuntu系统中,可以通过配置SSH服务器来限制登录尝试次数。以下是具体步骤:
编辑PAM配置文件:
打开/etc/pam.d/sshd文件进行编辑。
sudo nano /etc/pam.d/sshd
添加或修改以下行: 在文件的顶部添加以下内容,以启用登录失败次数限制和锁定账户功能。
auth required pam_tally2.so onerr=fail deny=5 unlock_time=600
account required pam_tally2.so
解释:
deny=5:允许最多5次失败的登录尝试。unlock_time=600:在达到最大失败次数后,账户将被锁定600秒(即10分钟)。保存并退出编辑器。
重启SSH服务: 使更改生效,需要重启SSH服务。
sudo systemctl restart sshd
Fail2Ban是一个更强大的工具,可以监控日志文件并根据规则自动禁止恶意IP地址。
安装Fail2Ban: 如果尚未安装Fail2Ban,可以使用以下命令进行安装。
sudo apt update
sudo apt install fail2ban
配置Fail2Ban:
Fail2Ban的默认配置文件通常位于/etc/fail2ban/jail.local。你可以根据需要进行自定义。
sudo nano /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:指定要监控的端口。filter = sshd:使用默认的sshd过滤器。logpath = /var/log/auth.log:指定日志文件路径。maxretry = 5:允许最多5次失败的登录尝试。bantime = 600:在达到最大失败次数后,IP地址将被禁止600秒。启动Fail2Ban服务: 使Fail2Ban生效。
sudo systemctl start fail2ban
设置Fail2Ban开机自启:
sudo systemctl enable fail2ban
通过以上两种方法,你可以有效地限制Ubuntu系统上的SSH登录尝试次数,提高系统的安全性。