與防火墻 并聯的VPN集中器
當 建設訪問虛擬專用網絡(時VPN),無容置疑地一個偏愛的途徑是并行 設計(說明在下面的鏡象)。用戶通常更喜歡此設計方法因為 實現,帶有幾乎沒有影響到現有基礎設施是容易的,并且因為它是 相對容易對根據設備靈活性的縮放比例。
在平行接近,VPN集中器連接到在分段內外。所有VPN會話終止在集中器沒有通過防火墻。通常VPN客戶端 軟件預計有對內部網絡的無限制訪問,但他們的訪問可以有時被限 制對一套內部的服務器(小型服務器站)。 其中一個理想的功 能是從正常互聯網數據流分離VPN數據流,因此例如,VPN客戶端軟 件不允許通過公司防火墻訪問互聯網。
圖6:與防火墻并聯的VPN 集中器
測試與防火墻并聯的VPN集中器
在本例中,我們使 用了一臺VPN 5000 集中器,平行安裝對PIX防火墻。二個路 由器配置作為網絡服務器安裝了在內部的分段作為一個內部服務器 組群。VPN客戶端軟件只允許訪問小型服務器站,并且應該從 VPN 數據流(IPSec)分離互聯網數據流。下面的圖顯示試驗床 。
圖7:與防火墻并聯的VPN 集中器試驗床
在此方案我們 有二個主要興趣范圍:
-
內部L2交換 機
-
外部L2交換機
數據流為內部L2交換機被定義根據以下語句:
-
VPN客戶端軟件有對預定義的套的完 全權限內部服務器(小型服務器站)
-
內部客戶端也允許訪問小型服務器站
-
內部客戶端有對互聯網的無限制訪問
-
必須與PIX防火墻分離來自VPN集中 器的數據流
數據流為外部L2交換機 被定義如下:
-
來自路由器的數據流 一定能去VPN 集中器或PIX
-
必須與 來自VPN的數據流分離來自PIX的數據流
另外很可能,管理員想要防止數據流內部網絡從能做 其方式對VPN主機,這可以通過在主VLAN配置的VACLs達到(VACL將過 濾離開從內部路由器的僅數據流,沒有其他數據流受影響)。
PVLAN配 置
因為主要目標在此 設計將繼續數據流來自從數據流分離PIX來自自服務器和VPN集中器 ,我們在不同的PVLAN比服務器和VPN集中器配置的PVLAN配置PIX。
來自內部網絡的數據流一定能訪問 小型服務器站并且VPN集中器和PIX。結果,連接到內部網絡 的端口是一個混亂端口。
因為他們 能彼此,溝通服務器和VPN 集中器屬于同樣輔助VLAN。
關于外部L2交換機,產生的路由器 對的訪問典型地屬于網絡服務提供商(ISP)的互聯網()連接到一個混 亂端口當時VPN集中器和PIX 屬于同樣專用和隔離VLAN (以便他們 不能交換任何數據流)。通過執行此,來自服務提供商的數據 流能采取路徑對VPN集中器或路徑對PIX。因為他們查出,PIX 和VPN 集中器是保護。
內部L2交換機的PVLAN配置
sh pvlan
Primary Secondary Secondary-Type Ports
------- --------- ---------------- -----------
41 42 community 3/7,3/9-10
41 43 isolated 3/12
ecomm-6500-2 (enable) sh pvlan map
Port Primary Secondary
---- ------- ---------
3/34 41 42-43
ecomm-6500-2 (enable) sh port 3/7
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/7 to_vpn_conc connected 41,42 a-half a-10 10/100BaseTX
ecomm-6500-2 (enable) sh port 3/9
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/9 server_1 connected 41,42 a-half a-10 10/100BaseTX
ecomm-6500-2 (enable) sh port 3/10
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/10 server_2 connected 41,42 a-half a-10 10/100BaseTX
ecomm-6500-2 (enable) sh port 3/12 Port Name Status Vlan Duplex Speed Type ----- ------------------ ---------- ---------- ------ ----- ------------ 3/12 to_pix_intf1 connected 41,43 a-full a-100 10/100BaseTX ecomm-6500-2 (enable) sh pvlan map
Port Primary Secondary
---- ------- ---------
3/34 41 42-43
ecomm-6500-2 (enable) sh port 3/34
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/34 to_int_router connected 41 a-full a-100 10/100BaseTX
外部L2交 換機的PVLAN配置
sh pvlan
Primary Secondary Secondary-Type Ports
------- --------- ---------------- ------------
41 45 isolated 3/7,3/33
ecomm-6500-1 (enable) sh pvlan mapping
Port Primary Secondary
---- ------- ---------
3/43 41 45
ecomm-6500-1 (enable) sh port 3/7
Port Name Status Vlan Duplex Speed Type
----- ------------ ---------- ------ ----- ------------
3/7 from_vpn connected 41,45 a-half a-10 10/100BaseTX
ecomm-6500-1 (enable) sh port 3/33
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------
3/33 to_pix_intf0 connected 41,45 a-full a-100 10/100BaseTX
ecomm-6500-1 (enable) sh pvlan map
Port Primary Secondary
---- ------- ---------
3/43 41 45
ecomm-6500-1 (enable) sh port 3/43
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------
3/43 to_external_router connected 41 a-half a-10 10/100BaseTX
測試配置
此實驗表示,內部路 由器能通過防火墻和到達外部路由器(接口是198.5.6.1)的外部防火 墻路由器。
ping 198.5.6.1
Type escape sequence to abort
Sending 5, 100-byte ICMP Echos to 198.5.6.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
此實驗顯示以下,所有 從服務器1:
-
服務器1能連接內部路 由器:
server_1#ping 172.16.65.193
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.193, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms -
服務器1能連接VPN:
server_1#ping 172.16.65.203
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.203, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms -
切斷1不能ping PIX內部界面:
server_1#ping 172.16.65.201
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.201, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5) -
服務器1不能連接外部路由器:
server_1#ping 198.5.6.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 198.5.6.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
以下實驗表示,HTTP會話可以從內 部網絡被打開對小型服務器站。
server_2#
1w1d: HTTP: parsed uri '/'
1w1d: HTTP: processing URL '/' from host 171.68.173.3
1w1d: HTTP: client version 1.0
1w1d: HTTP: parsed extension Connection
1w1d: HTTP: parsed line Keep-Alive
1w1d: HTTP: parsed extension User-Agent
1w1d: HTTP: parsed line Mozilla/4.7 [en] (X11; I; SunOS 5.5.1 sun4u)
1w1d: HTTP: parsed extension Host
1w1d: HTTP: parsed line 172.16.65.202
1w1d: HTTP: parsed extension Accept
1w1d: HTTP: parsed line image/gif, image/x-xbitmap, image/jpeg, image/
1w1d: HTTP: parsed extension Accept-Encoding
1w1d: HTTP: parsed line gzip
1w1d: HTTP: parsed extension Accept-Language
1w1d: HTTP: parsed line en
1w1d: HTTP: parsed extension Accept-Charset
1w1d: HTTP: parsed line iso-8859-1,*,utf-8
1w1d: HTTP: Authentication for url '/' '/' level 15 privless '/'
1w1d: HTTP: authentication required, no authentication information was provided
1w1d: HTTP: authorization rejected
1w1d: HTTP: parsed uri '/'
1w1d: HTTP: processing URL '/' from host 171.68.173.3
1w1d: HTTP: client version 1.0
1w1d: HTTP: parsed extension Connection
1w1d: HTTP: parsed line Keep-Alive
1w1d: HTTP: parsed extension User-Agent
1w1d: HTTP: parsed line Mozilla/4.7 [en] (X11; I; SunOS 5.5.1 sun4u)
1w1d: HTTP: parsed extension Host
1w1d: HTTP: parsed line 172.16.65.202
1w1d: HTTP: parsed extension Accept
1w1d: HTTP: parsed line image/gif, image/x-xbitmap, image/jpeg, image/
1w1d: HTTP: parsed extension Accept-Encoding
1w1d: HTTP: parsed line gzip
1w1d: HTTP: parsed extension Accept-Language
1w1d: HTTP: parsed line en
1w1d: HTTP: parsed extension Accept-Charset
1w1d: HTTP: parsed line iso-8859-1,*,utf-8
1w1d: HTTP: parsed extension Authorization
1w1d: HTTP: parsed authorization type Basic
1w1d: HTTP: Authentication for url '/' '/' level 15 privless '/'
1w1d: HTTP: Authentication username = 'maurizio' priv-level = 15 auth-type = aaa
1w1d: HTTP: received GET ''
以 下實驗表示,HTTP數據流從VPN網絡能做其道路通往小型服務器站( 注意地址10.1.1.1)。1w1d: HTTP: parsed uri '/'
1w1d: HTTP: processing URL '/' from host 10.1.1.1
1w1d: HTTP: client version 1.0
1w1d: HTTP: parsed extension Connection
1w1d: HTTP: parsed line Keep-Alive
1w1d: HTTP: parsed extension User-Agent
1w1d: HTTP: parsed line Mozilla/4.76 [en] (Windows NT 5.0; U)
1w1d: HTTP: parsed extension Host
1w1d: HTTP: parsed line 172.16.65.202
1w1d: HTTP: parsed extension Accept
1w1d: HTTP: parsed line image/gif, image/x-xbitmap, image/jpeg, image/
1w1d: HTTP: parsed extension Accept-Encoding
1w1d: HTTP: parsed line gzip
1w1d: HTTP: parsed extension Accept-Language
1w1d: HTTP: parsed line en
1w1d: HTTP: parsed extension Accept-Charset
1w1d: HTTP: parsed line iso-8859-1,*,utf-8
1w1d: HTTP: Authentication for url '/' '/' level 15 privless '/'
1w1d: HTTP: authentication required, no authentication information was provided
下列是VPN集 中器的配置:
[ IP Ethernet 0:0 ]
ipbroadcast = 172.16.65.255
mode = routedSubnetMask = 255.255.255.240
IPAddress = 172.16.65.203
[ General ]
IPsecGateway = 198.5.6.1
DeviceName = "VPN5008"
EnablePassword = "ww"
Password = "ww"
EthernetAddress = 00:30:85:14:5c:40
DeviceType = VPN 5002/8
ConcentratorConfiguredOn = Timeserver not configured
ConfiguredFrom = Command Line, from 171.68.173.3
[ IP Static ]
206.1.1.0 255.255.255.0
198.5.6.1 10.0.0.0
0.0.0.0 172.16.65.193 1
[ IP Ethernet 1:0 ]
ipbroadcast = 172.16.65.255
mode = routedSubnetMask = 255.255.255.0
IPAddress = 198.5.6.203
[ IKE Policy ]
Protecction = MD5_DES_G1
[ VPN Group "RemoteUsers" ]
maxconnections = 10IPNet = 172.16.65.0/24
LocalIPNet = 10.1.1.0/24
Transform = esp(des,md5)
[ VPN Users ]
martin Config="RemoteUsers"
SharedKey="mysecretkey"
maurizio Config="RemoteUsers"
SharedKey="mysecretkey"
以下命令顯示用戶列 表被聯絡:
sh VPN user
Port User Group Client Local ConnectNumber
Address Address Time
--------------------------------------------------------------------------------
VPN 0:1 martin RemoteUsers 206.1.1.10 10.1.1.1 00:00:11:40
應該注意它默認網關在 服務器是內部路由器172.16.65.193,將發出icmp重定向到 172.16.65.203。此實施導致非最優數據流,因為主機將寄發 流的第一個信息包到路由器,并且在重定向的接收,將發送后續信 息包到是更加適當處理此數據流的網關。 二者擇一地你在服 務器能配置二個不同的路由為了指向VPN為10.x.x.x地址和到 172.16.65.193為數據流的其余。如果僅默認網關在服務器配 置,則我們需要確信,路由器接口用"ip 重定向配置"。
我們注意在測試期間的一個有趣點 是以下一個。如果我們設法 ping 一個外部地址類似 198.5.6.1從服務器或從VPN,默認網關將發送和icmp重定向到 172.16.65.201。
Sending 5, 100-byte ICMP Echos to 198.5.6.1, timeout is 2 seconds:
1w1d: ICMP: redirect rcvd from 172.16.65.193 -- for 198.5.6.1 use gw 172.16.65.201.
1w1d: ICMP: redirect rcvd from 172.16.65.193 -- for 198.5.6.1 use gw 172.16.65.201.
1w1d: ICMP: redirect rcvd from 172.16.65.193 -- for 198.5.6.1 use gw 172.16.65.201.
1w1d: ICMP: redirect rcvd from 172.16.65.193 -- for 198.5.6.1 use gw 172.16.65.201.
1w1d: ICMP: redirect rcvd from 172.16.65.193 -- for 198.5.6.1 use gw 172.16.65.201.
Success rate is 0 percent (0/5)
因為在另一個輔助 VLAN,服務器或VPN 這時將發送地址解析協議(ARP)請求 172.16.65.201 并且從201不得到任何回應; 這是什么 PVLAN 提供我們。實際上有一個簡單的方法獲得圍繞此,是 發送數據流到193 MAC和與目的地IP 172.16.65.201。
路由器193將路由數據流回到同一個 接口,但因為路由器接口是一個混亂端口,數據流將到達201,我們 想防止。此問題在VACLs和 PVLANs 部分的 已知限制 解釋了 。
VACL配置
此部分是關鍵改進安 全在小型服務器站。如所描述在VACLs 和PVLANs 部分的已知限制 ,即使服務器和PIX屬于二個不同的輔助VLAN,仍然有 攻擊者能使用做他們彼此傳達的一個方法。如果他們設法直 接地溝通,他們不會能執行它由于PVLANs。如果攻陷入侵者 然后配置服務器在這種情況下數據流為相同子網被發送到路由器, 這一個在相同子網將路由數據流因而阻撓目的對于PVLANs 。
所以,VACL在運載數據流從路由器) 的主VLAN (VLAN需要配置用以下制度:
-
允許來源IP是路由器的IP的數據流
-
否決數據流帶有兩個包括源和目的地IPs是小型服務 器站的子網
-
允許數據流的所有其余
ecomm-6500-2 (enable) sh sec acl info protect_pvlan
set security acl ip protect_pvlan
---------------------------------------------------
1. permit ip host 172.16.65.193 any
2. deny ip 172.16.65.192 0.0.0.15 172.16.65.192 0.0.0.15
3. permit ip any any
ecomm-6500-2 (enable) sh sec acl
ACL Type VLANS
-------------------------------- ---- -----
protect_pvlan IP 41
此ACL不會影響PIX生成的由服務器 亦不數據流; 它只將防止路由器路由來自服務器的數據流回 到同樣VLAN。前二個語句允許路由器發送消息類似icmp重定 向或icmp不可得到到服務器。
我們 識別管理員也許希望路過VACLs 平均值的另一數據流,并且此流是 從內部網絡到VPN主機。為了執行如此,VACL可以被映射對主 VLAN (41)和與早先一個被結合:
show sec acl info all
set security acl ip protect_pvlan
1. deny ip any 10.1.1.0 0.0.0.255
2. permit ip host 172.16.65.193 any
3. deny ip 172.16.65.192 0.0.0.15 172.16.65.192 0.0.0.15
4. permit ip any any
測試配置
我們現在 ping 10.1.1.1主機從路由器193 (zundapp)。在我們映射 VACL之前, ping 是成 功的。
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms
在映射VACL以后在VLAN 41, 同一 ping 不會成功:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
然而,我們能仍然 連接 外部路由器:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 198.5.6.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 100/171/192 ms