SSH 攻击 CentOS Amazon EC2

SSH 攻击 CentOS Amazon EC2

我在 Amazon EC2 上运行了一些基于 Rightscale CentOS AMI 的实例。两个月前我发现我们的 SSHD 安全性受到了损害(我为 ssh 添加了 host.allow 和 host.deny)。因此我创建了新实例并完成了基于 IP 的 ssh,仅允许我们的 IP 通过 AWS 防火墙(ec2-authorize),并将 ssh 的 22 默认端口更改为其他端口,但两天前我发现我无法登录到服务器,当我尝试在 22 端口上时,ssh 连接上了,我发现 sshd_conf 已更改,当我尝试编辑 sshd_config 时,我发现 root 没有该文件的写权限。因此我尝试了 chmod,它说“root”用户访问被拒绝。这很奇怪。我检查了安全日志和历史记录,没有发现任何有用信息。我在这些服务器上运行着 PHP、Ruby On Rails、Java 和 Wordpress 应用程序。

这次我进行了 chkrootkit 扫描,但什么也没发现。我重命名了 /etc/ssh 文件夹并通过 yum 重新安装了 openssh。我在 CentOS(5.2、5.4)上的 3 个实例上都遇到过这个问题,我在 Debian 上也有实例,它们运行良好。这是 CentOS/Rightscale 的问题吗?伙计们,我应该采取什么安全措施来防止这种情况发生。


我怀疑这也是内部黑客,因为我们只允许我们的 IP 进行 ssh。

因此我计划使用一个键盘记录器来记录每个用户和终端的所有击键。您能推荐一些最适合此目的的 Linux 键盘记录器吗?


我确信这是 ssh 攻击,但不知道他们是怎么做到的。CentOS 5 仍然使用 openssh 4.3,所以我编译了 openssh 5.5,发现他们更改了 /usr/bin/ssh 和 /usr/sbin/sshd 的属性。我不得不使用 lsattr filename chattr -ia filename 来删除属性,并成功编译了 openssh。现在我正在尝试设置 chroot 并设置 Osiris 以防万一。

请分享您的想法。另外,我需要一个键盘记录器来记录所有 tty 按键,您建议使用哪一个?

感谢您的支持。

答案1

基本上,你已经完蛋了。

如果您真的被利用了,他们可能会在 SSHD 二进制文件或系统上的任何其他文件中添加后门......由于源代码可用,所以这很容易做到,如果您没有提前计划,则很难发现。

如果在问题发生之前您没有安装 Tripwire 或类似程序,那么您基本上必须根据已知的干净安装检查系统上的每个文件。

更容易将您的应用程序移动到干净的服务器。

最好的预防措施是使用文件完整性扫描器。基本上,它会检查系统上的每个文件,并对其进行哈希处理。然后它会定期重新扫描,并通知您任何更改。清理工作轻而易举。

我同意你可能没有通过 SSH 被利用...我几乎从未见过这种情况,而且当它确实发生时,通常是因为守护进程中存在未修补的漏洞。暴力破解 SSH 密码通常是徒劳的。

编辑:我一直在阅读奥西里斯今天下午,它看起来很酷。它会定期重新扫描并向您发送已更改文件的电子邮件。Tripwire 企业版提供实时检查,但当然你必须付费。有一个Tripwire 的开源版本它也从更古老的开源 tripwire 手中接管了控制权,并且也相当稳定。

答案2

首先:向具有 root/sudo 访问权限的其他人确认他们没有重新配置此设置。您不想去追踪没有发生的攻击。

注意:攻击场景听起来不太可能。大多数聪明到可以入侵您机器的人都不会愚蠢到去更改诸如 SSH 监听的端口这样明显的东西。何必呢?

一旦你确定你的机器已被入侵,请考虑你在服务器上输入或存储的任何内容是否是公开信息。更改密码、SSH 密钥等。

接下来,您需要确定最有可能的入口点。除非您有一些荒谬的密码,否则我非常怀疑 SSH 是最初的入侵点。从理论上讲,更有可能的是有人通过您的某个 Web 应用程序获得了访问权限。

  • 将每个应用程序隔离到其自己的全新 EC2 实例。这样做很便宜。安全漏洞可能会毁掉您的业务。这样做可以帮助您将任何漏洞隔离到单个应用程序,当/如果确实发生攻击时,这具有方便的副作用,可以指责对方。

  • 检查版本中是否存在已知漏洞。或者采取散弹枪式方法,将所有内容升级到最新版本。

  • 如果您的任何应用程序以 root 身份运行,请立即修复。

  • 如果您的任何应用程序在 chroot 之外运行,请立即修复它。

  • 创建一个没有外部服务器的中央系统日志服务器。将每个应用程序设置为通过系统日志尽可能详细地记录到此服务器。当/如果发生攻击时,您需要取证来确定攻击来自何处以及他们是如何进入的。

  • 如果您允许使用密码 SSH 访问这些服务器,请不要这样做。更改为 ssh 密钥。

  • 考虑安装 Tripwire、Osiris 或其他完整性监视器来确定何时发生不好的事情。

经验丰富的攻击者会试图掩盖自己的行踪。如果您没有监控器和防护措施来记录正在发生的事情,那么追捕他就是徒劳的。尽可能保证系统安全,确保任何异常活动都不会被忽视。

编辑

由于您提到了一些针对 root 的权限被拒绝的错误,请验证 root 是否是分配给 UID 0(getent passwd 0)的唯一用户。如果不是,那么您肯定受到了威胁。

答案3

如果任何二进制文件已更改,您可以运行“rpm -aV”。这将使安装的 rpm 与磁盘上的二进制文件进行 md5 匹配(还会检查权限等)。它不完全是绊线 - 并且不会检测任何用户上传的内容是否明显已更改,但如果 /usr 或 /bin 等中发生了某些更改,它应该会显示出来。

它会对 /etc 中被故意更改的内容标记出一堆误报,因此您需要在运行它之后检查其输出。

答案4

你确定这不是 Rightscales “rightscripts”(chef)只是在掩盖你的变化吗?

除非您使用六个字符的小写英文单词密码,否则您的 sshd 极不可能受到损害。

相关内容