Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /hd2/.XDATA/home/f2blog/_www_/include/db.php on line 18 透通式防火牆設定 - 網路伺服器 - Damon 水果報報

透通式防火牆設定

前言:
很多時候,在不想變動原本的網路架構下,如果有需要將網路隔離開時,就需用到透通式的防火牆,所謂的透通式的防火牆它是個in-line mode的裝置,你可以把它想成是一個Bridge裝置,但確有可以過濾封包的功能,提醒一下既然是Bridge裝置,當然它就是屬於Layer 2那一層囉!


Environment:
以下是筆者所測試的環境:

Server ---------- Firewall ---------- Client
Server IP address: 192.168.1.100
Client IP address: 192.168.1.200
Firewall IP address: 192.168.1.1

Objective:
只允許Server可以透過網芳將檔案傳送到Client端(單向),Server與Client可互相透過icmp echo request確認彼此間的連線 (雙向) 。

Setup Procedure:

1.Bind兩張網卡成一個bridge interface:
Firewall至少要有兩張網卡,然後只要將它們bind起來,Firewall就可以成了一個Bridge裝置。首先要安裝bridge-utils與bridge-utils-devel這兩個套件,這兩個套件可以把eth0與eth1 bind成一個bridge裝置,正好符合我們以上的需求,筆者是用RHEL4.4架設的,非常方便的是這兩個套件在安裝光碟裡面就有。
# rpm –ivh bridge-utils-*

緊接著將eth0與eth1 bind成bri0 interface.

# ifconfig eth0 0.0.0.0
# ifconfig eth1 0.0.0.0
# brctl addbr bri0
# brctl addif bri0 eth0
# brctl addif bri0 eth1

執行brctl show確認一下:
# brctl show
bridge name bridge id STP enabled interfaces
bri0 8000.00034730c5b3 no eth0
eth1

好了問題來了,既然bri0 interface已經建置好了,那麼是否可以在上面設定IP呢?答案當然是可以的囉~不然怎麼remote control它呢? 至於設定的方法有兩種,一種是設定Static IP,另一種是透過DHCP Server get到IP,以下是設定的方法:
Static IP:
# ifconfig bri0 192.168.1.1 netmask 255.255.255.0 up
DHCP Client:
# dhclient bri0

以上的所有動作您可以把它寫成一個shell script file,並讓它在開機時自動執行,以RHEL的話是放在/etc/rc.local,順便一提SLES是/etc/init.d/boot.local

2. Allow IP forwarding

# vi /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
#sysctl –p

請測試一下,目前Server與Client的網路是相通的。

3. 設定Policy

重頭戲來了,如何設定Policy? 一般來說Linux firewall的設定是透過iptables,iptables預設分為3個table,5個chain,我要把rule設定在那個table及那個chain是一開始該有的認知。先提醒一個觀念,iptables比對的順序為mangle->nat->filter,這是什麼意思?事實上mangle,nat與filter就是預設的三個table,若前面的規則是allow,到了後面的table卻是deny的話,那就是deny! 反之若前面是deny而後面是allow的話,那就是allow! 這是套用於不同table時,規則相互抵觸時的法則,想一想有沒有可能在相同的chain中,設定相互抵觸的規則?當然是有可能的囉!這時是first match! 當hit到規則後,則不在進行比對,這點請特別注意!

可以確定的是,利用filter table就可以設定我們的policy,接下來考慮一下要設定在那個chain? INPUT OUTPUT FORWARD? 答案是 FORWARD,別忘了!它是個Bridge裝置,封包當然是透過eth0到eth1或是eth1到eth0囉!

為了最高安全指導原則,首先要把 FORWARD default policy設定為DROP,只放行SMB protocol與icmp echo request.

# iptables –P FORWARD DROP

測試一下 Server與Client目前應該是完全不通!

設定允許n個封包之後的連線:

# iptables –A FORWARD –m state –state RELATED,ESTABLISHED –j ACCEPT

設定允許icmp echo request:

# iptables –A FORWARD –s 192.168.1.0/24 –p icmp –icmp-type 8 –j ACCEPT

