Linux下Dupal如何防止酷似DDos攻击
发布时间:2022-06-15 23:43:52 所属栏目:教程 来源:互联网
导读:最近服务器上一个drupal站一个无效请求导致服务器cpu超高,特别消耗资源,刚好近期在研究iptable的ddos策略,就来尝试研究一下解决办法. 首先,看看iptable解决办法,对于要解决syn flood以及ddos等推荐用iptable,比较轻量级,也是iptable比较擅长的. 最终测试,
最近服务器上一个drupal站一个无效请求导致服务器cpu超高,特别消耗资源,刚好近期在研究iptable的ddos策略,就来尝试研究一下解决办法. 首先,看看iptable解决办法,对于要解决syn flood以及ddos等推荐用iptable,比较轻量级,也是iptable比较擅长的. 最终测试,下面的代码可以测试通过: #!/bin/bash IPT=/sbin/iptables # Max connection in seconds SECONDS=100 # Max connections per IP BLOCKCOUNT=10 # .... # .. # default action can be DROP or REJECT DACTION="REJECT" $IPT -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set $IPT -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds ${SECONDS} --hitcount ${BLOCKCOUNT} -j ${DACTION} //phpfensi.com # .... # .. 向服务器发送超过10次请求,就会出现connect closed的错误消息,表示成功,测试用浏览器即可,因为之后10次请求,多的话可以用ab -n xx -c xx. 其次,varnish的解决方案. varnish的优点是VCL功能强大,之前笔者用varnish做过防止robots抓取的操作,但是vcl如何防止ddos以及同一ip的限制,在网上看到一个解决方案,就是security.vcl,但是感觉vcl写得忒忒多,不知道是不是因为功能太复杂的原因. 具体查看这个VCL:https://github.com/ssm/security.vcl 最后,Nginx和Apache解决方案,Nginx和Apache是最终的web服务器,所以安全层面可以放到这里来做,关于并发访问的模块. Nginx有一个 ngx_http_limit_conn_module http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html Apache的模块,limitipconn http://dominia.org/djao/limitipconn2.html 如果机房自带ddos防御机制,所以一般没问题,因此drupal方面,可以使用fast404等模块,减少这种404多带来的cpu压力. 再顺便推荐一下drupal的一个安全模块,Security kit:https://www.drupal.org/project/seckit。 (编辑:昌吉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