我的 wordpress EC2 服务器可能被黑客入侵了。运行iftop
命令时,我可以看到我的服务器从主机名“i157panamamails.com”发送和接收数据。
此主机名永远不会消失,并且占用大量带宽。我想阻止服务器与此主机名通信并完全拒绝它。我尝试deny from
在 .htaccess 中放入并重新启动 Apache2 服务器(使用 Ubuntu 10.0),但这没有帮助,我仍然看到该主机名连接处于活动状态。也许连接不是来自 Apache2,但据我所知,这是唯一安装的服务器。
我如何才能防止服务器拒绝该主机名?
更多信息:
我
etc/hosts
只有 127.0.0.1在 etc/resolve.conf 中我有:
nameserver [some_ip_address] <--- 这个 IP 用于 EC2,所以这里没有问题
域 ec2.internal
搜索 ec2.internal
resolve.conf 中的 IP 未解析为主机名
在端口 22/21/80 上使用 lsof 命令在连接中找不到主机名。端口 21 有一个供 root 用户监听的连接,但端口 21 在 EC2 安全组中未打开,端口 443 (HTTPS) 没有连接
似乎连接不在 Apache 的端口 80 上,因为 lsof 仅显示特定时间范围内的连接,并且我看到该主机名的连接在网络打印中仍处于活动状态。我假设充当服务器的另一个软件可能会在与 Apache 无关的已打开端口 80 上初始化该连接
在 eth0 上运行 NetHogs 时,我发现一个程序sshd:ubuntu@pts1
ubuntu
持续接收和发送数据的用户(不是 Apache2)。看起来很可疑我还注意到来自 37:80-[ip_addresses] 程序在端口 80 和其他端口上的大量连接(约 50 个)。这些程序不发送或接收数据(大多数)
在 host.deny 中阻止主机名没有帮助
更新: 我已找到该 IP 并在 IPtables 中阻止了它(OUTPUT 和 INPUT)。IP 服务器不会向该 IP 发送数据,但它每秒大约接收 240 个字节。
答案1
好的,首先您可以在服务器上运行 tcpdump 来分析流量。
tcpdump -s 65535 -w ~/traffic_capture.pcap
然后你可以使用命令读取该文件:
tcpdump -vv -r ~/traffic_capture.pcap
或者将其下载到您的计算机并使用 wireshark 检查。
您还可以使用 iptables 记录所有传出的流量(这里是规则):
iptables -A OUTPUT -j LOG
默认情况下,此流量的日志将位于 /var/log/kern.log。
您还可以使用标志 -n 运行 iftop,这将阻止 iftop 执行主机名查找。
引用自 iftop 手册页:
By default, iftop will look up the hostnames associated with addresses
it finds in packets. This can cause substantial traffic of itself, and
may result in a confusing display. You may wish to suppress display of
DNS traffic by using filter code such as not port domain, or switch it
off entirely, by using the -n option or by pressing r when the program
is running.
如果你确定自己感染了某种 shell 或恶意软件,那么你可以尝试使用 maldet 或 ai-bolit 来检查 apache 目录中是否存在恶意软件。
答案2
您应该尝试使用 iptables 来快速解决问题。
iptables -A OUTPUT -d 202.54.1.22 -j DROP
在 EC2 上,如果您在 VPC 中运行,则可以动态编辑 ACL 并阻止此 IP。
但是,如果您确实遭到了黑客攻击,这只是第一步。查看进行这些连接的进程,lsof 会有所帮助,找出它运行的原因以及安装它的人,并在需要时将其从您的计算机中删除。
第二步是加强你的安全: - 将 wordpress 升级到最新版本;这个平台有一些流行的漏洞 - 更改所有 IAM 和主账户密码 - 轮换所有 aws 访问密钥和 ssh 密钥 - 确保你无法使用密码进行 ssh - 如果可能,通过安全组仅允许来自特定 IP 的 ssh
答案3
这可能是出站连接,而不是入站连接。检查以下活动:
- Top 命令。您可能希望停止其他服务,以便更清楚地了解哪个进程正在使用 CPU。
- Ping i157panamamails.com,看看它是否可以解析到您服务器上的 IP。如果可以,请在 iptables 上阻止它。
- 如果您不需要出站连接,请阻止 AWS 安全组上的所有出站连接。
除了这些被动措施之外,我还建议您安装基于主机的入侵检测软件,例如 OSSEC,以检测对系统的未经授权的访问和更改。