服务器遭到又一波攻击

昨晚的攻击才刚停歇,今天上午九点多又开始遭受另一波攻击。判断应该属于 SYN_FLOOD 攻击。这次攻击因为强度不是很大,没有影响到服务器上网站的访问。但是却消耗了大量的上行/下行带宽。目前攻击还在持续中,没什么好方法阻止。

该攻击仅由一个 IP 65.30.63.120 发动,已经给该 IP 管理员发送了邮件。表现为:

1、连接状态。

netstat -npt 可以看到该 IP 处于持续的 SYN_RECV 状态,

# netstat -npt
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 106.187.50.90:80 65.30.63.120:49686 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:34658 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:27734 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:15194 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:11283 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:56838 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:10847 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:21320 SYN_RECV -
tcp 0 0 106.187.50.90:80 65.30.63.120:36120 SYN_RECV -

因为之前做的安全设置可以一定程度上防止这类攻击,或者攻击的强度不大,目前没有对网站运行造成影响。

2、消耗大量上下行带宽。

受攻击时 VPS 控制台显示的流量图

受攻击时 VPS 控制台显示的流量图

上图中间部分是昨天晚上受到攻击的时候,入站流量很大,出站流量很小。该攻击影响了网站的访问,但是封掉该 IP 之后网站恢复正常。而流量依旧。

右边的部分,入站速度约 180kb/s,出站速度约 220kb/s。是今天上午 9 点多开始的另一波攻击。从网站的访问记录中也看不到该 IP 的请求,所以出战流量应该是服务器回应请求造成的。该攻击没有影响服务器上网站的运行,但是消耗了大量的带宽资源。

现在终于了解到这些攻击的厉害了。尽管服务器可以禁止该 IP,却无法不对请求进行处理。可是我已经直接 DROP 掉该 IP 的一切请求了,为什么还会有出站流量呢?

现在看来服务器接连受到攻击,应该不是偶然因素。此前,该 VPS 从来没有受到过攻击。这真是很奇怪的事情,让我不禁联想到前几天发的批评国内虚拟主机服务的博客,不会是他们之中的某人报复而发动攻击的吧?©

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

16 条关于 “服务器遭到又一波攻击” 的评论

  1. 攻击无法完全避免…除非断绝外网链接…
    要是可以用ip禁止的方式完全避免,那也不用有大型的牺牲服务器了…
    不过可以在dns上实现约等于完全避免…黑洞…

    • 调整了一下 iptables 规则,现在出站流量降下来了,不过入站还是老样子。
      你说的黑洞的方法我不懂,暂时没时间。反正现在影响不大了,就让他一直攻击着吧。

  2. tcp 0 0 106.187.50.90:80 65.30.63.120:49686 SYN_RECV

    像这样的连接数,syn_recv,合计有多少条呢?既然能产生上行的流量,incoming的流量,我就觉得,不是一个IP弄它个30连接数就能实现的才是。

    我觉得,既然是80,你可以先把这个IP丢进apache的日志里面观察下,到底访问的是哪个东西。如果就是直接对IP进行的攻击。

    我个人觉得,可以禁止以IP的形式直接访问,直接返回500错误,然后导向一个日志文件,做禁用。 如果是根据首页的攻击,单个IP,同时就发送20到30个的链接概率不大吧。

    另外一点,我个人觉得,你把你的iptables写的过于复杂了,呵呵。

    • 每个 IP 3~9 个吧。攻击强度不大,所以网站基本没受影响,算是手下留情了吧。
      Apache 访问日志里没有记录,iptables 封掉 IP 仍会有输入流量。
      现在已经把 iptables 改简单了,除了访问网站,其它所有服务包括 ping 都被我 DROP 掉了。

      • 日志里面为空,说明,这只是发起建立连接,实际上连接还没到达apache。

        另外更加说明了,这个入站和出站所导致的是由其他的请求导致的。

        毕竟一个巴掌是拍不响的,至少我是这么认为。

          • 既然也是发送东西来填满session,貌似,限制单个IP的连接数,还是能初步解决这个问题。

            只要人家所使用的机器数量没有足够的多。

  3. 刚刚搜索了下,syn_recv是服务器对客户端的请求做的第一次反馈,这个过程,貌似不会产生大流量。貌似这种攻击,主要是为了占用内存资源和通道用的。

    强烈建议,先检查apache的日志。

  4. 我看到那个攻击方法,有一个脚本,要不要我用自己的那台给你模拟一回,呵呵。

    • 哈,好啊,我还准备自己弄个虚拟机试试看是不是一样呢。你给试个半小时的吧。

      • 有空上个QQ吧,那样交流方便点。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)