CiscoPIX防火牆配置指南

餘二五發表於2017-11-16
總結了防火牆基本配置十個方面的內容。 

硬體防火牆,是網路間的牆,防止非法侵入,過濾資訊等,從結構上講,簡單地說是一種pc式的電腦主機加上快閃記憶體(flash)和防火牆作業系統。它的硬體跟共控機差不多,都是屬於能適合24小時工作的,外觀造型也是相類似。快閃記憶體基本上跟路由器一樣,都是那中eeprom,作業系統跟cisco ios相似,都是命令列(command)式。 

防火牆是cisco firewall pix 515e,是一種機架式標準(即能安裝在標準的機櫃裡),有1u的高度,正面看跟cisco 路由器一樣,只有一些指示燈,從背板看,有三個以太口(rj-45網路卡),一個配置口(console),2個usb,一個15針的failover口,還有pci擴充套件口。 

如何開始cisco firewall pix呢?應該是跟cisco 路由器使用差不多吧,於是用配置線從電腦的com2連到pix 515e的console口,進入pix作業系統採用windows系統裡的“超級終端”,通訊引數設定為默然。初始使用有一個初始化過程,主要設定:date(日期)、time(時間)、hostname(主機名稱)、inside ip address(內部網路卡ip地址)、domain(主域)等,如果以上設定正確,就能儲存以上設定,也就建立了一個初始化設定了。 

進入pix 515e採用超級使用者(enable),默然密碼為空,修改密碼用passwd 命令。一般情況下firewall配置 

下面講一下一般用到的最基本配置 

1、 建立使用者和修改密碼 

跟cisco ios路由器基本一樣。 

2、 啟用以太埠 

必須用enable進入,然後進入configure模式 

pix515e>enable 

password: 

pix515e#config t 

pix515e(config)#interface ethernet0 auto 

pix515e(config)#interface ethernet1 auto 

在默然情況下ethernet0是屬外部網路卡outside, ethernet1是屬內部網路卡inside, inside在初始化配置成功的情況下已經被啟用生效了,但是outside必須命令配置啟用。 

3、 命名埠與安全級別 

採用命令nameif 

pix515e(config)#nameif ethernet0 outside security0 

pix515e(config)#nameif ethernet0 outside security100 

security0是外部埠outside的安全級別(0安全級別最高) 

security100是內部埠inside的安全級別,如果中間還有以太口,則security10,security20等等命名,多個網路卡組成多個網路,一般情況下增加一個以太口作為dmz(demilitarized zones非武裝區域)。 

4、 配置以太埠ip 地址 

採用命令為:ip address 

如:內部網路為:192.168.1.0 255.255.255.0 

外部網路為:222.20.16.0 255.255.255.0 

pix515e(config)#ip address inside 192.168.1.1 255.255.255.0 

pix515e(config)#ip address outside 222.20.16.1 255.255.255.0 

5、 配置遠端訪問[telnet] 

在默然情況下,pix的以太埠是不允許telnet的,這一點與路由器有區別。inside埠可以做telnet就能用了,但outside埠還跟一些安全配置有關。 

pix515e(config)#telnet 192.168.1.1 255.255.255.0 inside 

pix515e(config)#telnet 222.20.16.1 255.255.255.0 outside 

測試telnet 

在[開始]->[執行] 

telnet 192.168.1.1 

pix passwd: 

輸入密碼:cisco 

6、 訪問列表(access-list) 

此功能與cisco ios基本上是相似的,也是firewall的主要部分,有permit和deny兩個功能,網路協議一般有ip|tcp|udp|icmp等等,如:只允許訪問主機:222.20.16.254的www,埠為:80 

pix515e(config)#access-list 100 permit ip any host 222.20.16.254 eq www 

pix515e(config)#access-list 100 deny ip any any 

pix515e(config)#access-group 100 in interface outside 

7、 地址轉換(nat)和埠轉換(pat) 

nat跟路由器基本是一樣的, 

首先必須定義ip pool,提供給內部ip地址轉換的地址段,接著定義內部網段。 

pix515e(config)#global (outside) 1 222.20.16.100-222.20.16.200 netmask 255.255.255.0 

pix515e(config)#nat (outside) 1 192.168.0.0 255.255.255.0 

如果是內部全部地址都可以轉換出去則: 

pix515e(config)#nat (outside) 1 0.0.0.0 0.0.0.0 

則某些情況下,外部地址是很有限的,有些主機必須單獨佔用一個ip地址,必須解決的是公用一個外部ip(222.20.16.201),則必須多配置一條命令,這種稱為(pat),這樣就能解決更多使用者同時共享一個ip,有點像代理伺服器一樣的功能。配置如下: 

pix515e(config)#global (outside) 1 222.20.16.100-222.20.16.200 netmask 255.255.255.0 

pix515e(config)#global (outside) 1 222.20.16.201 netmask 255.255.255.0 

pix515e(config)#nat (outside) 1 0.0.0.0 0.0.0.0 

8、 dhcp server 

在內部網路,為了維護的集中管理和充分利用有限ip地址,都會啟用動態主機分配ip地址伺服器(dhcp server),cisco firewall pix都具有這種功能,下面簡單配置dhcp server,地址段為192.168.1.100—192.168.168.1.200 

dns: 主202.96.128.68 備202.96.144.47 

主域名稱:abc.com.cn 

dhcp client 通過pix firewall 

pix515e(config)#ip address dhcp 

dhcp server配置 

pix515e(config)#dhcpd address 192.168.1.100-192.168.1.200 inside 

pix515e(config)#dhcp dns 202.96.128.68 202.96.144.47 

pix515e(config)#dhcp domain abc.com.cn 

9、 靜態埠重定向(port redirection with statics) 

在pix 版本6.0以上,增加了埠重定向的功能,允許外部使用者通過一個特殊的ip地址/埠通過firewall pix 傳輸到內部指定的內部伺服器。這種功能也就是可以釋出內部www、ftp、mail等伺服器了,這種方式並不是直接連線,而是通過埠重定向,使得內部伺服器很安全。 

命令格式: 

static [(internal_if_name,external_if_name)]{global_ip|interface} local_ip 

