本文遵循“署名非商業性使用相同方式共享 2.5 中國大陸”協議
您可以自由複製、發行、展覽、表演、放映、廣播或通過信息網絡傳播本作品
您可以根據本作品演義自己的作品
您必須按照作者或者許可人指定的方式對作品進行署名。
您不得將本作品用於商業目的。
如果您改變、轉換本作品或者以本作品爲基礎進行創作,您只能採用與本協議相同的許
可協議發佈基於本作品的演繹作品。
對任何再使用或者發行,您都必須向他人清楚地展示本作品使用的許可協議條款。
如果得到著作權人的許可,您可以不受任何這些條件的限制。
asram
iptables很多時候大家會覺得不好使用,希望能有個容易操作的工具來配置策略。感謝Rf-x Networks,他們提供了2款基於shell的工具:APF(Advanced Policy Firewall)高級策略防火牆和BFD(Brute Force Detection)暴力窮舉偵測。2款工具都是小巧,可以在通過下面方法下載:
wget http://www.rfxn.com/downloads/apf-current.tar.gz
wget http://www.rfxn.com/downloads/bfd-current.tar.gz
他們的依賴關係是這樣的,iptables必須安裝,APF依賴於iptables,BFD依賴於APF。
一、APF 1.安裝
#tar –zxvf apf-current.tar.gz
#cd apf-9.7-1/
#./install.sh
2.配置
編輯/etc/apf/conf.apf,這裏0=disabled,1=enabled
首先我們修改一下默認的部分參數
/*禁用調試模式,不過這個是在你確定配置正確之後才修改的。在調試模式下APF會每5分鐘重新刷新配置,避免錯誤配置造成服務器無法提供服務。*/
DEVEL_MODE="1" > DEVEL_MODE="0"
/*開啓阻止地址響應,他允許防火牆跟蹤並阻止一些和重要策略衝突的地址*/
RAB="0" >RAB="1"
/*選擇RAB的端口掃描等級,0是禁止,1是低安全,2是中等安全,3是高等安全*/
RAB_PSCAN_LEVEL="2" > RAB_PSCAN_LEVEL="3"
/*禁止traceroute請求在定義的範圍內*/
TCR_PASS="1" > TCR_PASS="0"
/*啓用阻止列表,這裏的列表來自網絡上rfxn.com、www.spamhaus.org和feeds.dshield.org,主要包含了如垃圾郵件的黑名單,DShield公司手機的惡意活動名單*/
DLIST_PHP="0" > DLIST_PHP="1"
DLIST_SPAMHAUS="0" >DLIST_SPAMHAUS="1"
DLIST_DSHIELD="0" > DLIST_DSHIELD="1"
DLIST_RESERVED="0" > DLIST_RESERVED="1"
接下來就是針對我們的服務進行配置了
/*指定數據包進出的網卡*/
IFACE_IN="eth0"
IFACE_OUT="eth0"
/*指定相信的網段一般是DMZ和***等*/
IFACE_TRUSTED=""
/*允許被訪問的TCP和UDP的端口*/
IG_TCP_CPORTS="”
IG_UDP_CPORTS="”
/*允許出口數據包過濾,允許對外訪問的端口*/
EGF="1"
EG_TCP_CPORTS="”
EG_UDP_CPORTS="”
/*對於進出的ICMP協議過濾*/
IG_ICMP_TYPES=""
EG_ICMP_TYPES=""
3.命令和開啓啓動服務
apf -s # 啓動APF防火牆
apf -r # 重啓APF防火牆
apf -f # 刷新APF防火牆配置文件
apf -l # 列出APF的配置信息,與iptables -nL類似
apf -st # APF信息統計。主要包括白名單,黑名單信息。
apf -a IP地址/IP段(FQDN) "註釋" # 將IP/IP段添加到白名單
apf -d IP地址/IP段(FQDN) "註釋" # 將IP/IP段添加到黑名單
apf -u # 將IP/IP段從白/黑名單中刪除
開啓服務只要
#apf –s
允許開機運行服務
#chkconfig –level 35 apf on
APF日誌產生在/var/log/apf_log
4.主機訪問規則
在/etc/apf/有2個文件:allow_hosts.rules和deny_hists.rules,這2分文件用來配置允許或禁止遠程主機訪問本地某服務的。
# 在/etc/apf/allow_hosts.rules添加如下信息:
tcp:in:d=22:s=遠程主機地址、網段、域名
out:d=22:d=遠程主機地址、網段、域名
# 在/etc/apf/deny_hosts.rules添加如下信息:
tcp:in:d=22:s=遠程主機地址、網段、域名
out:d=22:d=遠程主機地址、網段、域名
具體例子可以看上述2個文檔。
5.查看產生的策略
可以通過iptables –L -nv,也可以通過apf命令來查看
#apf –l
通過ctrl+v和ctrl+y來進行上下頁面翻轉。
二、BFD 1.安裝
#tar –zxvf bfd-current.tar.gz
#cd bfd-1.4/
#./install.sh
2.配置
編輯/usr/local/bfd/conf.bfd
/*設置事件失敗次數,達到此數值後禁止引發此事件的IP地址*/
TRIG="5"
/*允許發送告警郵件,設置郵件地址,設置郵件主題*/
EMAIL_ALERTS="1"
EMAIL_ADDRESS=”[email protected]”
EMAIL_SUBJECT="Brute Force Warning for $HOSTNAME"
也可以設置信任列表
編輯/usr/local/bfd/igonre.hosts
每行一個IP
3.啓動服務
#bfd –s
在BFD安裝後他已經將一個cron任務添加到/etc/cron.d/bfd下,每3分鐘執行一次。
BFD日誌產生在/var/log/bfd_log。
4.查看被阻止的地址
#bfd –a
我這裏暫時還沒有被阻止的地址