扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:zdnet安全频道 来源:论坛整理 2008年11月24日
关键字: VLAN
本文不限于特 定软件和硬件版本。
识别和强制执行一个适当信任模式似乎是一项非常基 本任务,但在几年支持的安全实施之后,我们的经验表明安全事件 经常与恶劣的安全设计有关。通常这些设计差是不强制执行 一个适当信任模式的一个直接后果,有时因为什么是公正必要的没 有了解,其他次正因为充分地没有了解也没有误用介入的技术。
本文详细解释如何二个功能可用在我 们的Catalyst交换机,专用VLAN (PVLANs)并且VLAN 访问控制表 (VACLs),在两可帮助保证适当信任模型企业并且服务提供商环境。
不强制执行适当信任模型的一个立即后果是整体安全实施变得较不 对免疫有恶意的活动。非敏感区域(DMZs)普通是被实施没有 强制执行正确的制度因而实现一个潜在入侵者的活动。此部 分分析DMZs经常如何是被实施和设计差的后果。我们以后将 解释如何缓和,或者在最佳的案件避免,这些后果。
通常,DMZ服务器只应该处理流入请 求从互联网和最终首次与一些后端服务器的连接位于里面或其他DMZ 分段,例如数据库服务器。 同时,DMZ服务器不应该彼此谈 或首次与外界的任何连接。这在一个简单信任型号清楚地定 义了必要的数据流; 然而,我们经常看型号不足够被强制执 行的这种。
设计员通常倾向于使用 一个共用段实现DMZs为所有服务器没有对数据流的任何控制他们之 间。例如,所有服务器位于普通的VLAN。因为什么都 在同样VLAN之内不控制数据流,如果其中一个服务器被攻陷然后在 同一个分段可以使用同一个服务器来源攻击对任何服务器和主机。 这清楚地实现展开端口重定向或应用层攻击的一个潜在入侵 者的活动。
一般,只用于防火墙和信 息包过滤器控制流入的连接,但是什么都通常没有完成从DMZ限制被 发起的连接。一些时间前有允许入侵者通过发送HTTP流开始X 终端仿真程序会话的cgi-bi脚本的一个着名的弱点; 这是应 该由防火墙允许的数据流。如果入侵者足够幸运,他或她可 能使用另一种款待得到根提示,典型地缓冲溢出攻击。这类 问题可以通过强制执行一个适当信任模式避免的大多时代。首先,服务器不应该彼此谈,并且不应该于这些服务器其次发起连 接与外界。
同样备注适用于许多其他 方案,去从所有正常不信任的分段至小型服务器站在应用程序服务 提供商。
PVLANs和VACLs在Catalyst 交换机可帮助保证一个适当信任模式。PVLANs将通过限制主 机的之间数据流帮助在一个共用段,而VACLs将通过提供对产生或被 注定的所有数据流的进一步控制贡献给一个特定段。这些功 能在以下部分讨论。
PVLANs是可用的在运行CatcOs 5.4或以上,在 Catalyst 4000的Catalyst 6000,2980G、2980G-A、运行 CatcOs 6.2或以上的2948G和4912G。
从我们的透视图,PVLANs是准许分离数据流在把广播分段的变成第 二层的一个工具(L2)一个非广播multi-access-like分段。 交易在所有端口来自到交换机一个混乱端口(即是能转发主要和辅助 VLAN)能出去属于同样主VLAN的端口。交易(它可以是查出, 属性或者走向交换机自端口被映射对辅助VLAN 的双向属性VLAN)可 以转发到属于同一属性VLAN 的一个混乱端口或端口。多个 端口映射对同样隔离VLAN不能交换任何数据流。
以下镜象显示概念。
图1:专用VLAN
主VLAN在蓝色 表示; 辅助VLAN在红色和黄色表示。Host-1连接到属 于辅助VLAN红色交换机的端口。Host-2连接到属于辅助 VLAN 黄色交换机的端口。
当主机传 输时,数据流运载辅助VLAN。 例如,当时Host-2传输,其数 据流在VLAN 黄色去。当那些主机接受时,数据流来自VLAN 蓝色,是主VLAN。
路由器和防火墙其 中连接的端口是混乱端口因为在映射能转发数据流来自每个辅助 VLAN定义的那些端口并且主VLAN。端口连接到每主机能只转 发来自主VLAN和辅助VLAN 的数据流配置在该端口。
当镜象显示,主VLAN能包一个或更多 辅助VLAN。
在一个后面的章节,我们 详细描述您能使用此功能的一些其他典型的方案。
VACLs是可用的在运行 CatcOs 5.3或以后的Catalyst 6000系列。
VACLs在一台Catalyst 6500可以配置在L2 没有需要 对于路由器(您只需要Policy Feature Card (PFC))。他们 在配置VACLs被强制执行以线速那么那里是没有影响性能在 Catalyst 6500。 因为VACLs查找在硬件执行不管访问控制列 表的大小,转发速率保持不变。
VACLs可以分开被映射对主要或备用VLAN 。有在辅助VLAN配置的VACL准许过滤主机产生的数据流没有涉及路由 器或防火墙生成的数据流。
通过结合 VACLs和专用VLAN它是可能的对根据流量方向的过滤流量。例 如,如果二个路由器连接到分段和一些主机(例如服务器一样), VACLs在辅助VLAN可以配置以便主机生成的仅数据流被过滤当数据流 被交换在路由器之间是未触动过的时。
VACLs可以容易地配置强制执行适当信任模式。 请分析我们的DMZ案件。服务器在DMZ应该服务仅流入 的连接,并且他们没有预计首次与外界的连接。VACL可以适 用于他们的辅助VLAN为了控制离开这些服务器的数据流。注 意到是关键的,当时使用VACLs ,数据流在硬件降低那么那里是对 路由器的CPU的没有影响亦不交换机。在案件一个服务器在分 布拒绝服务(DDos)攻击涉及作为来源,交换机将降低所有非法数 据流以线速,没有任何影响性能。相似的过滤器在服务器在 哪里连接到的路由器或防火墙可以被应用,但这通常有严重性能指 示。
当配置过滤用VACLs时,您在PFC应该小心关于片段处理,根据硬件 的规格,并且那配置被调整。
假使 Catalyst 6500的Supervisor 1的PFC的硬件设计,明确地拒绝icmp 片段最好的。原因是互联网控制信息协议(ICMP)片段和ECHO 回复由硬件认为同样,默认情况下并且硬件被编程明确地允许片段 。如此如果想要从离开服务器终止回应数据包,您必须用线 路deny icmp any any fragment 明确配置 此。配置在本文考 虑到此。
有一个着名的安全限制对 PVLANs,是可能性路由器转发数据流来自的取消相同子网。路由器能发送数据流横跨阻挠目的对于PVLANs的隔离的端口。 此限制归结于事实PVLANs是提供隔离在L2的工具,不在第三 层(L3) 。
有修正到此问题,通过在 主VLAN配置的VACLs达到。案例分析提供在主VLAN需要配置到 下落数据流产生由相同子网和路由回到相同子网的VACLs。
在一些线路卡,PVLAN映射/映射/中 继端口的配置是受多个PVLAN映射其中必须属于不同的端口专用集成 电路的一些限制支配(ASIC)为了获得配置。那些限制在新的 端口ASIC Coil3 被去除。参见软件配置的最新的 Catalyst 交换机文档的这些详细资料。
以下部分描述三个案例 分析,我们相信是多数实施代表并且给予详细资料与PVLANs 和 VACLs的安全部署有关。
这些方案是 :
转接DMZ
外部DMZ
与防火墙并联 的VPN集中器
这是其中一个最普通配置的方案。 在本例中 ,DMZ实现一个转换区域在二个防火墙路由器之间如下图所示的。
图2:转接 DMZ
在本例中,DMZ服务器应该由外部获取并且内部用户,但他 们不需要与彼此联络。 在某些情况下,DMZ服务器需要打开 与一台内部主机的连接。同时,内部客户端应该访问互联网 没有限制。一个好例子将是那个带有网络服务器在DMZ,需要 与位于内部网络的数据库服务器联络和有内部的客户端访问互联网 。
配置外部防火墙允许与服务器的 流入的连接位于DMZ,但通常过滤器或限制没有被运用于流出的数据 流,于DMZ发起的特殊数据流。因为我们及早在本文讨论,这 能潜在实现一名攻击者的活动为二个原因: 第一个,当其中 一台DMZ主机被攻陷,其他DMZ主机显示; 第二个,攻击者能 容易地利用向外的连接。
因为DMZ服 务器不需要彼此谈,推荐是确定他们查出在L2。而连接到二 个防火墙的端口将被定义如混乱,服务器端口将被定义作为PVLANs 隔离的端口。定义主VLAN为防火墙和辅助VLAN为DMZ服务器将 达到此。
将用于VACLs控制于DMZ发 起的数据流。 这将防止一名攻击者能打开非法向外的连接。 记住DMZ服务器不仅将需要回复带有对应于客户端会话的数据 流是重要的,但他们也将需要一些其它服务,例如域名系统(DNS)和 最大传输单元(MTU)(MTU)路径发现。 如此,ACL应该允许 DMZ服务器需要的所有服务。
在我们的试验床我 们实现一个DMZ分段用二个路由器配置作为床服务器,server_dmz1 和server_dmz2。这些服务器应该由超出获取以及里面客户端 ,并且所有HTTP连接通过使用一个内部RADIUS服务器验证 (CiscoSecure ACS UNIX版)。内部和外部路由器配置作为 信息包过滤器防火墙。以下图片说明试验床,包括使用的编 址方案。
图3:转接DMZ试验 床
以下列表收集基本配置步骤PVLANs。 Catalyst 6500 在DMZ使用L2交换机。
Server_dmz_1 连接到端口3/9
Server_dmz_2连接到 端口3/10
内部路由器连接到端口 3/34
外部路由器连接到端口 3/35
我们选择了以下VLAN:
41是主VLAN
42是隔离VLAN
专用VLAN配置
以下配置在端口设置 PVLANs介入。
ecomm-6500-2 (enable) set vlan 41 pvlan primary
VTP advertisements transmitting temporarily stopped,
and will resume after the command finishes.
Vlan 41 configuration successful
ecomm-6500-2 (enable) sh pvlan
Primary Secondary Secondary-Type Ports
------- --------- ---------------- ------------
41 - -
ecomm-6500-2 (enable) set vlan 42 pvlan isolated
VTP advertisements transmitting temporarily stopped,
and will resume after the command finishes.
Vlan 42 configuration successful
ecomm-6500-2 (enable) set pvlan 41 42 3/9-10
Successfully set the following ports to Private Vlan 41,42:
3/9-10
ecomm-6500-2 (enable) set pvlan mapping 41 42 3/35
Successfully set mapping between 41 and 42 on 3/35
ecomm-6500-2 (enable) set pvlan mapping 41 42 3/34
Successfully set mapping between 41 and 42 on 3/34
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/9 server_dmz1 connected 41,42 a-half a-10 10/100BaseTX
3/10 server_dmz2 connected 41,42 a-half a-10 10/100BaseTX
3/34 to_6500_1 connected 41 auto auto 10/100BaseTX
3/35 external_router_dm connected 41 a-half a-10 10/100BaseTX
此部分是关键改进安全在DMZ。如所描述在 VACLs 和PVLANs 部分的 已知限制 ,即使服务器属于二个不同 的辅助VLAN或同样隔离VLAN,仍然有攻击者能使用做他们彼此传达 的一个方式。如果服务器设法直接地沟通,他们不会能执行 它在L2由于PVLANs。 如果攻陷入侵者然后配置服务器在这种 情况下数据流为相同子网被发送到路由器,这一个在相同子网将路 由数据流因而阻挠目的对于PVLANs。
所以,VACL在运载数据流从路由器)的主VLAN (VLAN 需要配置用以下制度:
允许来源IP 是路由器的IP的数据流
否决数据流 带有两个包括源和目的地IPs是DMZ子网
允许数据流的所有其余
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. permit ip host 172.16.65.201 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
ecomm-6500-2 (enable) sh sec acl
ACL Type VLANS
-------------------------------- ---- -----
protect_pvlan IP 41
此ACL不会影响服务器生成的数据流; 它只 将防止路由器路由来自服务器的数据流回到同样VLAN。前二 个语句允许路由器寄发消息例如icmp重定向或icmp不可得到到服务 器。
使用 以下配置日志显示我们如何设置VACL过滤服务器生成的数据流。 通过配置此VACL我们想要达到以下:
允许 ping 从服务器(允许 响应)
防止 从 离开服务器的ECHO回 复
允许从外面发起的HTTP连接
允许RADIUS认证(UDP端口1645)和记 帐(UDP 端口1646)数据流
允许DNS 数据流(UDP端口53)
我们想要防止数 据流的所有其余。
只要分段,我们 假设以下在服务器分段:
服务器不 会生成分段的数据流
服务器也许收 到分段的数据流
假使Catalyst 6500 的Supervisor 1的PFC的硬件设计,明确地拒绝原因是的icmp片段最 好的ICMP 片段和ECHO回复由硬件认为同样,默认情况下并且硬件 被编程明确地允许片段。如此如果想要从离开服务器终止回 应数据包您必须用线路deny icmp any any fragment 明确配置 此。
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out deny icmp any any fragment
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit icmp host 172.16.65.199 any echo
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit icmp host 172.16.65.202 any echo
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit tcp host 172.16.65.199 eq 80 any established
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit tcp host 172.16.65.202 eq 80 any established
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit udp host 172.16.65.199
eq 1645 host 172.16.171.9 eq 1645
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit udp host 172.16.65.202
eq 1645 host 172.16.171.9 eq 1645
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit udp host 172.16.65.199
eq 1646 host 172.16.171.9 eq 1646
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit udp host 172.16.65.202
eq 1646 host 172.16.171.9 eq 1646
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit udp host 172.16.65.199 any eq 53
ecomm-6500-2 (enable) Set sec acl ip dmz_servers_out permit udp host 172.16.65.202 any eq 53
ecomm-6500-2 (enable) Commit sec acl all
ecomm-6500-2 (enable) Set sec acl map dmz_servers_out 42
ecomm-6500-2 (enable) sh sec acl
ACL Type VLANS
-------------------------------- ---- -----
protect_pvlan IP 41
dmz_servers_out IP 42
ecomm-6500-2 (enable) sh sec acl info dmz_servers_out
set security acl ip dmz_servers_out
---------------------------------------------------
1. deny icmp any any fragment
2. permit icmp host 172.16.65.199 any echo
3. permit icmp host 172.16.65.202 any echo
4. permit tcp host 172.16.65.199 eq 80 any established
5. permit tcp host 172.16.65.202 eq 80 any established
6. permit udp host 172.16.65.199 eq 1645 host 172.16.171.9 eq 1645
7. permit udp host 172.16.65.202 eq 1645 host 172.16.171.9 eq 1645
8. permit udp host 172.16.65.199 eq 1646 host 172.16.171.9 eq 1646
9. permit udp host 172.16.65.202 eq 1646 host 172.16.171.9 eq 1646
10. permit udp host 172.16.65.199 any eq 53
11. permit udp host 172.16.65.202 any eq 53
以下输出获取当 PVLANs配置但是VACL其中不应用。此试验证明从外部路由器 用户能 连接 内部路由器 并且服务器。
external_router#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:
!!!!
external_router#ping 172.16.65.202
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.202, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
external_router#ping 172.16.65.199
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.199, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
以下示例表示,我们 能 从 服务器连接 对外部网络,默认网关,但属于同样辅助VLAN的不是服务器 。
server_dmz1#ping 203.5.6.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 203.5.6.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
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 = 4/4/4 ms
server_dmz1#ping 172.16.65.202
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.202, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
在映射VACLs以后, ping 从外部路由器不 再成功:
external_router#ping 172.16.65.199
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.65.199, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
以下示例显示收到 HTTP GET请求的服务器从内部网络:
server_dmz1#debug ip http url
HTTP URL debugging is on
server_dmz1#debug ip hhtp tran
HTTP transactions debugging is on
server_dmz1#debug ip http auth
HTTP Authentication debugging is on
server_dmz1#
*Mar 7 09:24:03.092 PST: HTTP: parsed uri '/'
*Mar 7 09:24:03.092 PST: HTTP: client version 1.0
*Mar 7 09:24:03.092 PST: HTTP: parsed extension Connection
*Mar 7 09:24:03.092 PST: HTTP: parsed line Keep-Alive
*Mar 7 09:24:03.092 PST: HTTP: parsed extension User-Agent
*Mar 7 09:24:03.092 PST: HTTP: parsed line Mozilla/4.7 [en] (X11; I; SunOS 5.5.1 sun4u)
*Mar 7 09:24:03.092 PST: HTTP: parsed extension Host
*Mar 7 09:24:03.092 PST: HTTP: parsed line 172.16.65.199
*Mar 7 09:24:03.092 PST: HTTP: parsed extension Accept
*Mar 7 09:24:03.092 PST: HTTP: parsed line image/gif, image/x-xbitmap, image/jpeg, image/
*Mar 7 09:24:03.092 PST: HTTP: parsed extension Accept-Encoding
*Mar 7 09:24:03.092 PST: HTTP: parsed line gzip
*Mar 7 09:24:03.096 PST: HTTP: parsed extension Accept-Language
*Mar 7 09:24:03.096 PST: HTTP: parsed line en
*Mar 7 09:24:03.096 PST: HTTP: parsed extension Accept-Charset
*Mar 7 09:24:03.096 PST: HTTP: parsed line iso-8859-1,*,utf-8
*Mar 7 09:24:03.096 PST: HTTP: Authentication for url '/' '/' level 15 privless '/'
*Mar 7 09:24:03.096 PST: HTTP: authentication required, no authentication information was provided
*Mar 7 09:24:03.096 PST: HTTP: authorization rejected
*Mar 7 09:24:22.528 PST: HTTP: parsed uri '/'
*Mar 7 09:24:22.532 PST: HTTP: client version 1.0
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Connection
*Mar 7 09:24:22.532 PST: HTTP: parsed line Keep-Alive
*Mar 7 09:24:22.532 PST: HTTP: parsed extension User-Agent
*Mar 7 09:24:22.532 PST: HTTP: parsed line Mozilla/4.7 [en] (X11; I; SunOS 5.5.1 sun4u)
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Host
*Mar 7 09:24:22.532 PST: HTTP: parsed line 172.16.65.199
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Accept
*Mar 7 09:24:22.532 PST: HTTP: parsed line image/gif, image/x-xbitmap, image/jpeg, image/
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Accept-Encoding
*Mar 7 09:24:22.532 PST: HTTP: parsed line gzip
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Accept-Language
*Mar 7 09:24:22.532 PST: HTTP: parsed line en
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Accept-Charset
*Mar 7 09:24:22.532 PST: HTTP: parsed line iso-8859-1,*,utf-8
*Mar 7 09:24:22.532 PST: HTTP: parsed extension Authorization
*Mar 7 09:24:22.532 PST: HTTP: parsed authorization type Basic
*Mar 7 09:24:22.532 PST: HTTP: Authentication for url '/' '/' level 15 privless '/'
*Mar 7 09:24:22.532 PST: HTTP: Authentication username = 'martin' priv-level = 15 auth-type = aaa
*Mar 7 09:24:22.904 PST: HTTP: received GET ''
外部DMZ方案可能 是被接受的和广泛配置的实施。外部DMZ通过使用防火墙的一 个或更多接口实现,如显示下面的图。
图4:外部DMZ
不管设计实施 ,通常DMZs的需求倾向于是相同。正如在早先案件,DMZ服务 器应该是可访问的从外部客户端并且从内部网络。 DMZ服务 器最终将需要对一些内部资源的访问,并且他们不应该彼此谈。 同时,不应该从DMZ初始化数据流对互联网; 这些DMZ 服务器应该只回复带有对应于流入的连接的数据流。
正如在早先案例分析,第一配置步 骤在达到包括隔离在L2通过PVLANs,并且确定DMZ 服务器不能彼此 谈当内部和外部主机能访问他们时。这在辅助VLAN通过设置 服务器实现与隔离的端口。在主VLAN应该定义防火墙与一个 混乱端口。防火墙将是唯一的设备在此主VLAN之内。
第二步将定义ACLs控制于DMZ发起的 数据流。当定义这ACLs时我们需要确定仅必要的数据流允许 。
下面的镜象显示 为此案例分析实现的试验床,我们其中使用了一个PIX防火墙与第三 个接口为DMZ。同一个这一组路由器使用作为网络服务器,并 且所有HTTP会话用同一个RADIUS服务器验证。
图5:外部DMZ试验床
为此方案因为 PVLANs和VACL配置在早先案例分析中,详细解释了我们附有仅更加 有趣的摘要从配置文件。
NAS配置
aaa new-model
aaa authentication login default radius local
aaa authentication login consoleauth none
aaa authorization exec default radius local
aaa authorization exec consoleautho none
aaa accounting exec default start-stop radius
aaa accounting exec consoleacct none
radius-server host 172.16.171.9 auth-port 1645 acct-port 1646
radius-server key cisco123
!
line con 0
exec-timeout 0 0
password ww
authorization exec consoleautho
accounting exec consoleacct
login authentication consoleauth
transport input none
line aux 0
line vty 0 4
password ww
!
end
RADIUS服务器 CSUX
User Profile Information user = martin{ profile_id = 151 profile_cycle = 5 radius=Cisco { check_items= { 2=cisco } reply_attributes= { 6=6 } } } User Profile Information user = NAS.172.16.65.199{ profile_id = 83 profile_cycle = 2 NASName="172.16.65.199" SharedSecret="cisco123" RadiusVendor="Cisco" Dictionary="DICTIONARY.Cisco" }
应该注意它在此配置没有需要配置VACL 在主VLAN因 为PIX不重定向来自的数据流在同一个接口外面。VACL作为 在VACL配置 描述的 那个 在主VLAN 部分冗余。
set security acl ip dmz_servers_out
---------------------------------------------------
1. deny icmp any any fragment
2. permit icmp host 199.5.6.199 any echo
3. permit icmp host 199.5.6.202 any echo
4. permit tcp host 199.5.6.199 eq 80 any established
5. permit tcp host 199.5.6.202 eq 80 any established
6. permit udp host 199.5.6.199 eq 1645 host 172.16.171.9 eq 1645
7. permit udp host 199.5.6.202 eq 1645 host 172.16.171.9 eq 1645
8. permit udp host 199.5.6.199 eq 1646 host 172.16.171.9 eq 1646
9. permit udp host 199.5.6.202 eq 1646 host 172.16.171.9 eq 1646
10. permit udp host 199.5.6.199 any eq 53
11. permit udp host 199.5.6.202 any eq 53
ecomm-6500-2 (enable) sh pvlan
Primary Secondary Secondary-Type Ports
------- --------- ---------------- ------------
41 42 isolated 3/9-10
ecomm-6500-2 (enable) sh pvlan mapping
Port Primary Secondary
---- ------- ---------
3/14 41 42
3/34 41 42
3/35 41 42
ecomm-6500-2 (enable) sh port
Port Name Status Vlan Duplex Speed Type
----- ------------------ ---------- ---------- ------ ----- ------------
3/9 server_dmz1 connected 41,42 a-half a-10 10/100BaseTX
3/10 server_dmz2 connected 41,42 a-half a-10 10/100BaseTX
3/14 to_pix_port_2 connected 41 full 100 10/100BaseTX
3/35 external_router_dm notconnect 41 auto auto 10/100BaseTX
当 建设访问虚拟专用网络(时VPN),无容置疑地一个偏爱的途径是并行 设计(说明在下面的镜象)。用户通常更喜欢此设计方法因为 实现,带有几乎没有影响到现有基础设施是容易的,并且因为它是 相对容易对根据设备灵活性的缩放比例。
在平行接近,VPN集中器连接到在分段内外。所有VPN会话终止在集中器没有通过防火墙。通常VPN客户端 软件预计有对内部网络的无限制访问,但他们的访问可以有时被限 制对一套内部的服务器(小型服务器站)。 其中一个理想的功 能是从正常互联网数据流分离VPN数据流,因此例如,VPN客户端软 件不允许通过公司防火墙访问互联网。
图6:与防火墙并联的VPN 集中器
在本例中,我们使 用了一台VPN 5000 集中器,平行安装对PIX防火墙。二个路 由器配置作为网络服务器安装了在内部的分段作为一个内部服务器 组群。VPN客户端软件只允许访问小型服务器站,并且应该从 VPN 数据流(IPSec)分离互联网数据流。下面的图显示试验床 。
图7:与防火墙并联的VPN 集中器试验床
在此方案我们 有二个主要兴趣范围:
内部L2交换 机
外部L2交换机
数据流为内部L2交换机被定义根据以下语句:
VPN客户端软件有对预定义的套的完 全权限内部服务器(小型服务器站)
内部客户端也允许访问小型服务器站
内部客户端有对互联网的无限制访问
必须与PIX防火墙分离来自VPN集中 器的数据流
数据流为外部L2交换机 被定义如下:
来自路由器的数据流 一定能去VPN 集中器或PIX
必须与 来自VPN的数据流分离来自PIX的数据流
另外很可能,管理员想要防止数据流内部网络从能做 其方式对VPN主机,这可以通过在主VLAN配置的VACLs达到(VACL将过 滤离开从内部路由器的仅数据流,没有其他数据流受影响)。
因为主要目标在此 设计将继续数据流来自从数据流分离PIX来自自服务器和VPN集中器 ,我们在不同的PVLAN比服务器和VPN集中器配置的PVLAN配置PIX。
来自内部网络的数据流一定能访问 小型服务器站并且VPN集中器和PIX。结果,连接到内部网络 的端口是一个混乱端口。
因为他们 能彼此,沟通服务器和VPN 集中器属于同样辅助VLAN。
关于外部L2交换机,产生的路由器 对的访问典型地属于网络服务提供商(ISP)的互联网()连接到一个混 乱端口当时VPN集中器和PIX 属于同样专用和隔离VLAN (以便他们 不能交换任何数据流)。通过执行此,来自服务提供商的数据 流能采取路径对VPN集中器或路径对PIX。因为他们查出,PIX 和VPN 集中器是保护。
此实验表示,内部路 由器能通过防火墙和到达外部路由器(接口是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 部分的 已知限制 解释了 。
此部分是关键改进安 全在小型服务器站。如所描述在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
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。