[netmask mask][max_cons[max_cons[emb_limit[norandomseq]]] 

static [(internal_if_name,external_if_name)]{tcp|udp}{global_ip|interface} local_ip 

[netmask mask][max_cons[max_cons[emb_limit[norandomseq]]] 

!—-外部使用者直接訪問地址222.20.16.99 telnet埠,通過pix重定向到內部主機192.168.1.99的telnet埠(23)。 

pix515e(config)#static (inside,outside) tcp 222.20.16.99 telnet 192.168.1.99 telnet netmask 255.255.255.255 0 0 

!—-外部使用者直接訪問地址222.20.16.99 ftp,通過pix重定向到內部192.168.1.3的ftp server。 

pix515e(config)#static (inside,outside) tcp 222.20.16.99 ftp 192.168.1.3 ftp netmask 255.255.255.255 0 0 

!—-外部使用者直接訪問地址222.20.16.208 www(即80埠),通過pix重定向到內部192.168.123的主機的www(即80埠)。 

pix515e(config)#static (inside,outside) tcp 222.20.16.208 www 192.168.1.2 www netmask 255.255.255.255 0 0 

!—-外部使用者直接訪問地址222.20.16.201 http(8080埠),通過pix重定向到內部192.168.1.4的主機的www(即80埠)。 

pix515e(config)#static (inside,outside) tcp 222.20.16.208 8080 192.168.1.4 www netmask 255.255.255.255 0 0 

!—-外部使用者直接訪問地址222.20.16.5 smtp(25埠),通過pix重定向到內部192.168.1.5的郵件主機的smtp(即25埠) 

pix515e(config)#static (inside,outside) tcp 222.20.16.208 smtp 192.168.1.4 smtp netmask 255.255.255.255 0 0 

10、顯示與儲存結果 

採用命令show config 

儲存採用write memory
配置Cisco PIX防火牆 

——————————————————————————–


    任何企業安全策略的一個主要部分都是實現和維護防火牆,因此防火牆在網路安全的實現當中扮演著重要的角色。防火牆通常位於企業網路的邊緣,這使得內部網路與Internet之間或者與其他外部網路互相隔離,並限制網路互訪從而保護企業內部網路。設定防火牆目的都是為了在內部網與外部網之間設立唯一的通道,簡化網路的安全管理。 

在眾多的企業級主流防火牆中,Cisco PIX防火牆是所有同類產品效能最好的一種。Cisco PIX系列防火牆目前有5種型號PIX506,515,520,525,535。其中PIX535是PIX 500系列中最新,功能也是最強大的一款。它可以提供運營商級別的處理能力,適用於大型的ISP等服務提供商。但是PIX特有的OS作業系統,使得大多數管理是通過命令列來實現的,不象其他同類的防火牆通過Web管理介面來進行網路管理,這樣會給初學者帶來不便。本文將通過例項介紹如何配置Cisco PIX防火牆。
    在配置PIX防火牆之前,先來介紹一下防火牆的物理特性。防火牆通常具有至少3個介面,但許多早期的防火牆只具有2個介面;當使用具有3個介面的防火牆時,就至少產生了3個網路,描述如下: 

? 內部區域(內網)。 內部區域通常就是指企業內部網路或者是企業內部網路的一部分。它是互連網路的信任區域,即受到了防火牆的保護。 

? 外部區域(外網)。 外部區域通常指Internet或者非企業內部網路。它是互連網路中不被信任的區域,當外部區域想要訪問內部區域的主機和服務,通過防火牆,就可以實現有限制的訪問。 

? 停火區(DMZ)。 停火區是一個隔離的網路,或幾個網路。位於停火區中的主機或伺服器被稱為堡壘主機。一般在停火區內可以放置Web伺服器,Mail伺服器等。停火區對於外部使用者通常是可以訪問的,這種方式讓外部使用者可以訪問企業的公開資訊,但卻不允許他們訪問企業內部網路。注意:2個介面的防火牆是沒有停火區的。
由於PIX535在企業級別不具有普遍性,因此下面主要說明PIX525在企業網路中的應用。
PIX防火牆提供4種管理訪問模式: 

2 非特權模式。 PIX防火牆開機自檢後,就是處於這種模式。系統顯示為pixfirewall> 

2 特權模式。 輸入enable進入特權模式,可以改變當前配置。顯示為pixfirewall# 

2 配置模式。 輸入configure terminal進入此模式,絕大部分的系統配置都在這裡進行。顯示為pixfirewall(config)# 

2 監視模式。 PIX防火牆在開機或重啟過程中,按住Escape鍵或傳送一個“Break”字元,進入監視模式。這裡可以更新作業系統映象和口令恢復。顯示為monitor>
配置PIX防火牆有6個基本命令:nameif,interface,ip address,nat,global,route. 

這些命令在配置PIX是必須的。以下是配置的基本步驟: 

1. 配置防火牆介面的名字,並指定安全級別(nameif)。 

Pix525(config)#nameif ethernet0 outside security0 

Pix525(config)#nameif ethernet1 inside security100 

Pix525(config)#nameif dmz security50 

提示:在預設配置中,乙太網0被命名為外部介面(outside),安全級別是0;乙太網1被命名為內部介面(inside),安全級別是100.安全級別取值範圍為1~99,數字越大安全級別越高。若新增新的介面,語句可以這樣寫: 

Pix525(config)#nameif pix/intf3 security40 (安全級別任取)
2. 配置以太口引數(interface) 

Pix525(config)#interface ethernet0 auto(auto選項表明系統自適應網路卡型別 ) 

Pix525(config)#interface ethernet1 100full(100full選項表示100Mbit/s乙太網全雙工通訊 ) 

Pix525(config)#interface ethernet1 100full shutdown (shutdown選項表示關閉這個介面,若啟用介面去掉shutdown )
3. 配置內外網路卡的IP地址(ip address) 

Pix525(config)#ip address outside 61.144.51.42 255.255.255.248 

Pix525(config)#ip address inside 192.168.0.1 255.255.255.0 

很明顯,Pix525防火牆在外網的ip地址是61.144.51.42,內網ip地址是192.168.0.1
4. 指定要進行轉換的內部地址(nat) 

網路地址翻譯(nat)作用是將內網的私有ip轉換為外網的公有ip.Nat命令總是與global命令一起使用,這是因為nat命令可以指定一臺主機或一段範圍的主機訪問外網,訪問外網時需要利用global所指定的地址池進行對外訪問。nat命令配置語法:nat (if_name) nat_id local_ip [netmark] 

其中(if_name)表示內網介面名字,例如inside. Nat_id用來標識全域性地址池,使它與其相應的global命令相匹配,local_ip表示內網被分配的ip地址。例如0.0.0.0表示內網所有主機可以對外訪問。[netmark]表示內網ip地址的子網掩碼。 

例1.Pix525(config)#nat (inside) 1 0 0 

表示啟用nat,內網的所有主機都可以訪問外網,用0可以代表0.0.0.0 

例2.Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0 

表示只有172.16.5.0這個網段內的主機可以訪問外網。
5. 指定外部地址範圍(global) 

global命令把內網的ip地址翻譯成外網的ip地址或一段地址範圍。Global命令的配置語法:global (if_name) nat_id ip_address-ip_address [netmark global_mask] 

其中(if_name)表示外網介面名字,例如outside.。Nat_id用來標識全域性地址池,使它與其相應的nat命令相匹配,ip_address-ip_address表示翻譯後的單個ip地址或一段ip地址範圍。[netmark global_mask]表示全域性ip地址的網路掩碼。 

例1. Pix525(config)#global (outside) 1 61.144.51.42-61.144.51.48 

表示內網的主機通過pix防火牆要訪問外網時,pix防火牆將使用61.144.51.42-61.144.51.48這段ip地址池為要訪問外網的主機分配一個全域性ip地址。 

例2. Pix525(config)#global (outside) 1 61.144.51.42 

表示內網要訪問外網時,pix防火牆將為訪問外網的所有主機統一使用61.144.51.42這個單一ip地址。 

例3. Pix525(config)#no global (outside) 1 61.144.51.42 

表示刪除這個全域性表項。
6. 設定指向內網和外網的靜態路由(route) 

定義一條靜態路由。route命令配置語法:route (if_name) 0 0 gateway_ip [metric] 

其中(if_name)表示介面名字,例如inside,outside。Gateway_ip表示閘道器路由器的ip地址。[metric]表示到gateway_ip的跳數。通常預設是1。 

例1. Pix525(config)#route outside 0 0 61.144.51.168 1 

表示一條指向邊界路由器(ip地址61.144.51.168)的預設路由。 

例2. Pix525(config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1 

Pix525(config)#route inside 10.2.0.0 255.255.0.0 172.16.0.1 1 

如果內部網路只有一個網段,按照例1那樣設定一條預設路由即可;如果內部存在多個網路,需要配置一條以上的靜態路由。上面那條命令表示建立了一條到網路10.1.1.0的靜態路由,靜態路由的下一條路由器ip地址是172.16.0.1
[page]

OK,這6個基本命令若理解了,就可以進入到pix防火牆的一些高階配置了。
A. 配置靜態IP地址翻譯(static) 

如果從外網發起一個會話,會話的目的地址是一個內網的ip地址,static就把內部地址翻譯成一個指定的全域性地址,允許這個會話建立。static命令配置語法:static (internal_if_name,external_if_name) outside_ip_address inside_ ip_address 其中internal_if_name表示內部網路介面,安全級別較高。如inside. 

external_if_name為外部網路介面,安全級別較低。如outside等。outside_ip_address為正在訪問的較低安全級別的介面上的ip地址。inside_ ip_address為內部網路的本地ip地址。 

例1. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.8 

表示ip地址為192.168.0.8的主機,對於通過pix防火牆建立的每個會話,都被翻譯成61.144.51.62這個全域性地址,也可以理解成static命令建立了內部ip地址192.168.0.8和外部ip地址61.144.51.62之間的靜態對映。 

例2. Pix525(config)#static (inside, outside) 192.168.0.2 10.0.1.3 

例3. Pix525(config)#static (dmz, outside) 211.48.16.2 172.16.10.8 

註釋同例1。通過以上幾個例子說明使用static命令可以讓我們為一個特定的內部ip地址設定一個永久的全域性ip地址。這樣就能夠為具有較低安全級別的指定介面建立一個入口,使它們可以進入到具有較高安全級別的指定介面。
 
B. 管道命令(conduit) 

前面講過使用static命令可以在一個本地ip地址和一個全域性ip地址之間建立了一個靜態對映,但從外部到內部介面的連線仍然會被pix防火牆的自適應安全演算法(ASA)阻擋,conduit命令用來允許資料流從具有較低安全級別的介面流向具有較高安全級別的介面,例如允許從外部到DMZ或內部介面的入方向的會話。對於向內部介面的連線,static和conduit命令將一起使用,來指定會話的建立。 

conduit命令配置語法: 

conduit permit | deny global_ip port[-port] protocol foreign_ip [netmask] 

permit | deny 允許 | 拒絕訪問 

global_ip 指的是先前由global或static命令定義的全域性ip地址,如果global_ip為0,就用any代替0;如果global_ip是一臺主機,就用host命令引數。 

port 指的是服務所作用的埠,例如www使用80,smtp使用25等等,我們可以通過服務名稱或埠數字來指定埠。 

protocol 指的是連線協議,比如:TCP、UDP、ICMP等。 

foreign_ip 表示可訪問global_ip的外部ip。對於任意主機,可以用any表示。如果foreign_ip是一臺主機,就用host命令引數。 

例1. Pix525(config)#conduit permit tcp host 192.168.0.8 eq www any 

這個例子表示允許任何外部主機對全域性地址192.168.0.8的這臺主機進行http訪問。其中使用eq和一個埠來允許或拒絕對這個埠的訪問。Eq ftp 就是指允許或拒絕只對ftp的訪問。 

例2. Pix525(config)#conduit deny tcp any eq ftp host 61.144.51.89 

表示不允許外部主機61.144.51.89對任何全域性地址進行ftp訪問。 

例3. Pix525(config)#conduit permit icmp any any 

表示允許icmp訊息向內部和外部通過。 

例4. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.3 

Pix525(config)#conduit permit tcp host 61.144.51.62 eq www any 

這個例子說明static和conduit的關係。192.168.0.3在內網是一臺web伺服器,現在希望外網的使用者能夠通過pix防火牆得到web服務。所以先做static靜態對映:192.168.0.3->61.144.51.62(全域性),然後利用conduit命令允許任何外部主機對全域性地址61.144.51.62進行http訪問。
C. 配置fixup協議 

fixup命令作用是啟用,禁止,改變一個服務或協議通過pix防火牆,由fixup命令指定的埠是pix防火牆要偵聽的服務。見下面例子: 

例1. Pix525(config)#fixup protocol ftp 21 

啟用ftp協議,並指定ftp的埠號為21 

例2. Pix525(config)#fixup protocol http 80 

Pix525(config)#fixup protocol http 1080 

為http協議指定80和1080兩個埠。 

例3. Pix525(config)#no fixup protocol smtp 80 

禁用smtp協議。
D. 設定telnet 

telnet有一個版本的變化。在pix OS 5.0(pix作業系統的版本號)之前,只能從內部網路上的主機通過telnet訪問pix。在pix OS 5.0及後續版本中,可以在所有的介面上啟用telnet到pix的訪問。當從外部介面要telnet到pix防火牆時,telnet資料流需要用ipsec提供保護,也就是說使用者必須配置pix來建立一條到另外一臺pix,路由器或vpn客戶端的ipsec隧道。另外就是在PIX上配置SSH,然後用SSH client從外部telnet到PIX防火牆,PIX支援SSH1和SSH2,不過SSH1是免費軟體,SSH2是商業軟體。相比之下cisco路由器的telnet就作的不怎麼樣了。 

telnet配置語法:telnet local_ip [netmask] 

local_ip 表示被授權通過telnet訪問到pix的ip地址。如果不設此項,pix的配置方式只能由console進行。


說了這麼多,下面給出一個配置例項供大家參考。
Welcome to the PIX firewall
Type help or `?` for a list of available commands. 

PIX525> en 

Password: 

PIX525#sh config 

: Saved 



PIX Version 6.0(1) —— PIX當前的作業系統版本為6.0 

Nameif ethernet0 outside security0 

Nameif ethernet1 inside security100 —— 顯示目前pix只有2個介面 

Enable password 7Y051HhCcoiRTSQZ encrypted 

Passed 7Y051HhCcoiRTSQZ encrypted —— pix防火牆密碼在預設狀態下已被加密,在配置檔案中不會以明文顯示,telnet 密碼預設為cisco 

Hostname PIX525 —— 主機名稱為PIX525 

Domain-name 123.com —— 本地的一個域名伺服器123.com,通常用作為外部訪問 

Fixup protocol ftp 21 

Fixup protocol http 80 

fixup protocol h323 1720 

fixup protocol rsh 514 

fixup protocol smtp 25 

fixup protocol sqlnet 1521 

fixup protocol sip 5060 —— 當前啟用的一些服務或協議,注意rsh服務是不能改變埠號 

names —— 解析本地主機名到ip地址,在配置中可以用名字代替ip地址,當前沒有設定,所以列表為空 

pager lines 24 —— 每24行一分頁 

interface ethernet0 auto 

interface ethernet1 auto —— 設定兩個網路卡的型別為自適應 

mtu outside 1500 

mtu inside 1500 —— 乙太網標準的MTU長度為1500位元組
ip address outside 61.144.51.42 255.255.255.248 

ip address inside 192.168.0.1 255.255.255.0 —— pix外網的ip地址61.144.51.42,內網的ip地址192.168.0.1 

ip audit info action alarm 

ip audit attack action alarm —— pix入侵檢測的2個命令。當有資料包具有攻擊或報告型特徵碼時,pix將採取報警動作(預設動作),向指定的日誌記錄主機產生系統日誌訊息;此外還可以作出丟棄資料包和發出tcp連線復位訊號等動作,需另外配置。 

pdm history enable —— PIX裝置管理器可以圖形化的監視PIX 

arp timeout 14400 —— arp表的超時時間 

global (outside) 1 61.144.51.46 —— 如果你訪問外部論壇或用QQ聊天等等,上面顯示的ip就是這個 

nat (inside) 1 0.0.0.0 0.0.0.0 0 0 

static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0 

conduit permit icmp any any 

conduit permit tcp host 61.144.51.43 eq www any 

conduit permit udp host 61.144.51.43 eq domain any 

—— 用61.144.51.43這個ip地址提供domain-name服務,而且只允許外部使用者訪問domain的udp埠 

route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 —— 外部閘道器61.144.51.61 

timeout xlate 3:00:00 —— 某個內部裝置向外部發出的ip包經過翻譯(global)後,在預設3個小時之後此資料包若沒有活動,此前建立的表項將從翻譯表中刪除,釋放該裝置佔用的全域性地址 

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00 

timeout uauth 0:05:00 absolute —— AAA認證的超時時間,absolute表示連續執行uauth定時器,使用者超時後,將強制重新認證 

aaa-server TACACS+ protocol tacacs+ 

aaa-server RADIUS protocol radius —— AAA伺服器的兩種協議。AAA是指認證,授權,審計。Pix防火牆可以通過AAA伺服器增加內部網路的安全 

no snmp-server location 

no snmp-server contact 

snmp-server community public —— 由於沒有設定snmp工作站,也就沒有snmp工作站的位置和聯絡人 

no snmp-server enable traps —— 傳送snmp陷阱 

floodguard enable —— 防止有人偽造大量認證請求,將pix的AAA資源用完 

no sysopt route dnat 

telnet timeout 5 

ssh timeout 5 —— 使用ssh訪問pix的超時時間 

terminal width 80 

Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7 

PIX525# 

PIX525#write memory —— 將配置儲存


上面這個配置例項需要說明一下,pix防火牆直接擺在了與internet介面處,此處網路環境有十幾個公有ip,可能會有朋友問如果我的公有ip很有限怎麼辦?你可以新增router放在pix的前面,或者global使用單一ip地址,和外部介面的ip地址相同即可。另外有幾個維護命令也很有用,show interface檢視埠狀態,show static檢視靜態地址對映,show ip檢視介面ip地址,ping outside | inside ip_address確定連通性。
本文只是對pix防火牆的基本配置做了相關描述,pix其他的一些功能例如AAA伺服器,vpn等等限於篇幅,不再一一介紹。希望本文能夠拋磚引玉,
若有興趣的讀者可以訪問以下資源: 
[url]http://www.cisco.com/global/CN/products/sc/index.shtml[/url] pix防火牆中文資料 
[url]http://www.cisco.com/en/US/products…ons_guides.html[/url] pix防火牆英文官方網站,詳細的技術資料 
[url]http://www.net130.com/ccnp-labs[/url] 一個不錯的pix線上實驗
關於PIX的配置及註解完全手冊 

——————————————————————————–


PIX Version 6.3(1)

interface ethernet0 auto 設定埠0 速率為自動

interface ethernet1 100full 設定埠1 速率為100兆全雙工

interface ethernet2 auto 設定埠2 速率為自動

nameif ethernet0 outside security0 設定埠0 名稱為 outside 安全級別為0

nameif ethernet1 inside security100 設定埠1 名稱為 inside 安全級別為100

nameif ethernet2 dmz security50 設定埠2 名稱為 dmz 安全級別為50

enable password Dv0yXUGPM3Xt7xVs encrypted 特權密碼

passwd 2KFQnbNIdI.2KYOU encrypted 登陸密碼

hostname hhyy 設定防火牆名稱

fixup protocol ftp 21

fixup protocol h323 h225 1720

fixup protocol h323 ras 1718-1719

fixup protocol http 80

fixup protocol ils 389

fixup protocol rsh 514

fixup protocol rtsp 554

fixup protocol sip 5060

fixup protocol sip udp 5060

no fixup protocol skinny 2000

fixup protocol smtp 25

fixup protocol sqlnet 1521
  允許使用者檢視、改變、啟用或禁止一個服務或協議通過PIX防火牆,防火牆預設啟用了一些常見的埠,但對於ORACLE等專有埠,需要專門啟用。
  names

access-list 101 permit ip 192.168.99.0 255.255.255.0 192.168.170.0 255.255.255.0

access-list 101 permit ip 192.168.12.0 255.255.255.0 192.168.180.0 255.255.255.0

access-list 101 permit ip 192.168.23.0 255.255.255.0 192.168.180.0 255.255.255.0

access-list 101 permit ip 192.168.99.0 255.255.255.0 192.168.101.0 255.255.255.0
  建立訪問列表,允許特定網段的地址訪問某些網段
  access-list 120 deny icmp 192.168.2.0 255.255.255.0 any

access-list 120 deny icmp 192.168.3.0 255.255.255.0 any

access-list 120 deny icmp 192.168.4.0 255.255.255.0 any

access-list 120 deny icmp 192.168.5.0 255.255.255.0 any

access-list 120 deny icmp 192.168.6.0 255.255.255.0 any

access-list 120 deny icmp 192.168.7.0 255.255.255.0 any

access-list 120 deny icmp 192.168.8.0 255.255.255.0 any

access-list 120 deny icmp 192.168.9.0 255.255.255.0 any

access-list 120 deny icmp 192.168.10.0 255.255.255.0 any

access-list 120 deny icmp 192.168.11.0 255.255.255.0 any

access-list 120 deny icmp 192.168.12.0 255.255.255.0 any

access-list 120 deny icmp 192.168.13.0 255.255.255.0 any

access-list 120 deny icmp 192.168.14.0 255.255.255.0 any

access-list 120 deny icmp 192.168.15.0 255.255.255.0 any

access-list 120 deny icmp 192.168.16.0 255.255.255.0 any

access-list 120 deny icmp 192.168.17.0 255.255.255.0 any

access-list 120 deny icmp 192.168.18.0 255.255.255.0 any

access-list 120 deny icmp 192.168.19.0 255.255.255.0 any

access-list 120 deny icmp 192.168.20.0 255.255.255.0 any

access-list 120 deny icmp 192.168.21.0 255.255.255.0 any

access-list 120 deny icmp 192.168.22.0 255.255.255.0 any

access-list 120 deny udp any any eq netbios-ns

access-list 120 deny udp any any eq netbios-dgm

access-list 120 deny udp any any eq 4444

access-list 120 deny udp any any eq 1205

access-list 120 deny udp any any eq 1209

access-list 120 deny tcp any any eq 445

access-list 120 deny tcp any any range 135 netbios-ssn

access-list 120 permit ip any any
  建立訪問列表120防止各個不同網段之間的ICMP發包及拒絕135、137等埠之間的通訊(主要防止衝擊波病毒)
  access-list 110 permit ip 192.168.99.0 255.255.255.0 192.168.101.0 255.255.255.0
  pager lines 24

logging on

logging monitor debugging

logging buffered debugging

logging trap notifications

mtu outside 1500

mtu inside 1500

mtu dmz 1500

ip address outside 10.1.1.4 255.255.255.224 設定外埠地址

ip address inside 192.168.1.254 255.255.255.0 設定內埠地址

ip address dmz 192.168.19.1 255.255.255.0 設定DMZ埠地址

ip audit info action alarm

ip audit attack action alarm

ip local pool hhyy 192.168.170.1-192.168.170.254
  建立名稱為hhyy的地址池,起始地址段為:192.168.170.1-192.168.170.254
  ip local pool yy 192.168.180.1-192.168.180.254
  建立名稱為yy 的地址池,起始地址段為:192.168.180.1-192.168.180.254
  no failover

failover timeout 0:00:00

failover poll 15

no failover ip address outside

no failover ip address inside

no failover ip address dmz

no pdm history enable

arp timeout 14400

不支援故障切換
  global (outside) 1 10.1.1.13-10.1.1.28

global (outside) 1 10.1.1.7-10.1.1.9

global (outside) 1 10.1.1.10
  定義內部網路地址將要翻譯成的全域性地址或地址範圍
  nat (inside) 0 access-list 101
  使得符合訪問列表為101地址不通過翻譯,對外部網路是可見的
  nat (inside) 1 192.168.0.0 255.255.0.0 0 0
  內部網路地址翻譯成外部地址
  nat (dmz) 1 192.168.0.0 255.255.0.0 0 0
  DMZ區網路地址翻譯成外部地址
  static (inside,outside) 10.1.1.5 192.168.12.100 netmask 255.255.255.255 0 0

static (inside,outside) 10.1.1.12 192.168.12.158 netmask 255.255.255.255 0 0

static (inside,outside) 10.1.1.3 192.168.2.4 netmask 255.255.255.255 0 0
  設定固定主機與外網固定IP之間的一對一靜態轉換
  static (dmz,outside) 10.1.1.2 192.168.19.2 netmask 255.255.255.255 0 0
  設定DMZ區固定主機與外網固定IP之間的一對一靜態轉換
  static (inside,dmz) 192.168.0.0 192.168.0.0 netmask 255.255.0.0 0 0
  設定內網固定主機與DMZ IP之間的一對一靜態轉換
  static (dmz,outside) 10.1.1.29 192.168.19.3 netmask 255.255.255.255 0 0
  設定DMZ區固定主機與外網固定IP之間的一對一靜態轉換
  access-group 120 in interface outside

access-group 120 in interface inside

access-group 120 in interface dmz
  將訪問列表應用於埠
  conduit permit tcp host 10.1.1.2 any

conduit permit tcp host 10.1.1.3 any

conduit permit tcp host 10.1.1.12 any

conduit permit tcp host 10.1.1.29 any
  設定管道:允許任何地址對全域性地址進行TCP協議的訪問
  conduit permit icmp 192.168.99.0 255.255.255.0 any
  設定管道:允許任何地址對192.168.99.0 255.255.255.0地址進行PING測試
  rip outside passive version 2

rip inside passive version 2

route outside 0.0.0.0 0.0.0.0 10.1.1.1
  設定預設路由到電信端
  route inside 192.168.2.0 255.255.255.0 192.168.1.1 1

route inside 192.168.3.0 255.255.255.0 192.168.1.1 1

route inside 192.168.4.0 255.255.255.0 192.168.1.1 1

route inside 192.168.5.0 255.255.255.0 192.168.1.1 1

route inside 192.168.6.0 255.255.255.0 192.168.1.1 1

route inside 192.168.7.0 255.255.255.0 192.168.1.1 1

route inside 192.168.8.0 255.255.255.0 192.168.1.1 1

route inside 192.168.9.0 255.255.255.0 192.168.1.1 1

route inside 192.168.10.0 255.255.255.0 192.168.1.1 1

route inside 192.168.11.0 255.255.255.0 192.168.1.1 1
  設定路由回指到內部的子網
  timeout xlate 3:00:00

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h225

1:00:00

timeout h323 0:05:00 mgcp 0:05:00 sip 0:30:00 sip_media 0:02:00

timeout uauth 0:05:00 absolute

aaa-server TACACS+ protocol tacacs+

aaa-server RADIUS protocol radius

aaa-server LOCAL protocol local

no snmp-server location

no snmp-server contact

snmp-server community public

no snmp-server enable traps

floodguard enable

sysopt connection permit-ipsec

sysopt connection permit-pptp

service resetinbound

service resetoutside

crypto ipsec transform-set myset esp-des esp-md5-hmac
  定義一個名稱為myset的交換集
  crypto dynamic-map dynmap 10 set transform-set myset
  根據myset交換集產生名稱為dynmap的動態加密圖集(可選)
  crypto map vpn 10 ipsec-isakmp dynamic dynmap
  將dynmap動態加密圖集應用為IPSEC的策略模板(可選)
  crypto map vpn 20 ipsec-isakmp
  用IKE來建立IPSEC安全關聯以保護由該加密條目指定的資料流
  crypto map vpn 20 match address 110
  為加密圖指定列表110作為可匹配的列表
  crypto map vpn 20 set peer 10.1.1.41
  在加密圖條目中指定IPSEC對等體
  crypto map vpn 20 set transform-set myset
  指定myset交換集可以被用於加密條目
  crypto map vpn client configuration address initiate
  指示PIX防火牆試圖為每個對等體設定IP地址
  crypto map vpn client configuration address respond
  指示PIX防火牆接受來自任何請求對等體的IP地址請求
  crypto map vpn interface outside
  將加密圖應用到外部介面

isakmp enable outside
  在外部介面啟用IKE協商
  isakmp key ******** address 10.1.1.41 netmask 255.255.255.255
  指定預共享金鑰和遠端對等體的地址
  isakmp identity address
  IKE身份設定成介面的IP地址
  isakmp client configuration address-pool local yy outside

isakmp policy 10 authentication pre-share
  指定預共享金鑰作為認證手段
  isakmp policy 10 encryption des
  指定56位DES作為將被用於IKE策略的加密演算法
  isakmp policy 10 hash md5
  指定MD5 (HMAC變種)作為將被用於IKE策略的雜湊演算法
  isakmp policy 10 group 2
  指定1024位元Diffie-Hellman組將被用於IKE策略
  isakmp policy 10 lifetime 86400
  每個安全關聯的生存週期為86400秒(一天)
  vpngroup cisco idle-time 1800

vpngroup pix_vpn address-pool yy

vpngroup pix_vpn idle-time 1800

vpngroup pix_vpn password ********

vpngroup 123 address-pool yy

vpngroup 123 idle-time 1800

vpngroup 123 password ********

vpngroup 456 address-pool yy

vpngroup 456 idle-time 1800

vpngroup 456 password ********

telnet 192.168.88.144 255.255.255.255 inside

telnet 192.168.88.154 255.255.255.255 inside

telnet timeout 5

ssh timeout 5

console timeout 0

vpdn group 1 accept dialin pptp

vpdn group 1 ppp authentication pap

vpdn group 1 ppp authentication chap

vpdn group 1 ppp authentication mschap

vpdn group 1 ppp encryption mppe 40

vpdn group 1 client configuration address local hhyy

vpdn group 1 pptp echo 60

vpdn group 1 client authentication local

vpdn username cisco password *********

vpdn enable outside

username cisco password 3USUcOPFUiMCO4Jk encrypted privilege 2

vpnclient vpngroup cisco_vpn password ********

vpnclient username pix password ********

terminal width 80

Cryptochecksum:9524a589b608c79d50f7c302b81bdfa4b

PIX配置大全 

——————————————————————————–


在配置PIX防火牆之前,先來介紹一下防火牆的物理特性。防火牆通常具有至少3個介面,但許多早期的防火牆只具有2個介面;當使用具有3個介面的防火牆時,就至少產生了3個網路,描述如下:

內部區域(內網):內部區域通常就是指企業內部網路或者是企業內部網路的一部分。它是互連網路的信任區域,即受到了防火牆的保護。 

外部區域(外網):外部區域通常指Internet或者非企業內部網路。它是互連網路中不被信任的區域,當外部區域想要訪問內部區域的主機和服務,通過防火牆,就可以實現有限制的訪問。 

停火區(DMZ):停火區是一個隔離的網路,或幾個網路。位於停火區中的主機或伺服器被稱為堡壘主機。一般在停火區內可以放置Web伺服器,Mail伺服器等。停火區對於外部使用者通常是可以訪問的,這種方式讓外部使用者可以訪問企業的公開資訊,但卻不允許他們訪問企業內部網路。

注意:2個介面的防火牆是沒有停火區的。
由於PIX535在企業級別不具有普遍性,因此下面主要說明PIX525在企業網路中的應用。
PIX防火牆提供4種管理訪問模式:

非特權模式。 PIX防火牆開機自檢後,就是處於這種模式。系統顯示為pixfirewall> 

特權模式。 輸入enable進入特權模式,可以改變當前配置。顯示為pixfirewall# 

配置模式。 輸入configure terminal進入此模式,絕大部分的系統配置都在這裡進行。顯示為pixfirewall(config)# 

監視模式。 PIX防火牆在開機或重啟過程中,按住Escape鍵或傳送一個”Break”字元,進入監視模式。這裡可以更新*作系統映象和口令恢復。顯示為monitor>


配置PIX防火牆有6個基本命令:nameif,interface,ip address,nat,global,route.
這些命令在配置PIX時是必須的。以下是配置的基本步驟:


1. 配置防火牆介面的名字,並指定安全級別(nameif)。 

Pix525(config)#nameif ethernet0 outside security0 

Pix525(config)#nameif ethernet1 inside security100

Pix525(config)#nameif dmz security50 

提示:在預設配置中,乙太網0被命名為外部介面(outside),安全級別是0;乙太網1被命名為內部介面(inside),安全級別是100.安全級別取值範圍為1~99,數字越大安全級別越高。若新增新的介面,語句可以這樣寫: 

Pix525(config)#nameif pix/intf3 security40 (安全級別任取)
2. 配置以太口引數(interface)

Pix525(config)#interface ethernet0 auto        (auto選項表明系統自適應網路卡型別 )

Pix525(config)#interface ethernet1 100full        (100full選項表示100Mbit/s乙太網全雙工通訊 ) 

Pix525(config)#interface ethernet1 100full shutdown (shutdown選項表示關閉這個介面,若啟用介面去掉shutdown )
3. 配置內外網路卡的IP地址(ip address)

Pix525(config)#ip address outside 61.144.51.42 255.255.255.248 

Pix525(config)#ip address inside 192.168.0.1 255.255.255.0 

很明顯,Pix525防火牆在外網的ip地址是61.144.51.42,內網ip地址是192.168.0.1
 
例1. Pix525(config)#conduit permit tcp host 192.168.0.8 eq www any 

這個例子表示允許任何外部主機對全域性地址192.168.0.8的這臺主機進行http訪問。其中使用eq和一個埠來允許或拒絕對這個埠的訪問。Eq ftp 就是指允許或拒絕只對ftp的訪問。
例2. Pix525(config)#conduit deny tcp any eq ftp host 61.144.51.89 

表示不允許外部主機61.144.51.89對任何全域性地址進行ftp訪問。
例3. Pix525(config)#conduit permit icmp any any 

表示允許icmp訊息向內部和外部通過。
例4. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.3

     Pix525(config)#conduit permit tcp host 61.144.51.62 eq www any 

這個例子說明static和conduit的關係。192.168.0.3在內網是一臺web伺服器,現在希望外網的使用者能夠通過pix防火牆得到web服務。所以先做static靜態對映:192.168.0.3->61.144.51.62(全域性),然後利用conduit命令允許任何外部主機對全域性地址61.144.51.62進行http訪問。
C. 配置fixup協議 

fixup命令作用是啟用,禁止,改變一個服務或協議通過pix防火牆,由fixup命令指定的埠是pix防火牆要偵聽的服務。見下面例子: 

例1. Pix525(config)#fixup protocol ftp 21            啟用ftp協議,並指定ftp的埠號為21 

例2. Pix525(config)#fixup protocol http 80

      Pix525(config)#fixup protocol http 1080         為http協議指定80和1080兩個埠。 

例3. Pix525(config)#no fixup protocol smtp 80        禁用smtp協議。


D. 設定telnet
telnet有一個版本的變化。在pix OS 5.0(pix*作系統的版本號)之前,只能從內部網路上的主機通過telnet訪問pix。在pix OS 5.0及後續版本中,可以在所有的介面上啟用telnet到pix的訪問。當從外部介面要telnet到pix防火牆時,telnet資料流需要用ipsec提供保護,也就是說使用者必須配置pix來建立一條到另外一臺pix,路由器或vpn客戶端的ipsec隧道。另外就是在PIX上配置SSH,然後用SSH client從外部telnet到PIX防火牆,PIX支援SSH1和SSH2,不過SSH1是免費軟體,SSH2是商業軟體。相比之下cisco路由器的telnet就做得不怎麼樣了。 

telnet配置語法:telnet local_ip [netmask] local_ip 

表示被授權通過telnet訪問到pix的ip地址。如果不設此項,pix的配置方式只能由console進行。
說了這麼多,下面給出一個配置例項供大家參考。
Welcome to the PIX firewall
Type help or `?` for a list of available commands. 

PIX525> en 

Password: 

PIX525#sh config : 

Saved : 

PIX Version 6.0(1) —— PIX當前的*作系統版本為6.0 

Nameif ethernet0 outside security0 

Nameif ethernet1 inside security100 —— 顯示目前pix只有2個介面 

Enable password 7Y051HhCcoiRTSQZ encrypted 

Passed 7Y051HhCcoiRTSQZ encrypted —— pix防火牆密碼在預設狀態下已被加密,在配置檔案中不會以明文顯示,telnet 密碼預設為cisco 

Hostname PIX525 —— 主機名稱為PIX525 

Domain-name 123.com —— 本地的一個域名伺服器123.com,通常用作為外部訪問 

Fixup protocol ftp 21 

Fixup protocol http 80 

fixup protocol h323 1720 

fixup protocol rsh 514 

fixup protocol smtp 25 

fixup protocol sqlnet 1521 

fixup protocol sip 5060 —— 當前啟用的一些服務或協議,注意rsh服務是不能改變埠號的

names —— 解析本地主機名到ip地址,在配置中可以用名字代替ip地址,當前沒有設定,所以列表為空 

pager lines 24 —— 每24行一分頁 

interface ethernet0 auto 

interface ethernet1 auto —— 設定兩個網路卡的型別為自適應 

mtu outside 1500 

mtu inside 1500 —— 乙太網標準的MTU長度為1500位元組 

ip address outside 61.144.51.42 255.255.255.248 

ip address inside 192.168.0.1 255.255.255.0 —— pix外網的ip地址61.144.51.42,內網的ip地址192.168.0.1 

ip audit info action alarm 

ip audit attack action alarm —— pix入侵檢測的2個命令。當有資料包具有攻擊或報告型特徵碼時,pix將採取報警動作(預設動作),向指定的日誌記錄主機產生系統日誌訊息;此外還可以作出丟棄資料包和發出tcp連線復位訊號等動作,需另外配置。 

pdm history enable —— PIX裝置管理器可以圖形化的監視

PIX arp timeout 14400 —— arp表的超時時間 

global (outside) 1 61.144.51.46 —— 如果你訪問外部論壇或用QQ聊天等等,上面顯示的ip就是這個 

nat (inside) 1 0.0.0.0 0.0.0.0 0 0 

static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0 

conduit permit icmp any any 

conduit permit tcp host 61.144.51.43 eq www any 

conduit permit udp host 61.144.51.43 eq domain any —— 用61.144.51.43這個ip地址提供domain-name服務,而且只允許外部使用者訪問domain的udp埠 

route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 —— 外部閘道器61.144.51.61 

timeout xlate 3:00:00 —— 某個內部裝置向外部發出的ip包經過翻譯(global)後,在預設3個小時之後此資料包若沒有活動,此前建立的表項將從翻譯表中刪除,釋放該裝置佔用的全域性地址 

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00 

timeout uauth 0:05:00 absolute —— AAA認證的超時時間,absolute表示連續執行uauth定時器,使用者超時後,將強制重新認證 

aaa-server TACACS+ protocol tacacs+ 

aaa-server RADIUS protocol radius —— AAA伺服器的兩種協議。AAA是指認證,授權,審計。Pix防火牆可以通過AAA伺服器增加內部網路的安全 

no snmp-server location no snmp-server contact snmp-server community public —— 由於沒有設定snmp工作站,也就沒有snmp工作站的位置和聯絡人 

no snmp-server enable traps —— 傳送snmp陷阱 floodguard enable —— 防止有人偽造大量認證請求,將pix的AAA資源用完 

no sysopt route dnat telnet timeout 5 ssh timeout 5 —— 使用ssh訪問pix的超時時間 

terminal width 80 Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7 

PIX525# 

PIX525#write memory —— 將配置儲存 

上面這個配置例項需要說明一下,pix防火牆直接擺在了與internet介面處,此處網路環境有十幾個公有ip,可能會有朋友問如果我的公有ip很有限怎麼辦?你可以新增router放在pix的前面,或者global使用單一ip地址,和外部介面的ip地址相同即可。另外有幾個維護命令也很有用,show interface檢視埠狀態,show static檢視靜態地址對映,show ip檢視介面ip地址,ping outside | inside ip_address確定連通性。


PIX上實現VPN步驟

在PIX上防火牆用預共享金鑰配置IPSec加密主要涉及到4個關鍵任務:
一、為IPSec做準備
為IPSec做準備涉及到確定詳細的加密策略,包括確定我們要保護的主機和網路,選擇一種認證方法,確定有關IPSec對等體的詳細資訊,確定我們所需的IPSec特性,並確認現有的訪問控制列表允許IPSec資料流通過; 

步驟1:根據對等體的數量和位置在IPSec對等體間確定一個IKE(IKE階段1,或者主模式)策略; 

步驟2:確定IPSec(IKE階段2,或快捷模式)策略,包括IPSec對等體的細節資訊,例如IP地址及IPSec變換集和模式;  

步驟3:用”write terminal”、”show isakmp”、”show isakmp policy”、”show crypto map “命令及其他”show”命令來檢查當前的配置;  

步驟4:確認在沒有使用加密前網路能夠正常工作,用”ping”命令並在加密前執行測試資料流來排除基本的路由故障;  

步驟5:確認在邊界路由器和PIX防火牆中已有的訪問控制列表允許IPSec資料流通過,或者想要的資料流將可以被過濾出來。 
二、配置IKE 配置IKE涉及到啟用IKE(和isakmp是同義詞),建立IKE策略,和驗證我們的配置;  

步驟1:用”isakmp enable”命令來啟用或關閉IKE;  

步驟2:用”isakmp policy”命令建立IKE策略;  

步驟3:用”isakmp key”命令和相關命令來配置預共享金鑰;  

步驟4:用”show isakmp [policy]”命令來驗證IKE的配置。  
三、配置IPSec    
IPSec配置包括建立加密用訪問控制列表,定義變換集,建立加密圖條目,並將加密集應用到介面上去;  

步驟1:用access-list命令來配置加密用訪問控制列表; 例如: access-list acl-name {permit|deny} protocol src_addr src_mask [operator port [port]]dest_addr dest_mask [operator prot [port]]  

步驟2:用crypto ipsec transform-set 命令配置變換集; 例如: crypto ipsec transform-set transform-set-name transform1 [transform2 [transform3]]  3. 步驟3:(任選)用crypto ipsec security-association lifetime命令來配置全域性性的IPSec 安全關聯的生存期;  

步驟4:用crypto map 命令來配置加密圖;  

步驟5:用interface 命令和crypto map map-name interface應用到介面上;  6. 步驟6:用各種可用的show命令來驗證IPSec的配置。  
四、測試和驗證IPSec 

該任務涉及到使用”show ” 、”debug”和相關的命令來測試和驗證IPSec加密工作是否正常,併為之排除故障。 

樣例:  

PIX 1的配置:  

!configure the IP address for each PIX Firewall interface 

ip address outside 192.168.1.1 255.255.255.0 

ip address inside 10.1.1.3 255.255.255.0 

ip address dmz 192.168.11.1 255.255.255.0 

global (outside) 1 192.168.1.10-192.168.1.254 netmask 255.255.255.0 

!creates a global pooll on the outside interface,enables NAT. 

!windows NT server 

static (inside,outside) 192.168.1.10 10.1.1.4 netmask 255.255.255.0 

!Crypto access list specifiles between the global and the inside server beind PIX Firewalls is encrypted ,The source and destination IP address are the global IP addresses of the statics. 

Access-list 101 permit ip host 192.168.1.10 host 192.168.2.10 

!The conduit permit ICMP and web access for testing. 

Conduit permit icmp any any Conduit permit tcp host 192.168.1.10 eq www any 

route outside 0.0.0.0 0.0.0.0 192.168.1.2 1 

!Enable IPSec to bypass access litst,access ,and confuit restrictions

syspot connnection permit ipsec 

!Defines a crypto map transform set to user esp-des 

crypto ipsec transform-set pix2 esp-des 

crypto map peer2 10 ipsec-isakmp! 
完全配置:  ip address outside 202.105.113.194 255.255.255.0 /*看電信給你的IP 

ip address inside 192.168.1.1 255.255.255.0



global (outside) 1 202.105.113.195-202.105.113.200 

global (outside) 1 202.105.113.201 

nat (inside) 1 0.0.0.0 0.0.0.0 0 0 

static (inside,outside) 202.105.113.203 192.168.1.10 netmask 255.255.255.255 0 0 

static (inside,outside) 202.105.113.205 192.168.1.11netmask 255.255.255.255 0 0 

conduit permit icmp any any conduit permit tcp host 202.105.113.203 eq www any 

conduit permit tcp host 202.105.113.203 eq ftp any 

conduit permit tcp host 202.105.113.205 eq smtp any 

conduit permit tcp host 202.105.113.205 eq pop3 any 



route outside 0.0.0.0 0.0.0.0 202.105.113.193 1 

route inside 0.0.0.0 0.0.0.0 192.168.1.1
4. 指定要進行轉換的內部地址(nat) 

網路地址翻譯(nat)作用是將內網的私有ip轉換為外網的公有ip.Nat命令總是與global命令一起使用,這是因為nat命令可以指定一臺主機或一段範圍的主機訪問外網,訪問外網時需要利用global所指定的地址池進行對外訪問。
nat命令配置語法:

nat (if_name) nat_id local_ip [netmark] 

其中(if_name)表示內網介面名字,例如inside。Nat_id用來標識全域性地址池,使它與其相應的global命令相匹配,local_ip表示內網被分配的ip地址。例如0.0.0.0表示內網所有主機可以對外訪問。[netmark]表示內網ip地址的子網掩碼。
例1.Pix525(config)#nat (inside) 1 0 0 

表示啟用nat,內網的所有主機都可以訪問外網,用0可以代表0.0.0.0
例2.Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0 

表示只有172.16.5.0這個網段內的主機可以訪問外網。
5. 指定外部地址範圍(global) global命令把內網的ip地址翻譯成外網的ip地址或一段地址範圍。

Global命令的配置語法:global (if_name) nat_id ip_address-ip_address [netmark global_mask] 

其中(if_name)表示外網介面名字,例如outside.。Nat_id用來標識全域性地址池,使它與其相應的nat命令相匹配,ip_address-ip_address表示翻譯後的單個ip地址或一段ip地址範圍。[netmark global_mask]表示全域性ip地址的網路掩碼。
例1.Pix525(config)#global (outside) 1 61.144.51.42-61.144.51.48 

表示內網的主機通過pix防火牆要訪問外網時,pix防火牆將使用61.144.51.42-61.144.51.48這段ip地址池為要訪問外網的主機分配一個全域性ip地址。
例2.Pix525(config)#global (outside) 1 61.144.51.42 表示內網要訪問外網時,pix防火牆將為訪問外網的所有主機統一使用61.144.51.42這個單一ip地址。
例3. Pix525(config)#no global (outside) 1 61.144.51.42 表示刪除這個全域性表項。
6. 設定指向內網和外網的靜態路由(route) 定義一條靜態路由。

route命令配置語法:route (if_name) 0 0 gateway_ip [metric] 

其中(if_name)表示介面名字,例如inside,outside。Gateway_ip表示閘道器路由器的ip地址。[metric]表示到gateway_ip的跳數。通常預設是1。
例1. Pix525(config)#route outside 0 0 61.144.51.168 1 

表示一條指向邊界路由器(ip地址61.144.51.168)的預設路由。
例2. Pix525(config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1 

      Pix525(config)#route inside 10.2.0.0 255.255.0.0 172.16.0.1 1 

如果內部網路只有一個網段,按照例1那樣設定一條預設路由即可;如果內部存在多個網路,需要配置一條以上的靜態路由。上面那條命令表示建立了一條到網路10.1.1.0的靜態路由,靜態路由的下一條路由器ip地址是172.16.0.1。
OK,這6個基本命令若理解了,就可以進入到pix防火牆的一些高階配置了。
A. 配置靜態IP地址翻譯(static) 

如果從外網發起一個會話,會話的目的地址是一個內網的ip地址,static就把內部地址翻譯成一個指定的全域性地址,允許這個會話建立。

static命令配置語法:

static (internal_if_name,external_if_name) outside_ip_address inside_ ip_address 

其中internal_if_name表示內部網路介面,安全級別較高,如inside。external_if_name為外部網路介面,安全級別較低,如outside等。outside_ip_address為正在訪問的較低安全級別的介面上的ip地址。inside_ ip_address為內部網路的本地ip地址。
例1. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.8

表示ip地址為192.168.0.8的主機,對於通過pix防火牆建立的每個會話,都被翻譯成61.144.51.62這個全域性地址,也可以理解成static命令建立了內部ip地址192.168.0.8和外部ip地址61.144.51.62之間的靜態對映。
例2. Pix525(config)#static (inside, outside) 192.168.0.2 10.0.1.3
例3. Pix525(config)#static (dmz, outside) 211.48.16.2 172.16.10.8 

註釋同例1。

通過以上幾個例子說明使用static命令可以讓我們為一個特定的內部ip地址設定一個永久的全域性ip地址。這樣就能夠為具有較低安全級別的指定介面建立一個入口,使它們可以進入到具有較高安全級別的指定介面。
B. 管道命令(conduit) 

前面講過使用static命令可以在一個本地ip地址和一個全域性ip地址之間建立了一個靜態對映,但從外部到內部介面的連線仍然會被pix防火牆的自適應安全演算法(ASA)阻擋。

conduit命令用來允許資料流從具有較低安全級別的介面流向具有較高安全級別的介面,例如允許從外部到DMZ或內部介面的入方向的會話。對於向內部介面的連線,static和conduit命令將一起使用,來指定會話的建立。 

conduit命令配置語法: 

conduit permit | deny global_ip port[-port] protocol foreign_ip [netmask] 

permit | deny 允許 | 拒絕訪問 global_ip 指的是先前由global或static命令定義的全域性ip地址,如果global_ip為0,就用any代替0;如果global_ip是一臺主機,就用host命令引數。 

port 指的是服務所作用的埠,例如www使用80,smtp使用25等等,我們可以通過服務名稱或埠數字來指定埠。 

protocol 指的是連線協議,比如:TCP、UDP、ICMP等。

foreign_ip 表示可訪問global_ip的外部ip。對於任意主機,可以用any表示。如果foreign_ip是一臺主機,就用host命令引數。
例1. Pix525(config)#conduit permit tcp host 192.168.0.8 eq www any 

這個例子表示允許任何外部主機對全域性地址192.168.0.8的這臺主機進行http訪問。其中使用eq和一個埠來允許或拒絕對這個埠的訪問。Eq ftp 就是指允許或拒絕只對ftp的訪問。
例2. Pix525(config)#conduit deny tcp any eq ftp host 61.144.51.89 

表示不允許外部主機61.144.51.89對任何全域性地址進行ftp訪問。
例3. Pix525(config)#conduit permit icmp any any 

表示允許icmp訊息向內部和外部通過。
例4. Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.3

     Pix525(config)#conduit permit tcp host 61.144.51.62 eq www any 

這個例子說明static和conduit的關係。192.168.0.3在內網是一臺web伺服器,現在希望外網的使用者能夠通過pix防火牆得到web服務。所以先做static靜態對映:192.168.0.3->61.144.51.62(全域性),然後利用conduit命令允許任何外部主機對全域性地址61.144.51.62進行http訪問。
C. 配置fixup協議 

fixup命令作用是啟用,禁止,改變一個服務或協議通過pix防火牆,由fixup命令指定的埠是pix防火牆要偵聽的服務。見下面例子: 

例1. Pix525(config)#fixup protocol ftp 21            啟用ftp協議,並指定ftp的埠號為21 

例2. Pix525(config)#fixup protocol http 80

      Pix525(config)#fixup protocol http 1080         為http協議指定80和1080兩個埠。 

例3. Pix525(config)#no fixup protocol smtp 80        禁用smtp協議。


D. 設定telnet
telnet有一個版本的變化。在pix OS 5.0(pix*作系統的版本號)之前,只能從內部網路上的主機通過telnet訪問pix。在pix OS 5.0及後續版本中,可以在所有的介面上啟用telnet到pix的訪問。當從外部介面要telnet到pix防火牆時,telnet資料流需要用ipsec提供保護,也就是說使用者必須配置pix來建立一條到另外一臺pix,路由器或vpn客戶端的ipsec隧道。另外就是在PIX上配置SSH,然後用SSH client從外部telnet到PIX防火牆,PIX支援SSH1和SSH2,不過SSH1是免費軟體,SSH2是商業軟體。相比之下cisco路由器的telnet就做得不怎麼樣了。 

telnet配置語法:telnet local_ip [netmask] local_ip 

表示被授權通過telnet訪問到pix的ip地址。如果不設此項,pix的配置方式只能由console進行。
說了這麼多,下面給出一個配置例項供大家參考。
Welcome to the PIX firewall
Type help or `?` for a list of available commands. 

PIX525> en 

Password: 

PIX525#sh config : 

Saved : 

PIX Version 6.0(1) —— PIX當前的*作系統版本為6.0 

Nameif ethernet0 outside security0 

Nameif ethernet1 inside security100 —— 顯示目前pix只有2個介面 

Enable password 7Y051HhCcoiRTSQZ encrypted 

Passed 7Y051HhCcoiRTSQZ encrypted —— pix防火牆密碼在預設狀態下已被加密,在配置檔案中不會以明文顯示,telnet 密碼預設為cisco 

Hostname PIX525 —— 主機名稱為PIX525 

Domain-name 123.com —— 本地的一個域名伺服器123.com,通常用作為外部訪問 

Fixup protocol ftp 21 

Fixup protocol http 80 

fixup protocol h323 1720 

fixup protocol rsh 514 

fixup protocol smtp 25 

fixup protocol sqlnet 1521 

fixup protocol sip 5060 —— 當前啟用的一些服務或協議,注意rsh服務是不能改變埠號的

names —— 解析本地主機名到ip地址,在配置中可以用名字代替ip地址,當前沒有設定,所以列表為空 

pager lines 24 —— 每24行一分頁 

interface ethernet0 auto 

interface ethernet1 auto —— 設定兩個網路卡的型別為自適應 

mtu outside 1500 

mtu inside 1500 —— 乙太網標準的MTU長度為1500位元組 

ip address outside 61.144.51.42 255.255.255.248 

ip address inside 192.168.0.1 255.255.255.0 —— pix外網的ip地址61.144.51.42,內網的ip地址192.168.0.1 

ip audit info action alarm 

ip audit attack action alarm —— pix入侵檢測的2個命令。當有資料包具有攻擊或報告型特徵碼時,pix將採取報警動作(預設動作),向指定的日誌記錄主機產生系統日誌訊息;此外還可以作出丟棄資料包和發出tcp連線復位訊號等動作,需另外配置。 

pdm history enable —— PIX裝置管理器可以圖形化的監視

PIX arp timeout 14400 —— arp表的超時時間 

global (outside) 1 61.144.51.46 —— 如果你訪問外部論壇或用QQ聊天等等,上面顯示的ip就是這個 

nat (inside) 1 0.0.0.0 0.0.0.0 0 0 

static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0 

conduit permit icmp any any 

conduit permit tcp host 61.144.51.43 eq www any 

conduit permit udp host 61.144.51.43 eq domain any —— 用61.144.51.43這個ip地址提供domain-name服務,而且只允許外部使用者訪問domain的udp埠 

route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 —— 外部閘道器61.144.51.61 

timeout xlate 3:00:00 —— 某個內部裝置向外部發出的ip包經過翻譯(global)後,在預設3個小時之後此資料包若沒有活動,此前建立的表項將從翻譯表中刪除,釋放該裝置佔用的全域性地址 

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00 

timeout uauth 0:05:00 absolute —— AAA認證的超時時間,absolute表示連續執行uauth定時器,使用者超時後,將強制重新認證 

aaa-server TACACS+ protocol tacacs+ 

aaa-server RADIUS protocol radius —— AAA伺服器的兩種協議。AAA是指認證,授權,審計。Pix防火牆可以通過AAA伺服器增加內部網路的安全 

no snmp-server location no snmp-server contact snmp-server community public —— 由於沒有設定snmp工作站,也就沒有snmp工作站的位置和聯絡人 

no snmp-server enable traps —— 傳送snmp陷阱 floodguard enable —— 防止有人偽造大量認證請求,將pix的AAA資源用完 

no sysopt route dnat telnet timeout 5 ssh timeout 5 —— 使用ssh訪問pix的超時時間 

terminal width 80 Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7 

PIX525# 

PIX525#write memory —— 將配置儲存 

上面這個配置例項需要說明一下,pix防火牆直接擺在了與internet介面處,此處網路環境有十幾個公有ip,可能會有朋友問如果我的公有ip很有限怎麼辦?你可以新增router放在pix的前面,或者global使用單一ip地址,和外部介面的ip地址相同即可。另外有幾個維護命令也很有用,show interface檢視埠狀態,show static檢視靜態地址對映,show ip檢視介面ip地址,ping outside | inside ip_address確定連通性。
Pix515 防火牆配置策略例項分析 

——————————————————————————–
需求:想通過pix做snat使內網使用者上網,再做dnat使訪問本公網IP的http服務、ssh服務轉換為192.168.4.2的http服務、ssh服務,對192.168.4.2開放本pix的telnet服務


pix515防火牆配置策略例項


#轉換特權使用者

pixfirewall>ena

pixfirewall#


#進入全域性配置模式

pixfirewall# conf t


#啟用內外埠

interface ethernet0 auto

interface ethernet1 auto


#下面兩句配置內外埠的安全級別

nameif ethernet0 outside security0

nameif ethernet1 inside security100


#配置防火牆的使用者資訊

enable password pix515

hostname pix515

domain-name domain


#下面幾句配置內外網路卡的IP地址

ip address inside 192.168.4.1 255.255.255.0

ip address outside 公網IP 公網IP子網掩碼

global (outside) 1 interface

nat (inside) 1 192.168.4.0 255.255.255.0 0 0


#下面兩句將定義轉發公網IP的ssh和www服務到192.168.4.2

static (inside,outside) tcp 公網IP www 192.168.4.2 www netmask 255.255.255.255 0 0

static (inside,outside) tcp 公網IP ssh 192.168.4.2 ssh netmask 255.255.255.255 0 0


#下面兩句將定義外部允許訪問內部主機的服務

conduit permit tcp host 公網IP eq www any

conduit permit tcp host 公網IP eq ssh 信任IP 255.255.255.255


#允許內部伺服器telnet pix

telnet 192.168.4.2 255.255.255.0 inside


#下面這句允許ping

conduit permit icmp any any


#下面這句路由閘道器

route outside 0.0.0.0 0.0.0.0 公網IP閘道器 1


#儲存配置

write memory
本文轉自 liang831002 51CTO部落格,原文連結:http://blog.51cto.com/leo0216/34115,如需轉載請自行聯絡原作者


相關文章