配置
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
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
防火牆的一些高級配置了。
<!--[if !supportLists]-->
A. <!--[endif]-->
配置靜態
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
地址。這樣就可以爲具備較低安全級別的指定接口建立一個入口,使它們能夠進入到具備較高安全級別的指定接口。
static (inside,outside) tcp 200.1.1.1 www 192.168.0.100 www netmask 255.255.255.255
static (inside,outside) tcp interface 8080 192.168.1.200 www netmask 255.255.255.255
只有一個公網
ip
的靜態映射。
從
inside
訪問
dmz
,也須要配置
static
Static
(
inside
,
dmz
)
interface 192.168.1.x
(內網
ip
段),同時還須要配置
acl
應用到
dmz
接口。由於
inside
等級爲
100
,
dmz
等級爲
50
,因此須要配置
ACL
實現
INSIDE
訪問
DMZ
。
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
,路由器或
***
客戶端的
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:a
9f
03ba4ddb72e1ae
6a
543292dd
4f
5e7
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
上防火牆用預共享密鑰配置
IPSec
加密主要涉及到
4
個關鍵任務:
1、爲
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
數據流經過,或者想要的數據流將能夠被過濾出來。
2、配置
IKE
配置
IKE
涉及到啓用
IKE
(和
isakmp
是同義詞),建立
IKE
策略,和驗證咱們的配置;
步驟
1
:用\
"isakmp enable
\
"
命令來啓用或關閉
IKE
;
步驟
2
:用\
"isakmp policy
\
"
命令建立
IKE
策略;
步驟
3
:用\
"isakmp key
\
"
命令和相關命令來配置預共享密鑰;
步驟
4
:用\
"show isakmp [policy]
\
"
命令來驗證
IKE
的配置。
3、配置
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
的配置。
4、測試和驗證
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