l7-filter 的語法與 iptables 類似, 在使用上差不多, 其格式大致如下: iptables -t mangle -I POSTROUTING -m layer7 --l7proto http -j DROP ─┬── ───┬──── ──┬── ───┬─── 使用 mangle 表格 │ 符合 Layer 7 的封包 │ 使用 POSTROUTING 鏈 Layer 7 封包的通訊協定 其中比較需要注意的只有 --l7proto 參數後面所使用的 Layer 7 封包通訊協定, 它就是我們所要阻擋的封包類型。至於如何知道該填哪些名稱, 可由我們所安裝的 l7-filter 樣式檔得知。請檢視 /etc/l7-protocols 目錄下的 file_types、 protocols、weakpatterns、extra 及 malware 子目錄下附檔名為 pat 的檔案, 它們就是 l7-filter 的樣式檔。裡面有簡單的說明, 告訴您這個樣式檔可以過濾哪些類型網路軟體的封包, 以及它的過濾規則。而 --l7proto 參數後面僅需填樣式檔的名稱即可 (不含附檔名)。 過濾常見的即時通訊軟體 常見的即時通訊軟體有 MSN Messenger、Yahoo Messenger 和 ICQ, 若要擋下這些軟體, 所需要用到的 l7-filter 樣式檔有 /etc/l7-protocols/protocols/ 目錄下的 msnmessenger.pat、yahoo.pat 與 aim.pat。其中因為 ICQ 已經賣給 AOL (American online), 所以亦叫 AIM (AOL instant messenger)。 知道要使用哪些 l7-filter 樣式檔之後, iptables 的寫法如下: # iptables -t mangle -I POSTROUTING -m layer7 --l7proto msnmessenger -j DROP ↑阻擋 MSN Messenger # iptables -t mangle -I POSTROUTING -m layer7 --l7proto yahoo -j DROP ↑阻擋 Yahoo Messenger # iptables -t mangle -I POSTROUTING -m layer7 --l7proto aim -j DROP ↑阻擋 ICQ 設定好後, 可如下檢視: # iptables -t mangle -L POSTROUTING ↑檢視 mangle 表格的 POSTROUTING 鏈 Chain POSTROUTING (policy ACCEPT) target prot opt source destination DROP all -- anywhere anywhere LAYER7 l7proto aim DROP all -- anywhere anywhere LAYER7 l7proto yahoo DROP all -- anywhere anywhere LAYER7 l7proto msnmessenger ↑阻擋常見的即時通訊軟體 此後,只要使用者開啟即時通訊軟體時, 就會發現無法連上網路: 過濾常見的 P2P 軟體 常見的 P2P 軟體有 eMule、eDonkey、Kazaa 與 Bittorrent...等, 要擋這些軟體需要用到的 l7-filter 樣式檔有 /etc/l7-protocols/protocols 目錄下的 bittorrent.pat 與 fasttrack.pat 和 /etc/l7-protocols/weakpatterns 目錄下的 edonkey.pat 檔。 其中 bittorrent.pat 可以阻擋所有使用 bittorrent 通訊協定的軟體, 如 ABC、Bitcomet ...等。fasttrack.pat 可以阻擋 kazaa。edonkey.pat 可以阻擋所有使用 eDonkey 通訊協定的軟體, 如 eDonkey 與 eMule... 等。 設定方式如下: # iptables -t mangle -I POSTROUTING -m layer7 --l7proto bittorrent -j DROP ←阻擋 bittorrent 通訊協定 # iptables -t mangle -I POSTROUTING -m layer7 --l7proto fasttrack -j DROP ←阻擋 kazaa # iptables -t mangle -I POSTROUTING -m layer7 --l7proto edonkey -j DROP ←阻擋 eDonkey 檢視 mangle 表格的 POSTROUTING 鏈: # iptables -t mangle -L POSTROUTING Chain POSTROUTING (policy ACCEPT) target prot opt source destination DROP all -- anywhere anywhere LAYER7 l7proto edonkey DROP all -- anywhere anywhere LAYER7 l7proto fasttrack DROP all -- anywhere anywhere LAYER7 l7proto bittorrent DROP all -- anywhere anywhere LAYER7 l7proto aim DROP all -- anywhere anywhere LAYER7 l7proto yahoo DROP all -- anywhere anywhere LAYER7 l7proto msnmessenger 這樣 P2P 軟體使用時會發生連線錯誤,日後也不能使用了。 l7-filter 還可以過濾很多的封包, 比方說可以限制傳輸 jpg 或 gif 格式的圖檔。當然還有其他更多的功能, 您可以自行閱讀 /etc/l7-protocols/ 目錄下的 l7-filter 樣式檔的說明以取得相關資訊 察看目前使用的模块 # lsmod 八、测试 uname -r 显示内核版本 iptables -V 显示iptables版本 ulimit -a 显示最大打开文件等参数 top 选择1 看多cpu支持情况 通过长篇文章的介绍,我们知道了Centos5下安装iptables以及layer7协议,希望对大家有所帮助! (责任编辑:IT) |