亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

iptables防火墻配置工具ShoreWall進階實用介紹
2007-08-31   

在上一篇中,我們介紹了如何安裝和使用ShoreWall工具來進行防火墻配置,在本篇文章中,將給大家介紹它的一些高級組件的使用實例。
一、進階組件介紹
1、params
這是用來設定shell變量的一個檔案,這個檔案有點像是C語言中的include功能一樣,把include進來的檔案的變量放到現在這個檔案中,只是在shorewall的設定檔中,并不需要再使用include來引入,params這個檔案的目的在于將所有相關的變量都統一設定在里面,當您的規則全都設定好了之后,只要變更params的內容就可以套用在別的網絡狀態,管理起來非常的方便,以下就是一個例子:

在/etc/shorewall/params中的設定:
NET_IF=eth0 NET_BCAST=130.252.100.255
NET_OPTIONS=blacklist,norfc1918
在/etc/shorewall/interfaces中的設定:
net$NET_IF$NET_BCAST$NET_OPTIONS

這樣子的話,其它的規則就都可以使用變量的方式來寫,所以說規則只要寫一次,就可以重復的使用啰!
2、rules
這個檔案是整個shorewall的重點檔案,policy檔案的目的在于制定整個防火墻政策,比方說loc這個接口對dmz這個接口的政策是REJECT或是ACCEPT等,通常由防火墻外至內部網絡的政策都是全部先設定為關閉的。而rules這個檔案則是在制定一些的狀況,比方說,您的防火墻將所有的port都給關閉了,以至于從外不能由ssh連結進來,那么這個時候就可以在rules這個檔案中來定義,它的格式如下所示:
#ACTIONSOURCEDESTPROTODESTSOURCEORIGINAL
#PORTPORT(S)DEST
DNAT fw loc:192.168.1.3 tcp ssh,http

以上的設定是指轉送所有fw防火墻接口的ssh及http的請求至loc的界面,而IP為192.168.1.3的機器上。
在這個檔案中有幾個較常用到的字段,分別說明如下,其它較少用的字段在此筆者就不多加說明了:
◆字段名稱設定項目說明
ACTIONACCEPT允許這個聯機的要求。
ACCEPT+和ACCETP一樣,但是會排除之后有關REDIRECT-及DNAT-的規則。
DROP:忽略這個聯機的請求。
REJECT:不接受這聯機的請求,并回復一個icmp-unreachable或是RST的封包給對方。
DNAT:轉送這個封包至另一個系統(或是其它的port號)。
DNAT-:只有進階的使用才會用到,這和DNAT的規則一樣,但是只產生DNAT的iptables的規則而且也不是ACCEPT成對的規則。
REDIRECT:重導這個聯機的請求到local的另一個埠號中。
REDIRECT-:只有進階的使用才會用到,這和REDIRECT的規則一樣,但是只產生REDIRECT的iptables的規則而且也不是ACCEPT成對的規則。
CONTINUE:專家模式專用,對于這里所定義的來源及目的端的請求就會被pass通過。
LOG:簡單的記錄封包信息
QUEUE:將這個封包佇放在使用者的應用程序中。
<action>;定義在/etc/shorewall/actions或是/usr/share/shorewall/actions.std中的動作。
SOURCE:來源地址,格式可設定以下幾種樣式:loc、net(在zones檔案中所定義的接口)192.168.1.1(IP格式)192.168.1.0/24(子網絡格式)loc:192.168.1.1loc:192.168.1.0/24loc:192.168.1.1,192.168.1.2loc:~00-A0-C9-15-39-78(MACAddress)
DEST:目的地址,設定的方式和SOURCE一樣,但是如果SOURCE設定為all時,則有以下的限制:并不允許使用MACAddress在DNAT的規則中只允許使用IPAddress不可同時使用interface及IP
PROTO:必需是tcp、udp、icmp或是all,或者是數字。
DESTPORT(S):目的端的端口號,可用數字或名稱,在設定這個字段時,可以用逗號(,)來建立多個端口號清單,也可以用一整個范圍的埠號(1024:2048->;意思是從1024到2048之中所有的端口號)來建立清單。
CLIENTPORT(S):客戶端的埠號,這個字段可以忽略掉。
3、nat
這個檔案主要是用來定義one-to-one型式的NAT,所謂的"one-to-one"是代表說一個真實IP將所有的服務都轉向內部的一個虛擬IP,所以通常是一個真實的IP就指向一個虛擬的IP,這通常是用在當這臺NAT主機是只有跑防火墻服務,然后所有提供外部服務的主機都是藏在內部虛擬IP的狀況下,在一般的情況下比較少用到這個檔案,如果想要使用forward或是DNAT的功能的話,就不能使用這個檔案來設定,必需去設定rules這個檔案才行,有關于nat的設定內容如下所示:
#EXTERNALINTERFACEINTERNALALLLOCAL
#INTERFACES
x.x.x.x eth0192.168.1.23