設定只有Server可以透過網芳將檔案傳送到Client:

# iptables –A FORWARD –s 192.168.1.100/32 –d 192.168.1.200/32 –p tcp –dport 139 –j ACCEPT

# iptables –A FORWARD –s 192.168.1.100/32 –d 192.168.1.200/32 –p tcp –dport 445 –j ACCEPT

這樣一來便可達到我們的需求!
歡迎轉載,不過請註明出處唷~ ^^

筆者簡介:
Lawrence Chiu – 已取得RHCE與NCLP認證,曾任職於D-Link testing engineer負責資安產品的測試,現任職於TrendMicro Anti-Spam Lab administrator。
標籤: Linux
評論: 0 | 引用: 0 | 閱讀: 4733 | 轉發
顯示Tag關聯文章
InfoBOX-2500 終身保固機種 (2009-10-15 09:39)
[ InfoBOX 伺服器使用密技] FTP 無法修改檔案權限怎麼辦? (2009-08-17 17:03)
[ InfoBOX 伺服器使用密技] 如何申請IP反解設定 (2009-08-17 11:47)
[ InfoBOX 伺服器使用密技] 如何安裝 phpBB 討論區 (2009-08-14 17:05)
[ InfoBOX 伺服器使用密技] ISP 說我的伺服器被當成跳板在亂發信 怎麼查 ? (2009-08-14 15:40)
[ InfoBOX 伺服器使用密技] 郵件伺服器 / 進階設定->防止帳號盜用機制 (2009-08-14 15:27)
[ InfoBOX 伺服器使用密技] InfoBOX 如何更新韌體? (2009-08-14 15:19)
[ InfoBOX 伺服器使用密技] 伺服器硬碟不夠用,Linux 如何換新的硬碟 (2009-08-14 14:19)
[ InfoBOX 伺服器使用密技] 伺服器故障的災難復原機制 (2009-08-14 11:41)
zimbra mail server 免費的多網域郵件伺服器 (2009-04-20 21:01)
OnlyYou人脈管理軟體應用技巧(2) 與圖片簽名檔的整合 (2009-02-11 17:22)
Damon免費網頁空間更換新主機囉! (2009-01-10 00:18)
虛擬主機 Apache 2.2.6+php5.2.3+MySQL5.0.23~自己來當戰國策 (2009-01-07 01:45)
ePowerBOX2009 上市~嵌入式Embedded Linux 網站、NAS、FTP、郵件伺服器 (2008-12-26 15:17)
[ InfoBOX 伺服器使用密技] 垃圾郵件剋星=灰名單排程功能 (2008-09-24 13:30)
Unix Like 的檔案與目錄權限說明 (2008-02-11 20:20)
rpm -qil postfix 找出套件的安裝位置 (2007-12-06 11:32)
EMOS 整理 (2007-08-31 16:33)
新增 yum 套件 4000多套 (2007-08-31 00:33)
/etc/passwd 檔超過1萬個 email 帳號無力~ (2007-08-30 00:24)
找RPM的網址 (2007-08-29 23:57)
硬碟空間 90% 發信通知 root (2007-08-29 23:53)
Linux 可讀寫 ntfs 的方式 (2007-08-29 23:51)
更換 ssh 服務程式的 Port (2007-08-10 23:45)
將寄到yahoo的信由hinet去轉寄設定 (2007-08-10 23:42)
postfix 文件 (2007-08-01 18:17)
SAMBA ACL (2007-07-30 14:22)
Embedded Linux資源好站 (2007-07-30 00:49)
ProFTP 教學 (2007-07-29 23:28)
DOM 的製作 FOR LINUX (2007-07-28 19:06)
postfix 對照表 (2007-07-16 01:25)
Rsync 控制頻寬 (2007-07-06 17:38)
AD 整合 samba 認證帳號功能 - 檢查要有 winbind (2007-07-05 11:11)
ROR on mongrel 取代 apache (2007-07-05 00:01)
CentOS5 自動安裝光碟製作 (2007-06-03 13:17)