close
實 驗 目 的
Transparent mode 透通式防火牆
便利性在於不變動現有環境下(例如: 調整NAT...等等先前必要解決問題先免了),
透明式做防火牆過濾動作(我們未必在此機器上放置IP(駭客不易發現此防火牆存在)
若使用者需要進行管理,亦可在此台防火牆增設管理用IP(基於安全考量,建議不要設IP)
透通式架構可辨識第二層架構(類似Layer 2 Switch運作,可辨識mac),由於Layer 2 層級無法辨識
Ethernet介面,我們此LAB將撰寫iptables 時須載入module "physdev" 方可進行介面辨識比對
本例實驗以Forward table 為主(不建議用本機 standalone應用)
實驗目標:
(1.) 部署透通式防火牆至Server 192.168.11.101,192.168.11.102 上遊 以進行Packet 過濾目的
(2.) 透通式防火牆管理IP: 192.168.11.225/24 ,內存在eth0(INBOUND 過濾標的) , eth1
建立br0 界面並將eth0,eth1 網路界面加入br0 界面,啟用STP 功能(為防止廣播風爆產生)
(3.) 最後我們在透通式防火牆撰寫 IPTABLE for 192.168.11.101,192.168.11.102 開放服務埠
網頁/FTP伺服器: 192.168.11.101 運行80,143,21 埠須對外開放存取
電子郵件伺服器: 192.168.11.102 運行 25,110 埠須對外開放存取
透通式防火牆不開放對外PING(icmp deny),但透通式F/W本身可以對外Ping(icmp accept)
只允許192.168.11.0/24 網段利用ssh port:22 進行遠端管理工作
實驗開始:
由於本實驗需要用到遠端管理_防火牆,我們配置該防火牆br0界面IP為192.168.11.225/24
然而我們會使用到封包轉送功能(Forward類型防火牆),我們必須啟用以下服務
vi /etc/sysctl.conf
Transparent mode 透通式防火牆
便利性在於不變動現有環境下(例如: 調整NAT...等等先前必要解決問題先免了),
透明式做防火牆過濾動作(我們未必在此機器上放置IP(駭客不易發現此防火牆存在)
若使用者需要進行管理,亦可在此台防火牆增設管理用IP(基於安全考量,建議不要設IP)
透通式架構可辨識第二層架構(類似Layer 2 Switch運作,可辨識mac),由於Layer 2 層級無法辨識
Ethernet介面,我們此LAB將撰寫iptables 時須載入module "physdev" 方可進行介面辨識比對
本例實驗以Forward table 為主(不建議用本機 standalone應用)
實驗目標:
(1.) 部署透通式防火牆至Server 192.168.11.101,192.168.11.102 上遊 以進行Packet 過濾目的
(2.) 透通式防火牆管理IP: 192.168.11.225/24 ,內存在eth0(INBOUND 過濾標的) , eth1
建立br0 界面並將eth0,eth1 網路界面加入br0 界面,啟用STP 功能(為防止廣播風爆產生)
(3.) 最後我們在透通式防火牆撰寫 IPTABLE for 192.168.11.101,192.168.11.102 開放服務埠
網頁/FTP伺服器: 192.168.11.101 運行80,143,21 埠須對外開放存取
電子郵件伺服器: 192.168.11.102 運行 25,110 埠須對外開放存取
透通式防火牆不開放對外PING(icmp deny),但透通式F/W本身可以對外Ping(icmp accept)
只允許192.168.11.0/24 網段利用ssh port:22 進行遠端管理工作
實驗開始:
由於本實驗需要用到遠端管理_防火牆,我們配置該防火牆br0界面IP為192.168.11.225/24
然而我們會使用到封包轉送功能(Forward類型防火牆),我們必須啟用以下服務
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 #將封包轉送功能設為 true
sysctl -p #立即生效 /etc/sysctl.conf 修改後設定
接者我們安裝" bridge-utls"管理工具(Layer 2),等會將使用此工具組態相關設定
接下來我們要修改eth0,eth1 兩張網卡初始化組態,很簡單請參考以下組態即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0
sysctl -p #立即生效 /etc/sysctl.conf 修改後設定
接者我們安裝" bridge-utls"管理工具(Layer 2),等會將使用此工具組態相關設定
接下來我們要修改eth0,eth1 兩張網卡初始化組態,很簡單請參考以下組態即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" #網卡eth1 組態也要依照此eth0內容做設定,在此不贅言
ONBOOT=yes
HWADDR=00:0C:29:C1:7F:41
BOOTPROTO=static
下一步,我們要開始手動建立br0界面(橋接界面),並將網卡eth0,eth1 加入br0 成員
下一步,我們要開始手動建立br0界面(橋接界面),並將網卡eth0,eth1 加入br0 成員
brctl addbr br0 #brctl addbr br0 新增一個bridge 界面br0
brctl addif br0 eth0 # brctl addif br0 eth0 將eth0 加入br0 成員
brctl addif br0 eth1 # brctl addif br0 eth0 將eth1 加入br0 成員
brctl stp br0 on # brctl stp br0 on stp協定啟用與L2環境設定相關,
為了防範廣播風爆產生機制
#我們使用brctl --help 搭配grep 指令查詢某個參數的使用方法
以下圖為例,我要查尋關鍵字addbr 即其意為新增一個bridge界面,相當方便
上述設定皆OK後我們可以使用brctl show 指令查看設定成果,如下
我們可以使用brctl delif/addif [br界面] [乙太界面] 進行bridge界面管理,參考下圖
但是這些設定,由於始我們手動組態,開機後設定會reset 清空,故建議撰寫簡易shell script
寫入/etc/rc.local 檔案使其開機後自動執行上述所說指令(稍後再說)
到目前為止,我們都是在本機測試(還是不能遠端連入防火牆管理),但eth0,eth1 兩端點設備
是可互通的(可互Ping,若您防火牆內容是清空狀態為前提)
請執行以下指令(Transparent mode 主機)
為了防範廣播風爆產生機制
#我們使用brctl --help 搭配grep 指令查詢某個參數的使用方法
以下圖為例,我要查尋關鍵字addbr 即其意為新增一個bridge界面,相當方便
上述設定皆OK後我們可以使用brctl show 指令查看設定成果,如下
我們可以使用brctl delif/addif [br界面] [乙太界面] 進行bridge界面管理,參考下圖
但是這些設定,由於始我們手動組態,開機後設定會reset 清空,故建議撰寫簡易shell script
寫入/etc/rc.local 檔案使其開機後自動執行上述所說指令(稍後再說)
到目前為止,我們都是在本機測試(還是不能遠端連入防火牆管理),但eth0,eth1 兩端點設備
是可互通的(可互Ping,若您防火牆內容是清空狀態為前提)
請執行以下指令(Transparent mode 主機)
ifconfig br0 192.168.11.225 netmask 255.255.255.0 up #為br0增設IP
ip route add default via 192.168.11.1 #撰寫default gw 指向主要gateway
上述指令執行OK後,我們可以找一台近端PC使用pietty 做遠端連線驗證測試(應OK)
總結上述設定,我把他總結寫成簡易shell script ,掛載/etc/rc.local 使其開機自動執行
chmod +x /usr/local/bin/trans.sh #增加執行權限x
echo '/usr/local/bin/trans.sh' >> /etc/rc.local #寫入/etc/rc.local
[ 撰寫適用於透通式防火牆之Rules ]
最前面提到bridge mode (Layer 2 )無法辨視 Ethernet(Layer3) 界面做比對,
所以我們本次撰寫rules 方式稍與平常寫的方式略差,差別在於我們需載入
-m physdev --physdev-in/--physdev-out
#通常我們過濾外部進來封包INBOUD使用 --physdev-in eth0
#本Lab中 eth0 為過濾封包界面 屬inboud ,故我的F/W RULES撰寫範例如下
Line 20 行指定一變數 phsym = "-m physdev --physdev-in eth0" ,
我們接下來Rule都需載入此模組,做乙太網路界面比對
Line 27~34: 行 開放透通式防火牆該主機本身,可對外PING(ICMP)
icmp type 0 ,3,4,11,12,14,16,18 需ACCEPT 後,透通F/W才可對外PING
Line 35 行: 拒絕icmp type 8 封包(也就是防止外來主機PING通透通式防火牆
Line 37 行: 只開放 192.168.11.0/24 網段,可以存取透通式防火牆22 Port 做遠端管理
Line 38 行: 開放80,443.21 Port 服務供外來者存取網頁,https,FTP 服務(.101 主機)
Line 39 行: 開放25,110,143 Port 服務供外來者存取 電子郵件寄發與IMAP服務(.102主機)
Line 40 行: 設定FORWARD table 之 Default Policy 為 REJECT
#最後我們可以把本LAB設定通通寫成一個shell script 開機後執行即可完成透通式F/W佈署
分享最後完成Script內容,Near版權所有
LAB實作時技術參考文獻:
Linux 網路安全技術與實現 第二版 陳勇勳(悅知)
上述指令執行OK後,我們可以找一台近端PC使用pietty 做遠端連線驗證測試(應OK)
總結上述設定,我把他總結寫成簡易shell script ,掛載/etc/rc.local 使其開機自動執行
chmod +x /usr/local/bin/trans.sh #增加執行權限x
echo '/usr/local/bin/trans.sh' >> /etc/rc.local #寫入/etc/rc.local
[ 撰寫適用於透通式防火牆之Rules ]
最前面提到bridge mode (Layer 2 )無法辨視 Ethernet(Layer3) 界面做比對,
所以我們本次撰寫rules 方式稍與平常寫的方式略差,差別在於我們需載入
-m physdev --physdev-in/--physdev-out
#通常我們過濾外部進來封包INBOUD使用 --physdev-in eth0
#本Lab中 eth0 為過濾封包界面 屬inboud ,故我的F/W RULES撰寫範例如下
Line 20 行指定一變數 phsym = "-m physdev --physdev-in eth0" ,
我們接下來Rule都需載入此模組,做乙太網路界面比對
Line 27~34: 行 開放透通式防火牆該主機本身,可對外PING(ICMP)
icmp type 0 ,3,4,11,12,14,16,18 需ACCEPT 後,透通F/W才可對外PING
Line 35 行: 拒絕icmp type 8 封包(也就是防止外來主機PING通透通式防火牆
Line 37 行: 只開放 192.168.11.0/24 網段,可以存取透通式防火牆22 Port 做遠端管理
Line 38 行: 開放80,443.21 Port 服務供外來者存取網頁,https,FTP 服務(.101 主機)
Line 39 行: 開放25,110,143 Port 服務供外來者存取 電子郵件寄發與IMAP服務(.102主機)
Line 40 行: 設定FORWARD table 之 Default Policy 為 REJECT
#最後我們可以把本LAB設定通通寫成一個shell script 開機後執行即可完成透通式F/W佈署
分享最後完成Script內容,Near版權所有
#!/bin/bash
# add in /etc/rc.local
iptables -F
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl stp br0 on
ifconfig br0 192.168.11.225 netmask 255.255.255.0 up
ip route add default via 192.168.11.1
############Transparent_Firewall Rules by Near##########
#Load Module:
phsy="-m physdev --physdev-in"
######################
iptables -A FORWARD $phsy eth0 -m state --state INVALID -j DROP
iptables -A FORWARD $phsy eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
######################ICMP RULES###############################
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 0 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 3 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 4 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 11 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 12 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 14 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 16 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 18 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p icmp --icmp-type 8 -j DROP
##################################################################
iptables -A FORWARD $phsy eth0 -p tcp -s 192.168.11.0/24 -d 192.168.11.225 --dport 22 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p tcp --syn -d 192.168.11.101 -m multiport --dports 80,443,21 -j ACCEPT
iptables -A FORWARD $phsy eth0 -p tcp --syn -d 192.168.11.102 -m multiport --dports 25,110,143 -j ACCEPT
iptables -A FORWARD $phsy eth0 -j REJECT
LAB實作時技術參考文獻:
Linux 網路安全技術與實現 第二版 陳勇勳(悅知)
全站熱搜
留言列表