EXTERNAL設定此臺服務器所要對外的。
INTERFACE設定此臺服務器的對外網絡網卡接口名稱。
INTERNAL設定想將此真實IP轉向內部的虛擬IP地址。
ALLINTERFACES如果不想同時套用到其它的網絡接口時,請在此設定為no,如果為空白的話,就只會套用到這個界面。
LOCAL如果這個選項設定為Yes或yes,還有ALLINTERFACES也被設定為Yes或yes的話,那么由EXTERNAL傳送至INTERNAL的封包就會被限制在內部,要開啟這個功能的話,核心版本必需要在2.4.19以上,并且要確認開啟CONFIG_IP_NF_NAT_LOCAL的功能,
4、masq
這個檔案是用來架設一般所謂的NAT服務器,masq設定的內容如下所示:
#INTERFACESUBNETADDRESSPROTOPORT(S)IPSEC
eth0 eth1 206.124.146.176
#LASTLINE--ADDYOURENTRIESABOVETHISLINE--DONOTREMOVE

INTERFACE設定負責對外部網絡的接口名稱。
SUBNET設定負責對內部網絡的接口名稱。
ADDRESS設定負責對外部網絡的IP地址,這個選項可以不設定。
PROTO在此您可以設定的內容為/etc/protocols的服務內容。
PORT(S)如果在PROTO的部份設定為TCP或是UDP的話,那么在這個選項中就可以設定端口號,或者是服務名稱了。
IPSEC設定是否要對這個網絡接口的聯機進行加密,如果是空白,就是不需要,如果是yes的話,就會進行加密。
范例:
eth0 eth1 206.124.146.177 tcps mtp
eth0 eth1 206.124.146.176

以上的設定內容是代表所有由eth1的tcp協議的smtp封包,都會把IP的標頭設定為206.124.146.177,然后由eth0送出去,然后其余的封包都是將封包的標頭設定為206.124.146.176,然后由eth0送出去。
5、modules
這個檔案會將所有Iptables所需要的模塊都加載進去,預設的內容如下所示:
loadmoduleip_tables
loadmoduleiptable_filter
loadmoduleip_conntrack
loadmoduleip_conntrack_ftp
loadmoduleip_conntrack_tftp
loadmoduleip_conntrack_irc
loadmoduleiptable_nat
loadmoduleip_nat_ftp
loadmoduleip_nat_tftp
loadmoduleip_nat_irc

如果您有其它的模塊的話,只要加入modules這個檔案即可。
6、blacklist
這個檔案是設定聯機的黑名單,您可以在這個檔案中限制某些網絡地址的聯機動作
ADDRESS/SUBNET PROTOCOL PORT  ADDRESS/SUBNET設定所要限制的網絡地址,或是子網絡及MAC Address,格式分別為下列三種:網絡地址:192.168.1.10 子網絡:192.168.1.0/24 MACAddress:~00-A0-C9-15-39-78
PROTOCOL可以設定的內容為/etc/protocols的服務內容,這個字段可以選擇不設定。
PORT如果在PROTOCOL的部份設定為TCP或是UDP的話,那么在這個選項中就可以設定端口號,或者是服務名稱了,這個字段可以選擇不設定。
范例:
192.0.2.126 udp 53

上面這行所表示的是封鎖由IP192.0.2.126所請求的DNS查詢服務。
二、進階應用介紹
1、開放服務
前面的政策就是將所有由外而內的服務都給封鎖掉了,所以現在要一個一個的打開,在此開放HTTP、SMTP、POP3、SSH、DNS、還有一個port10000的Webmin的服務,那么在rules的設定就會如下所示:
ACTION SOURCE DEST PROTO DEST PORT
ACCEPT net fw tcp http
ACCEPT loc fw tcp http

ACCEPT net fw tcp smtp
ACCEPT loc fw tcp smtp

ACCEPTnetfwtcppop3
ACCEPClocfwtcppop3

ACCEPT net fw tcp ssh
ACCEPT loc fw tcp ssh

ACCEPT net fw tcp dns
ACCEPT loc fw tcp dns
ACCEPT net fw udp dns
ACCEPT loc fw udp dns

ACCEPT net fw tcp10000
ACCEPT loc fw tcp10000

以上所有的服務因為都是在這臺防火墻中,所以DEST的字段都是設定為fw這個接口,另外因為分別有對內及對外的接口,所以每一個服務都會設定兩次,不過也有另外一種設定的方式,如下所示:
2、實例:阻擋MSN
MSN是1863,而MSN連結的網站地址則是為gateway.messenger.hotmail.com。
先擋掉gateway.messenger.hotmail.com的所有tcp連結,在rules的檔案中加入以下的記錄:
DROPlocnet:gateway.messenger.hotmail.comtcp-

接著再擋掉連結到任何地址的1863端口,
DROP local tcp1863

這樣子就可以擋掉大部份msn連結的服務了。


熱詞搜索:

上一篇:iptables防火墻配置工具ShoreWall的安裝和使用實例
下一篇:安全措施大升級 補丁管理走向自動化

分享到: 收藏