項目上使用到FreeSwitch放到阿里云上开泽,但是不可避免牡拇,被掃描盜打,運氣不好穆律,第一天放上去測試惠呼,就被打了2K+話費。
不管是阿里云众旗,騰訊云罢杉,華為云等等,他們的ACL規(guī)則都是比較弱的贡歧,有項目曾經(jīng)用過SBC來管制當然簡單多了滩租,不過也要一筆不小的費用,于是只有在系統(tǒng)防火墻上下手利朵。
首先律想,掃描的基本上都是國外的IP,我們先禁止他們的訪問绍弟,這里用到了iptables和ipset技即,本來我們的系統(tǒng)環(huán)境是CentOS7,沒有iptables的樟遣,因為7開始已經(jīng)改為firewalld了而叼。
iptables和ipset的配合使用先檢查安裝環(huán)境:
yum install ipset
yum install iptables-services
建表
ipset create china hash:net hashsize 1024 maxelem 65536
批量增加中國IP到ipset的china表
以下內(nèi)容保存成腳本執(zhí)行即可身笤,執(zhí)行需要更改權(quán)限
#!/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鏈根據(jù)需求加入相應的規(guī)則,以下是實例
#全部接受中國IP
iptables -A INPUT -m set --match-set china src -j ACCEPT
#接受中國IP訪問本機特定端口特定協(xié)議(例如5060UDP協(xié)議)葵陵,freeswitch一般要用這條液荸,直接具體到端口協(xié)議
iptables -A INPUT -m set --match-set china src -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -m set --match-set china src -p udp --dport 5060 -j ACCEPT
#接受中國IP的ping響應
iptables -A INPUT -m set --match-set china src -p icmp -j ACCEPT