我有一个 EC2 实例可能已被入侵。截至上周,该实例的响应速度非常慢,最近我检查了 httpd access_logs,发现它们超过了 11Gigs,尽管上个月才打开了 EC2 实例。今天的 access_log 正在增长。日志文件中充满了与我正在处理的网站无关的网站。
少数人拥有 ssh 访问权限,但我已经将其撤销。但日志文件仍在增长。
最后收到了亚马逊发来的一些关于“滥用”的电子邮件,发现邮件活动激增。奇怪的是,我从未在此实例上设置邮件服务,但防火墙已设置为允许 smtp 访问(除其他外),尽管我只设置了端口 80 访问和几个端口 22。
我不太懂服务员,而且我也不懂任何服务员。
我更改了我的 Amazon 密码并创建了新的访问代码。将 ssh 的端口更改为不同的端口。
我非常感激任何关于这个问题的建议。谢谢。
//******** *编辑 *********/
我现在认为这是因为我的服务器被用作代理。根据这些指南http://wiki.apache.org/httpd/ProxyAbuse我已成功阻止了大部分进入该网站的虚假流量,但请求仍在 access_logs 中堆积。我已通过尝试使用我的服务器作为代理来确认,它强制用户直接访问该网站(我猜应该是这样),而不是 yahoo.com。
我不知道这是否是解决方案,但到目前为止,它似乎正在发挥作用。
不过,发布的答案让我大开眼界。如果有人有更多信息要说,我很乐意听听。非常感谢!
答案1
查看您提供的页面,查找任何插入到您服务器中的垃圾链接或漏洞代码。最好的办法是将静态文件与备份进行比较,看看是否有任何内容被更改。
如果您不使用端口 25,请关闭防火墙上的端口 25。
您可以使用 rkhunter 之类的工具:
http://www.rootkit.nl/projects/rootkit_hunter.html
和chkrootkit:
尝试检测黑客用来控制您的系统的工具。
使用 Nexpose 之类的工具来查找 Web 应用程序和操作系统中的漏洞,并按照其建议修复这些漏洞:
答案2
服务器被滥用或入侵的方式可能有两种。第一种是通过软件漏洞,第二种是通过 Web 应用程序途径。我会先检查是否存在软件漏洞,然后再检查 Web 应用程序。
可能出现的问题。无特定顺序
- 您是否有任何使用用户输入发送电子邮件且不涉及身份验证/授权的邮件/表格。
- 配置错误或不安全的应用程序。例如,phpMyadmin 没有密码,或者开发中的应用程序以不安全的方式暴露。
- 检查访问日志并获取已访问的文件列表。如果它们是您的文件,我会检查其中是否存在安全漏洞。
- 检查已知良好的备份是否与 Web 服务器上的当前文件一致。如果您没有使用任何安全编码指南远程 Shell 等可能有问题。
如果您没有使用邮件,请在防火墙上阻止 smtp 以控制损害。
答案3
如果仍有请求进来,请更改弹性 IP 地址。公共代理通常通过 IP 地址引用,这应该会停止剩余的流量。
当您获得分配给您的任何 IP 地址时,最好通过 Google 搜索来检查它。我有一个被列为代理的 IP 地址,所以我又获得了一个。