freeswitch被外国IP攻击盗打的防护措施
SIP攻擊很常見,特別是各大云服務器,基本上開了個公網IP綁定到實例機器就會被外國IP一遍懟。
防范也容易,就是把外國IP禁掉。
實現:iptables+ipset,只允許中國IP訪問本機,也就實現了封禁國外IP的效果。
優點:匹配迅速,免去iptables單鏈匹配。
具體操作如下:
?
#安裝ipset:
RedHat:yum install ipset
Debian:apt-get install ipset
#建表
ipset create china hash:net hashsize 10000 maxelem 1000000
#批量增加中國IP到ipset的china表
#以下內容保存成腳本執行即可
》》》》》》》》
#!/bin/bash
rm -f cn.zone
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
for i in `cat cn.zone`
do
? ? ipset add china $i?
done
《《《《《《《《
?
ipset list china #查看一下
#iptables的filter表INPUT鏈根據需求加入相應的規則,以下是實例
#全部接受中國IP
-A INPUT -m set --match-set china src -j ACCEPT
#接受中國IP訪問本機特定端口特定協議(例如5060UDP協議),freeswitch一般要用這條,直接具體到端口協議
-A INPUT -m set --match-set china src -p udp -m udp --dport 5060 -j ACCEPT
#接受中國IP的ping響應
-A INPUT -m set --match-set china src -p icmp -j ACCEPT
針對小白用戶,不太會用iptables,貼上簡易配置用法
把以下內容寫到 /etc/sysconfig/iptables 文件里
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m set --match-set china src -p udp -m udp --dport 5060 -j ACCEPT
-A INPUT -p udp -m udp --dport 16384:32768 -j ACCEPT
-A INPUT -s 172.16.0.0/24 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
里面的172.16.0.0/24是內網網段,根據實際填寫,切記要加上這句,不加就把自己都擋住了。
執行 service iptables restart?????即可開起來iptables
?service iptables status?????檢查下狀態?
PS:最好定期更新一下中國IP段,再加到ipset的china表就行,或者執行一下上面提到的那個腳本也行。
有疑問請留言。
————————————————
版權聲明:本文為CSDN博主「hanjiezz」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/HanJiezZ/article/details/88570425
總結
以上是生活随笔為你收集整理的freeswitch被外国IP攻击盗打的防护措施的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HBase常用Shell命令详解
- 下一篇: FW:word/ppt中使用LaTEX语