第3章、包過濾防火牆配置舉例
3.1 建立包過濾防火牆
3.1.1網路結構
本節為一個的網路結構建立一個包過濾防火牆。
這個網路結構假設內部網有有效Internet地址。為了將內部網段198.168.80.0/24與Internet隔離,在內部網路和網際網路之間使用了包過濾防火牆。防火牆的網介面是eth1(198.168.80.254),防火牆的Internet介面是eth0 (198.199.37.254)。加外,內網中有3台伺服器對外提供服務。分別為:
→ WWW伺服器:IP地址為198.168.80.251
→ FTP伺服器:IP地址為198.168.80.252
→ E-mail伺服器:IP地址為198.168.80.253
3.1.2 防火牆的建立過程
本例主要是對內部的各種伺服器提供保護。下面採用編輯並執行可執行指令碼的方法建立此防火牆。具本過程如下:
#!/sbin/bash
#在螢幕上顯示資訊
echo "Starting iptables rules..."
#開啟核心轉寄功能
echo "1">;/proc/sys/net/ipv4/ip_forward
#定義變數
IPT=/sbin/iptables
WWW-SERVER=198.168.80.251
FTP-SERVER=198.168.80.252
EMAIL-SERVER=198.168.80.253
IP_RANGE="198.168.80.0/24"
#重新整理所有的鏈的規則
$IPT -F
#首先禁止轉寄任何包,然後再一步步設定允許通過的包
#所以首先設定防火牆FORWARD鏈的策略為DROP
$IPT -P FORWARD DROP
#下面設定關於伺服器的包過濾規則
#由於伺服器/客戶機互動是雙向的,所以不僅僅要設定資料包
#出去的規則,還要設定資料包返回的規則
#
#(1)WWW服務
#服務連接埠為80,採用tcp或udp協議
#規則為eth0=>;允許目的為內部網WWW伺服器的包
$IPT -A FORWARD -p tcp -d $WWW-SERVER-dport www -i eth0 -j ACCEPT
#
#(2)FTP服務
#服務連接埠為21,資料連接埠20
#FTP的傳輸模式有主動和被動之分,FTP服務採用tcp協議
#規則為:eth0=>;僅允許目的為內部網ftp伺服器的包
$IPT -A FORWARD -p tcp -d $FTP-SERVER -dport ftp -i eth0 -j ACCEPT
#
# (3)EMAIL服務
#包含兩個協議,一個是smtp,另一個是pop3
#出於安全性考慮,通常只提供對內的pop3服務
#所以在這裡我們只考慮對smtp的安全性問題
#smtp連接埠為25,採用tcp協議
#規則為etho=>;僅允許目的為E-mail伺服器的smtp請求