老男孩从机房选用、硬件防护、系统优化、整体架构、日志分析、江湖求助分析的可谓面面俱到,这里面所提到的一些,很多时候会被大家所忽视,针对这些我来谈谈我的理解。
1、“知彼”:就像打仗一样,要想防范敌人,就必须对敌人有一番了解,防范DDOS攻击也一样,要了解DDOS的几种攻击类型、攻击原理、攻击特征及,抓包和分析日志那是必须的,,只有知道了这些信息,才能制定应对措施。
2、知已:“知彼”以后还要“知己”,要了解自己了的带宽、服务器、防火墙、架构的承受能力,再就是制定相应的应急预案,有什么情况下起用什么样的应对策略,让处理问题有序的进行,以保证业务正常对外提供服务为原则。
3、IDC机房的选用:这一点确实很关键,要寻找一些有实力、能提供更高级别防护、当面对攻击时能快速响应并配合做各种防护策略的IDC厂商合作,当然这种机房的价格也就相对会高些,这个根椐实际情况来考虑,成本和安全找到一个平衡点,不要为公司省钱,当出现问题时,公司可能就不会考虑你为公司省了多少,而是损失了多少。
4、架构设计:对于整体架构的设计要基于核心单点无单点(如果要求更高些,可以整体无单点)、多缓存的原则,保证高可用,跨ISP、跨机房多点分部式部署,不能在一颗树上吊死,大量的DDOS攻击导致整个机房跨掉的我是碰到过好几次,就像老男孩说的,实在抗不起我可以躲,再不行就玩躲猫猫的游戏。
5、系统优化:操作系统内核优化、程序层的代码优化、数据库层的结构优化、存储层的性能优化、业务层的业务逻辑优化、整体构架的节点优化 ... ... ,对于老男孩所说的“不要动不动就配置65535”很有感触,很多运维人员总觉得配置的最大连接数越大越好,其实不然,这个要根椐实际情况来设置,如果把连接数设的太大,一但攻击来了,还没等你去分析问题,服务器就已经挂了。
6、CDN:借助CDN来分担压力。
7、硬件防护:对于软件防护,我想一般在对操作系统内核做优化的时候这些都已经考虑进去了,对于硬件防护我们可以使用傲盾、黑洞等专业的防DDOS防火墙组建集群。
8、数据包及日志分析:对于那种四两拨千斤(SYN flood、CC)或者疑似DDOS的攻击,可以通过分析数据包、日志来按制定防护策略,如果说要报警,这些也可以为警方提供线索。
9、疑似DDOS攻击:如果文件被盗链、服务器中毒、前端缓存服务器设置不合理、程序BUG、交换机(路由器)故障等,要通过抓包分析、日志分析来定位问题。
10、第三方求助:对于大量的攻击可以请求上层的IDC或者ISP协助处理,对于一些无法准确判断的攻击方式可以请求行业内相熟的高手来协助处理,懂得求助往往事半功倍,还能快速的处理问题。
还是那句话,当面对问题了,一定要冷静的分析问题,分析 --- 分析 -- 再分析 -- 解决问题 ,还有就是要会利用变通的手法去解决问题。 |