歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 防火牆 實作 Layer 7 封包過濾

Linux 防火牆 實作 Layer 7 封包過濾

日期:2017/2/28 16:12:03   编辑:Linux教程

要手動編譯新版本的核心 並介入 layer7 封包過濾選項的話,必要 俱備以下套件:

  • linux kernel source
  • iptables source
  • l7-filter patch
  • l7-filter protocols

在本文當中,所重新編譯的版本如下:

  • kernel:2.6.24.4
  • iptables:1.4.0
  • l7-filter patch:2.17
  • l7-filter protocols:2008-02-20

為了利便管理 ,把以上套件均放在 /usr/src/kernels。

可以選擇任何可下載網路檔案的器材,如 lynx、wget,或 mozilla、firefox 等等器材下載,在此范例應用 wget,行動 如下:

將套件解壓縮。

更新 kernel

為了安裝利便,我們為 linux-2.6.24.4 這個目錄建位一個軟連結,以便切換目錄。

更新 kernel patch,增進 layer7 filter 選項。

若您想延續應用舊版 kernel 的選項的話,您可以把 .config 檔案復制到新 kernel 的目錄下,此時重新選擇項目時就會延用之前的設定。

為 kernel source 上 layer7 的 patch。

選擇 layer 7 相關選項

在 kernel 選項裡,必要 把相關的設定選擇起來才可以,以下為完備 有關 layer 7 的項目。

較為重要 的是 "layer7" match support 項目與 IPv4 connection tracking support (required for NAT) 項目,若您不知道的話就請把 Core Netfilter Configuration 與 IP: Netfilter Configuration 裡的選項整個選起來即可。

編譯並安裝新版核心

重 kernel 2.6 開始,編譯核心 就變得更為簡單,只必要 幾個 make 的指令即可,安裝完後會自動批改 GRUB 的選項,不需手動批改,減少了手動批改錯誤的危險。

更新 iptables patch

  • iptables 1.4.0 (含) 之前版本

更新 iptables 需留意是否在現有的 kernel 中 netfilter 子系統相切合,若應用了不在 kernel 所聲援的模組,在設定 iptables 會出現錯誤。以下指令可新增 laery7 模組的指令。

設定 KERNEL_DIR 與 IPTABLES_DIR 環境變數,並開始編譯安裝。

  • iptables 1.4.1.1 (含) 之後版本

在 iptables 1.4.1.1 之後的 layer 7 模組已經不必要 應用 patch 行動來批改,只要把批改檔復制到 extensions 資料夾即可。

安裝通訊定議檔

應用 layer7 模組時,會參考 /etc/l7-protocols 目錄下的定議檔,各通訊協定的封包特徵會在 l7-protocols 的套件裡,解開之後直接安裝即可。

重新開機

重新編譯了核心 之後,必要 重新啟動電腦手法套用新的核心 套件,請應用 uname 指令查察 是否設定樂成 。

測試

MSN Messenger

以下測試會拒絕連出 MSN Menssenger 封包,在 iptables 的 OUTPUT 政策裡,我們在 X-Window 執行 GAIM 連出時,會發現 msnmessenger 的封包被 DROP。

語法:

iptables -A OUTPUT -m layer7 --l7proto msnmessenger -j DROP

BitTorrent

第二個測試拒絕連出 BitTorrent 封包,我們在設定好拒絕 bittorrent 封包後,在本機應用 BT 下載檔案均失敗,可從 iptables 指令查出。

語法:

iptables -A OUTPUT -m layer7 --l7proto bittorrent -j DROP

若您把 layer7 安裝在網路閘道 (Gateway) 上的話,那麼請應用 PREROUTING 或 FORWARD 連線才會有效 。iptables 可參考 ()

後記:

若您操持在您的防火牆上應用 layer7 封包過濾功能的話,那麼所需的記憶體與 CPU 會更多,若您的應用者連線數同一時間超過百人,並且頻繁的取存網路的話,那麼也許必要 考慮應用較高效能的網路卡與更多的記憶體。若您在啟用 layer7 功能後發現網路變得很慢的話,那麼就必要 檢查您的網卡與記憶體是否足夠。

Copyright © Linux教程網 All Rights Reserved