使用 CDN,一般都是出于加速和安全防护的目的,但是即使套了CDN,也有可能有恶意请求直接绕过CDN直接访问源站,导致CDN的相关防护措施失效。

那么如何使恶意请求无法绕过CDN直接访问源站呢?只需要在服务器上通过防火墙设置仅响应CDN节点的IP的请求即可。

下面是通过Firewalld防火墙限制只允许特定IP段访问80端口的代码:

firewall-cmd --permanent --new-ipset=cdn --type=hash:ip
firewall-cmd --permanent --ipset=cdn --add-entry=173.245.48.0/20
firewall-cmd --permanent --ipset=cdn --add-entry=103.21.244.0/22
firewall-cmd --permanent --ipset=cdn --add-entry=103.22.200.0/22
firewall-cmd --permanent --ipset=cdn --add-entry=103.31.4.0/22
firewall-cmd --permanent --ipset=cdn --add-entry=141.101.64.0/18
firewall-cmd --permanent --ipset=cdn --add-entry=108.162.192.0/18
firewall-cmd --permanent --ipset=cdn --add-entry=190.93.240.0/20
firewall-cmd --permanent --ipset=cdn --add-entry=188.114.96.0/20
firewall-cmd --permanent --ipset=cdn --add-entry=197.234.240.0/22
firewall-cmd --permanent --ipset=cdn --add-entry=198.41.128.0/17
firewall-cmd --permanent --ipset=cdn --add-entry=162.158.0.0/15
firewall-cmd --permanent --ipset=cdn --add-entry=104.16.0.0/12
firewall-cmd --permanent --ipset=cdn --add-entry=172.64.0.0/13
firewall-cmd --permanent --ipset=cdn --add-entry=131.0.72.0/22
firewall-cmd --permanent --add-rich-rule='rule source ipset=cdn port port=80  protocol=tcp  accept'
firewall-cmd --reload

查看所有允许的CDN的IP:

firewall-cmd --info-ipset=cdn


原文链接地址:http://blog.exsvc.cn/article/only-allow-cdnip-by-firewalld.html
转载请注明:转载自 易科博客 ,谢谢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注