最近服务器受到攻击,总结一下特征

最近我的 Linode VPS 服务器受到了一些攻击(12)。好在攻击的强度不大,也许是手下留情吧,没有造成很大的问题。攻击持续了大约三天时间之后停止。虽然查过很多资料,也咨询过一些网友,可还是无法确定具体是什么攻击。所以趁着记忆还新鲜将攻击的特征记录下来,以后有时间再来研究。

1. 基本信息

我的 VPS 运行的是 LAMP 服务器,仅运行几个小型的 WordPress 博客和一个 UseBB 论坛。流量很小,特别是,在出站流量(outgoing traffic)较大的情况下(平均 40kb/s 左右),入站流量(incoming traffic)也是非常小的(低于 10kb/s)。

目前仅使用 iptables 进行访问控制,iptable 规则在这里

2. 攻击特征

根据我的观察,当然经验还是不够丰富,可以将这些攻击分为 2 类。

a. 针对 80 (http) 端口的攻击

攻击的时候,发动攻击的 IP (下称客户机)向主机 80 端口发送连接请求 SYN,主机会回应 ACK,但是似乎客户机不对 ACK 做出反应。连续的 2 次这种过程之间间隔不到 0.3ms。此时通过 tcpdump -n 命令抓包的话就能看到这样的过程:

23:28:33.931441 IP 174.122.6.252.62841 > 106.187.50.90.http: Flags [S], seq 0, win 8192, length 0
23:28:33.931459 IP 106.187.50.90.http > 174.122.6.252.62841: Flags [R.], seq 0, ack 1, win 0, length 0
23:28:33.931729 IP 174.122.6.252.62841 > 106.187.50.90.http: Flags [S], seq 0, win 8192, length 0
23:28:33.931740 IP 106.187.50.90.http > 174.122.6.252.62841: Flags [R.], seq 0, ack 1, win 0, length 0

主机上运行 netstat -anpt 命令可以看到从客户机的多个状态为 SYN_RECV 的 TCP 连接。连接个数从 1~9 都有可能(不多,所以说攻击强度不是很大),并且会持续到攻击结束。例如:

tcp 0 0 106.187.50.90:80 174.122.6.252:62841 SYN_RECV -
tcp 0 0 106.187.50.90:80 174.122.6.252:56394 SYN_RECV -

从 Apache 的访问日志中无法查询到该 IP 的任何访问记录。

这种形式的攻击会造成一定的入站和出站流量。在 6 个 TCP 连接的情况下,大约各有 180kb/s。如果通过 iptables 直接 DROP 掉该 IP 的所有连接请求,就不会再看到 TCP 连接,也不会做出回应。出站流量为 0,但是入站流量不变。

另外,不知道是不是因为我在 iptables 中限制了单个 IP 发送连接请求的速率,这种攻击没有对服务器上的网站访问造成影响。

b. 针对 443 (https) 端口的攻击

因为我本来就没有开放 443 端口,所以这种攻击发生的时候,

  • 无法从 netstat -anpt 命令下看到相关的连接;
  • 只有入站流量,没有出站流量;
  • 客户端以非常快的速度从各个端口向服务器的 443 端口发送连接请求;
  • 对服务器上的网站产生了影响:响应速度变慢了,甚至出现无法打开网页的情况。

第一次攻击就是这一种,我费了好大劲儿,在 Linode 客服的帮助下才从 tcpdump -n 的输出中找到攻击者的 IP。因为服务器直接 DROP 掉了该 IP 的访问请求,所以服务器不会发送 ACK 回应。tcpdump -n 的输出类似于,

23:21:18.552302 IP 221.120.194.182.acr-nema > 106.187.50.90.https: Flags [S], seq 0, win 8192, length 0
23:21:18.556223 IP 221.120.194.182.mit-dov > 106.187.50.90.https: Flags [S], seq 0, win 8192, length 0
23:21:18.556239 IP 221.120.194.182.mit-dov > 106.187.50.90.https: Flags [S], seq 0, win 8192, length 0
23:21:18.556247 IP 221.120.194.182.mit-dov > 106.187.50.90.https: Flags [S], seq 0, win 8192, length 0

如果从 iptables 中封锁该 IP 的访问,则虽然入站流量保持不变,但是不会再对服务器上的网站的访问造成影响。

下面这张流量图包含上述 2 种攻击发生(有时同时存在,有时只存在一种)时的情况:

遭到上述两种攻击时产生的流量图

遭到上述两种攻击时产生的流量图

3. 结论

有网友觉得可能是 Slowloris 攻击,但是经过测试,该类型的攻击不满足上述特征。

根据之前的经验,这倒很有可能都是 SYN_Flood 攻击。只是暂时不知道怎么测试。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/detailed-description-on-the-attacks/>。转载请保留此信息及相应链接。

10 条关于 “最近服务器受到攻击,总结一下特征” 的评论

  1. 引用通告: 日本服务器易受攻击,巧合还是事实? | 水景一页

  2. 引用通告: 百度联盟分账权限被关闭 | 水景一页

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>