C. Ross Asked: 2009-07-12 12:23:44 +0800 CST2009-07-12 12:23:44 +0800 CST 2009-07-12 12:23:44 +0800 CST 在登录时显示最近的登录失败 772 我有一个面向 Web 的 Ubuntu Linux 服务器。因此,我得到了相当数量的暴力 SSH 尝试(谁没有)。我想在我的登录提示中显示最后 N 次失败的登录尝试。我已经制定了简单的脚本: grep "Failed" /var/log/auth.log | tail -5 但我需要知道的是我把这行脚本放在哪里?有什么地方可以放置它与外壳无关? linux ubuntu security 6 个回答 Voted J.Zimmerman 2009-07-12T13:15:35+08:002009-07-12T13:15:35+08:00 您可以使用几个软件包来帮助进行暴力攻击。 拒绝主机 Fail2ban 要收集日志并向您发送报告,您可以使用 logwatch。它也可以发送失败登录的摘要。 要回答您的原始问题,您可以将脚本放在“/etc/profile.d/yourscript.sh”中,并且应该在登录时执行。 您也可以考虑设置 arno-iptables-firewall 软件包。 xyz 2009-07-12T13:28:17+08:002009-07-12T13:28:17+08:00 它真的依赖于外壳。对于bash,您应该将其放入.bash_login文件中。 关于暴力攻击预防,除了已经建议将攻击者的 IP 列入黑名单之外,我通常告诉 sshd 侦听非标准端口并禁用密码验证。当然,这可能并不总是可能的,但它肯定是有效的。 setatakahashi 2009-07-12T14:50:01+08:002009-07-12T14:50:01+08:00 把所有东西都放在 /etc/profile. 在进入你的 shell 启动文件之前,它将运行 /etc/profile 中的所有内容。 Best Answer C. Ross 2010-01-31T08:37:18+08:002010-01-31T08:37:18+08:00 我最终做的是.profile.d在我的主目录中创建一个目录,并将执行循环从复制/etc/profile到我的$HOME/.profile. 然后我将我的displayAttacks.sh脚本放入我的$HOME/.profile.d目录(以及我的其他初始化脚本)。 补充.profile如下。 if [ -d "${HOME}/.profile.d" ]; then for i in ${HOME}/.profile.d/*.sh; do if [ -r "$i" ]; then . "$i" fi done unset i fi nik 2009-07-12T13:23:26+08:002009-07-12T13:23:26+08:00 有一个perl 脚本SSHBlock可以用来对抗暴力破解 SSH。 它遵循来自 IP 地址的频繁尝试并减慢他们的尝试。 sucuri 2009-07-14T10:31:03+08:002009-07-14T10:31:03+08:00 你里面有一些问题。首先,任何非 root 用户都不应该能够读取 auth 日志文件。如果您以 root 身份登录,请不要再这样做了 :) 其次,为此使用适当的工具。我喜欢OSSEC的方法,它会在一段时间内为每 X 次登录失败向我发送电子邮件。它还会自动阻止 ip,减少暴力攻击成功的机会。
您可以使用几个软件包来帮助进行暴力攻击。
要收集日志并向您发送报告,您可以使用 logwatch。它也可以发送失败登录的摘要。
要回答您的原始问题,您可以将脚本放在“/etc/profile.d/yourscript.sh”中,并且应该在登录时执行。
您也可以考虑设置 arno-iptables-firewall 软件包。
它真的依赖于外壳。对于
bash
,您应该将其放入.bash_login
文件中。关于暴力攻击预防,除了已经建议将攻击者的 IP 列入黑名单之外,我通常告诉 sshd 侦听非标准端口并禁用密码验证。当然,这可能并不总是可能的,但它肯定是有效的。
把所有东西都放在 /etc/profile.
在进入你的 shell 启动文件之前,它将运行 /etc/profile 中的所有内容。
我最终做的是
.profile.d
在我的主目录中创建一个目录,并将执行循环从复制/etc/profile
到我的$HOME/.profile
. 然后我将我的displayAttacks.sh
脚本放入我的$HOME/.profile.d
目录(以及我的其他初始化脚本)。补充
.profile
如下。有一个perl 脚本SSHBlock可以用来对抗暴力破解 SSH。
它遵循来自 IP 地址的频繁尝试并减慢他们的尝试。
你里面有一些问题。首先,任何非 root 用户都不应该能够读取 auth 日志文件。如果您以 root 身份登录,请不要再这样做了 :)
其次,为此使用适当的工具。我喜欢OSSEC的方法,它会在一段时间内为每 X 次登录失败向我发送电子邮件。它还会自动阻止 ip,减少暴力攻击成功的机会。