登录时显示最近登录失败

登录时显示最近登录失败

我有一台面向 Web 的 Ubuntu Linux 服务器。因此,我收到了相当多的暴力 SSH 尝试(谁没有呢)。我想在登录提示符下显示最近 N 次失败的登录尝试。我制定了简单的脚本:

grep "Failed" /var/log/auth.log | tail -5

但我需要知道的是我应该把这行脚本放在哪里?有没有与 shell 无关的地方可以把它放在那里?

答案1

您可以使用几个软件包来帮助抵御暴力攻击。

  1. 拒绝主机
  2. Fail2ban

要收集日志并向您发送报告,您可以使用 logwatch。它还可以发送失败登录的摘要。

要回答您最初的问题,您可以将脚本放在“/etc/profile.d/yourscript.sh”中,并且它应该在登录时执行。

您可能还考虑设置 arno-iptables-firewall 包。

答案2

它确实依赖于 shell。对于bash,您应该将其放在.bash_login文件中。

关于暴力攻击预防,除了已经建议的将攻击者的 IP 列入黑名单之外,我通常会告诉 sshd 监听非标准端口并禁用密码验证。当然,这可能并不总是可行的,但它肯定是有效的。

答案3

将所有内容放入 /etc/profile 中。

它将在转到 shell 启动文件之前运行 /etc/profile 中的所有内容。

答案4

有一个perl 脚本SSH块可用于对抗暴力破解 SSH。
它会跟踪来自某个 IP 地址的频繁尝试,并减慢他们的尝试速度。

相关内容