waf
iptables工作在主机层面,对于进出的网络或者主机的数据报文,根据事先设定好的检查规则对其检查,并作出相应的处理。
iptables实现waf
iptables拦截ip
利用ipset进行批量IP拦截
问题思考
iptables封禁IP,是封禁的直连IP,也就是直接与服务器通信的IP。但是我们一般的网络架构是:CDN--SLB--Server或者CDN--Server,这个时候我们使用上面的方式就失效了,所以我们采用新的方式:根据XFF来封禁IP。
根据XFF+iptables封禁IP
备注:XFF很好伪造绕过。
踩坑记
XFF+iptables实现waf性能瓶颈
这种方式就不能使用ipset,所以如果是业务量很大的时候,不建议采用这种方式,因为一个IP一条规则,而iptables会针对INPUT每一个数据包进行解析判断。
我测试过一台2核16G的服务器,在规则数量达到2300+的时候,QPS稍微一大,服务器CPU容易飙到90%以上。
参考资料
最后更新于
这有帮助吗?