我的网站有时会受到人们的攻击。 你可以在18:00看到这样的攻击,稍后在22:30看到更大的攻击。 基本上,服务器网卡被传入请求淹没。
我的机器是一个专用四核,12GB ddr3,4x SAS 15k RPM驱动器,采用CentOS5.6 64bit RAID10。
在这台服务器上,我运行Nginx作为我的networking服务器。 在攻击期间,我无法访问我的网站,因为整个networking似乎被淹没。 一旦停止,一切恢复正常,无需重启任何东西。
我已经加强了我的SYSCTL一点,请参阅设置在这里: http ://pastebin.com/eFfAcWkr我的IPTABLESconfiguration,其相当基本真的。 只需要端口80,443,21和我的SSH端口打开: http : //pastebin.com/MsHSka08
我的问题是:我还能做些什么来抵御这种攻击? 另外,有没有办法让我找出究竟是什么样的攻击?
绿线是input数据,蓝线是输出数据。

欢迎来到(分布式)拒绝服务或DDoS的奇妙世界。 简短的回答:与您的ISP交谈,并要求他们帮助您滤除DoS。 较长的答案:
由于听起来您的networking正在饱和,因此您的networking或系统无法抵御这些攻击 – 他们的目标是让您拥有如此多的stream量,您的下游带宽被垃圾堵塞。 要解决这个问题,你需要涉及你的ISP。 如果幸运的话,这些攻击是简单的DoS攻击,具有可识别的非欺骗性源地址。 您的ISP可以很容易地应用这些filter。 如果你运气不好,攻击者使用伪造的源地址和/或分布在一个僵尸networking中,这使得过滤更加困难(因为有很多来源)。 还有一些你的ISP可能做的事情,但是他们会变得更复杂一些。 要真正为自己辩护,您需要查看Arbor Networks,VeriSign等公司提供的DDoS缓解服务。不幸的是,这些服务往往非常昂贵。 另一个select可能是考虑部署到像Akamai(昂贵的一端)或Cloudflare(尽pipeCloudflare不是完整的CDN)的内容分发networking。
至于搞清楚是什么样的攻击,你可能会从交通本身得到线索。 运行tcpdump或等价物,看看你得到什么样的数据包。 它可以是从ICMP(例如,ping洪水)到UDP(例如,DNS放大攻击)到TCP(同步洪泛)的任何事情。 基于stream量,我敢打赌一个简单的无状态的洪水攻击(即,ICMP或UDP)。 这实际上是幸运的,因为更高层次的攻击,例如,僵尸networking将HTTP请求泛滥到80或443端口,这样的攻击要困难得多。
您可以添加一组规则来计算来自一个IP的input请求,然后在超过tresshold的情况下采取行动,将其ip放置几分钟