如何确定我的 Linux 盒子是否已被渗透?

Jak*_*raw 11 security linux debian ssh

我最近阅读了一篇关于分析恶意 SSH 登录尝试的文章。这让我开始思考,我的 Debian 机器上的 SSH 用户名、密码组合是否不常见?我是否已成为暴力字典攻击的目标?我们来看看/var/log/auth.log.0

Sep 23 07:42:04 SLUG sshd[8303]: Invalid user tyjuan from 210.168.200.190
Sep 23 07:42:09 SLUG sshd[8305]: Invalid user tykeedra from 210.168.200.190
Sep 23 07:42:14 SLUG sshd[8307]: Invalid user tykeem from 210.168.200.190
Sep 23 07:42:19 SLUG sshd[8309]: Invalid user tykeshia from 210.168.200.190
Sep 23 07:42:25 SLUG sshd[8311]: Invalid user tyla from 210.168.200.190
Sep 23 07:42:30 SLUG sshd[8313]: Invalid user tylan from 210.168.200.190
Sep 23 07:42:35 SLUG sshd[8315]: Invalid user tylar from 210.168.200.190
Sep 23 07:42:40 SLUG sshd[8317]: Invalid user tyler from 210.168.200.190
Sep 23 07:42:45 SLUG sshd[8319]: Invalid user tylerfrank from 210.168.200.190
Sep 23 07:42:50 SLUG sshd[8321]: Invalid user tyliah from 210.168.200.190
Sep 23 07:42:55 SLUG sshd[8323]: Invalid user tylor from 210.168.200.190
Run Code Online (Sandbox Code Playgroud)

所以这看起来不太好。既然我知道我已经成为攻击的目标并且我的一些用户名和密码组合很弱,我想知道我如何...

  • ...确定我的Linux盒子是否已被渗透?
  • ...消除肇事者留下的任何损害?
  • ……防止以后发生这种情况?

更新

关于消除肇事者留下的任何损害有什么建议吗?

Dan*_*dey 15

很多人似乎都建议使用 DenyHosts,但我已经看到在我的系统上使用Fail2Ban取得了很多成功。它监视(可配置的)失败次数,然后执行操作 - 在我的服务器上,该操作是使用 iptables 丢弃来自主机的所有流量。在 10 次登录失败后,他们会被禁止,这就是结束。

我将它与 Logcheck 结合使用,以便我始终知道我的服务器上发生了什么。

如果您有任何证据表明有人确实闯入了您的系统(您发布的日志不是这方面的证据),那么您唯一的解决方案是备份您需要保留的所有数据、擦除机器、重新安装和恢复从备份。否则,没有办法确定。


Dan*_*ian 10

有效的登录尝试也会被登录,因此如果您看到强力尝试后成功,则表明发生了一些不好的事情。

我使用DenyHosts来监控可疑 SSH 流量的日志,并将其配置为在某个时间点自动防火墙关闭主机。

请注意,您还希望通过多种其他方式来监控您的机器以查看它是否受到损害,包括加载模式、登录活动、定期流量嗅探、监控正在运行的进程和开放端口,以及使用tripwire 等工具确保文件完整性。

如果您只想做一个,监控系统负载是检测入侵的一种非常有效的方法,因为大多数被入侵的机器都用来做一些事情,比如发送大量垃圾邮件或以其他方式接收大量流量。如果您是一个高价值的目标并且人们可能出于将您的主机变成僵尸之外的原因而试图专门闯入您,那么也许没有用,但仍然很有价值。分析和确定何时需要投资更多硬件或更好的软件需要额外的监控负载。

您还应该进行全面的日志分析,查看 auth.log 和其他意外情况。日志文件分析是一个竞争激烈的市场,问题尚未解决,但有像 logwatch 这样的免费工具可以配置为每天向您发送摘要。

层层安全!