昨晚的攻击才刚停歇,今天上午九点多又开始遭受另一波攻击。判断应该属于 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、消耗大量上下行带宽。
上图中间部分是昨天晚上受到攻击的时候,入站流量很大,出站流量很小。该攻击影响了网站的访问,但是封掉该 IP 之后网站恢复正常。而流量依旧。
右边的部分,入站速度约 180kb/s,出站速度约 220kb/s。是今天上午 9 点多开始的另一波攻击。从网站的访问记录中也看不到该 IP 的请求,所以出战流量应该是服务器回应请求造成的。该攻击没有影响服务器上网站的运行,但是消耗了大量的带宽资源。
现在终于了解到这些攻击的厉害了。尽管服务器可以禁止该 IP,却无法不对请求进行处理。可是我已经直接 DROP 掉该 IP 的一切请求了,为什么还会有出站流量呢?
现在看来服务器接连受到攻击,应该不是偶然因素。此前,该 VPS 从来没有受到过攻击。这真是很奇怪的事情,让我不禁联想到前几天发的批评国内虚拟主机服务的博客,不会是他们之中的某人报复而发动攻击的吧?©
本文发表于水景一页。永久链接:<http://cnzhx.net/blog/another-attack-tody/>。转载请保留此信息及相应链接。
攻击无法完全避免…除非断绝外网链接…
要是可以用ip禁止的方式完全避免,那也不用有大型的牺牲服务器了…
不过可以在dns上实现约等于完全避免…黑洞…
调整了一下 iptables 规则,现在出站流量降下来了,不过入站还是老样子。
你说的黑洞的方法我不懂,暂时没时间。反正现在影响不大了,就让他一直攻击着吧。
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。
另外更加说明了,这个入站和出站所导致的是由其他的请求导致的。
毕竟一个巴掌是拍不响的,至少我是这么认为。
据说可能是 Slowloris 攻击。我还没完成测试,不能确认。
P.S. 今天凌晨的时候攻击停止了。
既然也是发送东西来填满session,貌似,限制单个IP的连接数,还是能初步解决这个问题。
只要人家所使用的机器数量没有足够的多。
嗯,机器数量少,所以我都是封 IP 来解决问题。
刚刚搜索了下,syn_recv是服务器对客户端的请求做的第一次反馈,这个过程,貌似不会产生大流量。貌似这种攻击,主要是为了占用内存资源和通道用的。
强烈建议,先检查apache的日志。
我看到那个攻击方法,有一个脚本,要不要我用自己的那台给你模拟一回,呵呵。
哈,好啊,我还准备自己弄个虚拟机试试看是不是一样呢。你给试个半小时的吧。
有空上个QQ吧,那样交流方便点。
被攻击确实很蛋疼!
博主淡定
是啊。攻击我这种小站根本就没什么意义,除非是恶作剧或者发泄愤怒。
嘿嘿…大站搞不起…
只能欺负你了……
心理有问题…
别在意…
汗,这还真够安慰的。