昨晚的攻击才刚停歇,今天上午九点多又开始遭受另一波攻击。判断应该属于 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 从来没有受到过攻击。这真是很奇怪的事情,让我不禁联想到前几天发的批评国内虚拟主机服务的博客,不会是他们之中的某人报复而发动攻击的吧?©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/another-attack-tody/>。转载请保留此信息及相应链接。
被攻击确实很蛋疼!
博主淡定
是啊。攻击我这种小站根本就没什么意义,除非是恶作剧或者发泄愤怒。
嘿嘿…大站搞不起…
只能欺负你了……
心理有问题…
别在意…
汗,这还真够安慰的。
我看到那个攻击方法,有一个脚本,要不要我用自己的那台给你模拟一回,呵呵。
哈,好啊,我还准备自己弄个虚拟机试试看是不是一样呢。你给试个半小时的吧。
有空上个QQ吧,那样交流方便点。
刚刚搜索了下,syn_recv是服务器对客户端的请求做的第一次反馈,这个过程,貌似不会产生大流量。貌似这种攻击,主要是为了占用内存资源和通道用的。
强烈建议,先检查apache的日志。
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 来解决问题。
攻击无法完全避免…除非断绝外网链接…
要是可以用ip禁止的方式完全避免,那也不用有大型的牺牲服务器了…
不过可以在dns上实现约等于完全避免…黑洞…
调整了一下 iptables 规则,现在出站流量降下来了,不过入站还是老样子。
你说的黑洞的方法我不懂,暂时没时间。反正现在影响不大了,就让他一直攻击着吧。