网络安全 频道

实例解析防火墙部署搭建与故障排除

  【IT168技术】安全无小事!近段时间“密码泄露”事件闹得沸沸扬扬,人心惶惶。先是CSDN用户数据库的泄露,这对从事计算机技术工作的人员来说可谓是当头一棒。因为绝大多数IT技术工作者都在CSDN注册过账号,而且几乎都是使用同一个用户名和密码,注册了其它类的技术网站。发生“CSDN用户数据库泄露”事件后,反正我是赶紧把自己在用的许多技术类网站的密码都改了过来。但是刚改完没多久,又出现了天涯、新浪微博等泄密事件。真是防不胜防!

  难道互联网上就没有安全的地方了吗?我认为还是有的,要不然也没有这么多人使用互联网。只不过近段时间接二连三暴露的问题太多了。不过,有了问题只要通过各种安全措施把它解决了,同样可以提高互联网的安全性。本文就涉及到企业网络中防火墙设备部署、安装和配置。虽然防火墙不能解决所有的安全问题,但它在网络中的部署也是绝对不能少的。

实例解析防火墙部署搭建与故障排除一


▲图1 单位网络架构和防火墙部署图示

  一、网络架构和防火墙部署情况

  单位网络结构图如图1所示。为了确保重要设备的稳定性和冗余性,核心层交换机使用两台6509-E,通过Trunk线连接。在办公区的接入层使用了多台Cisco 2960交换机,图示为了简洁,只画出了两台。在核心层交换机6509-E上,通过防火墙连接有单位重要的服务器,如FTP、E-MAIL服务器和数据库等。单位IP地址的部署,使用的是C类私有192网段的地址。DHCP服务器的IP地址为192.168.10.1,FTP服务器的IP地址是192.168.5.2。Cisco 6509-E和Cisco 3750之间,以及Cisco 3750和Cisco 2960之间都是Trunk连接。

  图1中的橘黄色线表示的是用光纤连接,蓝色线表示的是用双绞线连接。而且从两台6509上分别延伸出来了的两条黄色线,一条竖线和一条横线,它们在拓扑图中其实是对两台6509上端口的一种扩展,并不是这两条线只连接到6509上的一个端口,而是连接了多个端口。这种布局的拓扑图,在结构上就显得更清晰明了。

  单位根据部门性质的不同,把各个部门的电脑划入到不同的VLAN中。服务器都位于VLAN 2至VLAN 10中,对应的网络号是192.168.2.0~192.168.10.0,如DHCP服务器位于VLAN 10中,FTP服务器位于VLAN 5中。服务器的IP地址、默认网关和DNS都是静态配置的。VLAN 11至VLAN 150是属于办公部门使用的,对应的网络号是192.168.11.0~192.168.150.0。VLAN号和网络号之间都是对应的。VLAN中的PC都是通过Cisco 2960接入到网络中,3750都是二层配置,三层的配置都在Cisco 6509上,也就是VLAN间的路由都是通过6509完成的。PC的IP地址、默认网关和DNS都是自动从DHCP服务器上获得的,不用手工静态配置。

  如图1所示,两台防火墙都是联想Power V防火墙,它们运行的模式都为透明模式,也就是以“桥”模式运行的,本身只需要配置一个管理IP地址,不必占用任何其它的IP资源,也不需要改变用户的拓扑环境,设备的运行对用户来说是“透明”的,在网络设备上进行各种命令的配置时,就当不存在这两个防火墙一样,因为它们是透明模式。它们只对线路上的数据包作安全检查,和安全策略上的限制,本身不会影响网络的整体架构和配置。这种模式在安装和维护防火墙时,相对防火墙的另外一种运行模式——路由模式,来说要简单很多。

  Cisco 6509-E和核心区Cisco 2960之间不是Trunk模式连接,而是使用接入模式连接的,也就是两台Cisco 6509-E的Gi3/2位于VLAN 5中,核心区两台Cisco 2960的Gi0/1也位于VLAN 5中。两台6509和两台3750之间,以及办公区中网络设备间的连接情况如下所示:

  Cisco 6509-E1 GigabitEthernet 3/1 <----> Cisco3750A GigabitEthernet 1/0/25

  Cisco 6509-E2 GigabitEthernet 3/1 <----> Cisco3750B GigabitEthernet 1/0/25

  Cisco 3750A GigabitEthernet 1/0/1 <-----> Cisco 2960A GigabitEthernet 0/1

  Cisco 3750B GigabitEthernet 1/0/1 <-----> Cisco 2960B GigabitEthernet 0/1

  两台6509和两台防火墙之间的,以及核心区中网络设备间的连接情况如下所示:

  Cisco 6509-E1 GigabitEthernet 3/2 <-----> FW-A GigabitEthernet 1

  Cisco 6509-E2 GigabitEthernet 3/2 <-----> FW-B GigabitEthernet 1

  FW-A GigabitEthernet 2 <-----> Cisco 2960A GigabitEthernet 0/1

  FW-B GigabitEthernet 2 <-----> Cisco 2960B GigabitEthernet 0/1

  二、主要网络设备上的配置情况

  1、两台核心交换机上的配置情况。在Cisco 6509-E1上的主要配置如下所示:

  hostname Cisco 6509-E1

  !

  interface GigabitEthernet3/1

  description Link3750A_1/0/25

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  !

  interface GigabitEthernet3/2

  description Link_FW-A_Gi1

  switchport access vlan 5

  switchport mode access

  !

  interface Vlan5

  ip address 192.168.5.252 255.255.255.0

  standby 5 ip 192.168.5.254

  standby 5 priority 120

  standby 5 preempt

  !

  interface Vlan115

  ip address 192.168.115.252 255.255.255.0

  standby 115 ip 192.168.115.254

  standby 115 priority 120

  standby 115 preempt

  其中命令“ip address 192.168.5.252 255.255.255.0”是给指定的VLAN配置IP地址。

  命令“standby 5 priority 120”中的“priority”是配置HSRP的优先级,5为组序号,它的取值范围为0~255,120为优先级的值,取值范围为0~255,数值越大优先级越高。

  优先级将决定一台路由器在HSRP备份组中的状态,优先级最高的路由器将成为活动路由器,其它优先级低的路由器将成为备用路由器。当活动路由器失效后,备用路由器将替代它成为活动路由器。当活动和备用路由器都失效后,其它路由器将参与活动和备用路由器的选举工作。优先级都相同时,接口IP地址高的将成为活动路由器。

  “preempt”是配置HSRP为抢占模式。如果需要高优先级的路由器能主动抢占成为活动路由器,则要配置此命令。配置preempt后,能够保证优先级高的路由器失效恢复后总能成为活动路由器。活动路由器失效后,优先级最高的备用路由器将处于活动状态,如果没有使用preempt技术,则当活动路由器恢复后,它只能处于备用状态,先前的备用路由器代替其角色处于活动状态。

  命令“standby 5 ip 192.168.5.254”作用是启动HSRP,如果虚拟IP地址不指定,路由器就不会参与备份。虚拟IP应该是接口所在的网段内的地址,不能配置为接口上的IP地址。

  在Cisco 6509-E2上的主要配置如下所示:

  hostname Cisco 6509-E2

  !

  interface GigabitEthernet3/1

  description Link3750B_1/0/25

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  !

  interface GigabitEthernet3/2

  description Link_FW-B_Gi1

  switchport access vlan 5

  switchport mode access

  !

  interface Vlan5

  ip address 192.168.5.253 255.255.255.0

  standby 2 ip 192.168.5.254

  standby 2 priority 120

  standby 2 preempt

  !

  interface Vlan115

  ip address 192.168.115.253 255.255.255.0

  standby 2 ip 192.168.115.254

  standby 2 priority 120

  standby 2 preempt

  2、在办公区两台Cisco 3750和两台Cisco 2960上的配置情况。在Cisco 3750A上的配置:

  hostname Cisco3750A

  !

  interface GigabitEthernet1/0/25

  description Link6509-E1 3/1

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  !

  interface GigabitEthernet1/0/1

  description Link2960A 0/1

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  在Cisco 3750B上的配置:

  hostname Cisco3750B

  !

  interface GigabitEthernet1/0/25

  description Link6509-E2 3/1

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  !

  interface GigabitEthernet1/0/1

  description Link2960B 0/1

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  在Cisco 2960A上的配置:

  hostname Cisco2960A

  !

  interface GigabitEthernet0/1

  description Link3750A 1/0/1

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  在Cisco 2960B上的配置:

  hostname Cisco2960B

  !

  interface GigabitEthernet0/1

  description Link3750B 1/0/1

  switchport trunk encapsulation dot1q

  switchport trunk allowed vlan 5,115

  switchport mode trunk

  3、在核心区两台Cisco 2960上的主要配置情况如下所示。在Cisco 2960A上的配置:

  hostname Cisco2960A

  !

  interface GigabitEthernet0/1

  description Link3750A 1/0/1

  switchport access vlan 5

  switchport mode access

  在Cisco 2960B上的配置:

  hostname Cisco2960B

  !

  interface GigabitEthernet0/1

  description Link3750B 1/0/1

  switchport access vlan 5

  switchport mode access

  注意,在办公区和核心区中Cisco 2960交换机上的配置情况是不一样的,前者交换机上的端口的配置为Trunk模式,而后者的端口模式为Access模式。

  三、故障发生及排查故障的过程

  配置完上面的命令后,在办公区用户的电脑上,应该就能访问到核心区服务器上的资源。例如在办公区有一用户PC的IP地址为192.168.115.2,子网掩码为255.255.255.0,默认网关为192.168.115.254。它应该是能访问到核心区的FTP服务器,FTP服务器的IP地址为192.168.5.2,子网掩码也是255.255.255.0,默认网关为192.168.5.254。一般在PC浏览器的地址栏中输入ftp://192.168.5.2回车后,就能显示出一个对话框,提示输入用户名和密码,然后就能访问到FTP服务器上的资源。但结果却访问不成功,根本就没有对话框提示输入用户名和密码。

 

实例解析防火墙部署搭建与故障排除二


▲图2 办公用户访问FTP服务器的数据流向图示

  办公区用户PC访问核心区FTP服务器的数据流向如图2所示。因为在办公区的两台Cisco 3750,和核心区的两台防火墙、两台Cisco 2960,以及两台核心交换机Cisco 6509-E都是双机热备或负载均衡的运行模式,所以数据流向只要通过两台中的任意一台就都是正常的。

 

实例解析防火墙部署搭建与故障排除二


▲图3 可能发生故障的网络简洁拓扑图

  既然已经知道了数据的流向,也就能大致确定故障发生在什么地方。为了图示的简洁明了,把图2再进一步精简,得到如图3所示的拓扑图。从图3中可以看出,整个的数据流向就一条线,这样排查故障也就比较简单,排查故障的步骤如下:

  第一步:在办公区用户的PC“命令行”CMD中执行命令“telnet 192.168.5.2 21”得到的输出结果为:

  “正在连接192.168.5.2...无法打开到主机的连接。 在端口 21: 连接失败”。

  这就说明在PC上不能登录到FTP服务器的21端口上。原因可能有很多种,可能是用户PC和FTP服务器之间的网络不通,也可能是FTP服务器上的21端口根本就没有打开。

  第二步:确定是不是网络的故障。在办公区用户的PC“命令行”CMD中执行命令“ping 192.168.5.2”,得到如下的输出结果:

  C:UsersAdministrator>ping 192.168.5.2

  正在 Ping 192.168.5.2 具有 32 字节的数据:

  请求超时。

  请求超时。

  请求超时。

  请求超时。

  192.168.5.2 的 Ping 统计信息:

  数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失)

  从上面的输出结果可以看出PC和FTP服务器之间的网络是不通的。既然不通就要找出在图3中的“一条线”中到底是在那个设备上出了问题。

  第三步:在办公区用户PC的“命令行”CMD中执行命令“tracert 192.168.5.2”,它可以定位到数据包在传输过程中到底在哪个设备上出了问题。执行命令得到如下的输出结果:

  C:UsersAdministrator>tracert 192.168.5.2

  通过最多 30 个跃点跟踪到 192.168.5.2 的路由

  1 1 ms <1 毫秒 <1 毫秒 192.168.115.254

  2 * * * 请求超时

  3 * * * 请求超时

  上面的输出在第“3”行的下面本来还有很多,都省略了。因为数据包不能成功到达目的地192.168.5.2,所以它只能像第“3”行那样往下延续的输出。从输出的结果可以看出,PC上发出的数据包只能到达Cisco 6509上,因为第“1”行输出中的192.168.115.254就是6509上Vlan 115的IP地址。也就是PC和6509之间的路由是通的,为了验证这个结果,我们在PC的命令行中执行了命令“ping 192.168.115.254”,结果能成功ping通。

  其实,这也很好理解,PC发出的数据包,通过两个交换机Cisco 2960和Cisco 3750的二层广播功能,直接把数据包发送到了6509的三层端口VLAN 115上,VLAN 115收到数据包后发现是Ping命令,就再把收到的数据包返回给PC。所以,在PC上能ping通6509。但是,从电脑PC上发出的Ping数据包,在6509上就不能路由到FTP服务器,因为从执行命令“tracert 192.168.5.2”,输出的第“2”行一直往下,收不到返回的数据包。所以现在可以把故障定位在6509和FTP服务器之间。

  第四步:这一步需要确定是不是因为FTP服务器引起的这种故障现象。所以就找了一台状态良好的笔记本电脑,把插在FTP服务器上的网线拔下来插到笔记本电脑的网口上,然后把笔记本电脑网口的IP地址、子网掩码和默认网关,都配置成和FTP服务器完全一样的。然后,再次在办公区的电脑上执行和上面一样的Ping命令、Telent命令和Tracert命令。结果与上面前三步的测试结果一样,还是不通。这就排除了不是FTP服务器引起的这种故障现象。其实,在这一步中所使用排除故障的方法,就是最简单,也是最常用的“替换法”。

  第五步:因为在6509和FTP服务器之间,所经过的网络设备就只有6509、防火墙和2960,而2960上都是非常简单的二层配置,出现错误配置的可能性不大。6509在前三步的测试中,也没有发现有什么异常现象。所以问题最有可能出在防火墙上。

  打开防火墙的WEB管理配置界面,查看其中的安全策略配置,发现其中并没有配置允许192.168.115.2访问192.168.5.2的策略。因为所使用的防火墙策略,默认是全禁止的,也就是默认情况下防火墙不允许任何数据包通过,除非在它上面配置了允许某个数据包通过的策略。所以,只要在防火墙上添加了允许办公区用户访问FTP服务器的安全策略,就可以解决上面的问题。同时也要添加允许192.168.115.2的IP地址Ping地址192.168.5.2的策略,这样在PC上也就能Ping通FTP服务器了。

  四、防火墙安全策略的配置。

  在防火墙上总共需要配置添加两个策略,才能解决上面的故障,如下所示。

  1、在防火墙上添加允许办公区用户访问FTP服务器的安全策略。如图4所示,是添加策略的Web界面。标红色星号的选项是必须填写的。“规则名”为Vlan115-to-Vlan5;“序号”是自动生成的;“源地址”和“目的地址”的IP地址和子网掩码就按如图所示的填写即可,但注意子网掩码一定要写255.255.255.255,不能写成255.255.255.0。因为前者的子网掩码只对应一个IP地址,而后者则对应的是一个网段。如果把源地址和它的子网掩码写成192.168.115.2和255.255.255.255,意思就是只允许192.168.115.2这一个IP地址访问FTP服务器。但若是把子网掩码写成了255.255.255.0,那对应的安全策略就成了允许所有属于192.168.115.0/24这个网段的IP地址访问FTP服务器。

在防火墙WEB管理界面中添加允许访问FTP服务

  图4 在防火墙WEB管理界面中添加允许访问FTP服务

  “动作”共有四个选项,但只能选择其中一项,“允许”就是允许与源地址和目的地址匹配的IP数据包通过,“禁止”就是不允许通过。还有两个选项是在防火墙上使用其它的安全功能时才选择的。最后一个选项是“服务”,这个是从服务的下拉菜单中选择的,选择的是ftp服务。一般在防火墙之类的安全设备上都会默认定义一些常用的安全服务,如FTP、HTTP和ICMP等。另外,还有如下所示几个功能,虽然在本例中没有使用,但也非常重要。

  “源端口”中端口号的填写,可以用英文逗号分割表示多个端口,或用英文冒号分割表示端口段。两种分割方式不能同时使用。“源MAC”是指数据包中二层的源MAC地址。

  “流入网口”是限制网络数据包的流入网口,可以防止IP欺骗。可选内容包括:any和所有已激活的网口。默认值为any,表示不限制接收网口。如果防火墙工作在透明模式,必须选择相应的物理网口如Gi1。如果不能确定流入网口或工作在混合模式,就选择any。

  “流出网口”流出网口检查,当选择源地址转换时才能选择。在透明模式下需要选择桥设备。如果不能确定流出网口或工作在混合模式,应当选择any。

  “时间调度”是指在指定的时间段内,安全规则为生效状态,在指定的时间段外,安全规则就变为无效。

  2、在防火墙上添加,允许所有的Ping命令都能通过防火墙的策略。如图5所示,是在防火墙的WEB管理界面中添加此策略的示意图。“规则名”为ICMP;“序号”为18,也是系统自动生成的;注意“源地址”和“目的地址”中的IP地址、子网掩码任何内容都没有填写。其实这种情况下,不输入任何地址就代表所有的IP地址。也就是所有Ping的数据包,无论它的源地址和目的地址是什么IP地址,都允许它通过防火墙;“动作”选择允许;“服务”选择的是icmp_any,它代表的就是Ping命令所使用的服务。在图5中的,还有以下的几个功能选项在本例中也是没有使用,但也非常重要。

  “长连接”设定该条规则可以支持的长连接时间。0为不限时。若限时,则有效的时间范围是30-288000分钟。如果希望在指定的时间之后断开连接,就可以设定该功能。

  “深度过滤”在生效的安全规则中执行深度过滤。不过,对数据包进行应用层的过滤会影响系统的处理性能,所以一般情况下不要启用深度过滤。可以在下拉框的选项中选择“无”,从而不启用深度过滤功能。

在WEB管理界面中添加允许Ping包通过防火墙

  图5 在WEB管理界面中添加允许Ping包通过防火墙

  “P2P过滤”对满足条件的数据包进行BT过滤。Emule和Edonkey过滤,只在包过滤“允许”的情况下可用,至少选择“BT过滤”、“Emule和Edonkey过滤”的其中一个时,才可以选择“P2P日志纪录”。

  这里BT过滤就是对于满足该规则的连接,禁止其BT下载,支持的BT客户端包括BitComet 0.60以下版本、BitTorrent和比特精灵。Emule和Edonkey过滤就是对于满足该规则的连接,禁止其Emule和Edonkey下载。不过,对于已经建立连接的BT/ed2K的下载,不能禁止,必须重启BT/ed2K客户端后才能生效。

  “抗攻击”共包括四种抗攻击。TCP服务可以选择抗SYN Flood攻击;UDP服务可以选择抗UDP Flood攻击;ICMP服务可以选择ICMP Flood和抗Ping of Death攻击。也可以在一条规则中,选择多个抗攻击选项。四种抗攻击的详细说明如下:

  ——当允许TCP规则时,选择了抗SYN Flood攻击,防火墙会对流经的带有Syn标记的数据进行单独的处理。抗Syn Flood攻击之后的输入框填写数值的具体含义:个位数为保留数字,0-9分别代表抗攻击强度,从弱到强。设置数字的位数如果超过两位,则该数字减去个位的数字表示限制每秒通过的能够真正建立TCP连接的带有Syn标志数据包的个数。如果设置为0,表示每秒通过的带有Syn标志的数据包大于90,才进行能否真正建立TCP连接;如果设置为1,表示每秒通过的带有Syn标志的数据包大于80,才进行能否真正建立TCP连接;如果设置为9,表示通过的带有Syn标志的数据包都经过了防火墙的判断,确认是可以建立真正TCP连接的数据包。

  ——当允许UDP规则时,选择了抗UDP Flood攻击,防火墙会对流经的UDP数据进行单独的处理。抗UDP Flood攻击之后的输入框填写的数值的具体含义是限制每秒通过的UDP数据包的个数。

  ——当允许ICMP规则时,选择了抗ICMP Flood攻击,防火墙会对流经的ICMP数据包进行单独的处理。抗ICMP Flood攻击之后的输入框填写的数值的具体含义是限制每秒通过的ICMP数据包的个数。

  ——当允许ICMP规则时,选择了抗Ping of Death攻击,防火墙会对流经的ICMP数据包进行单独的处理。含有Ping of Death 攻击特征类型的数据包将被过滤掉。

  “包过滤日志”强制要求匹配该条规则的数据包是否需要记录包过滤日志。

  3、在防火墙的WEB管理界面中,配置添加完以上两条安全策略后,也就解决了在办公区用户的电脑上不能Ping通,和不能访问FTP服务器上资源的故障。

  五、总结。

  1、随着互联网的飞速发展,网络安全问题越来越突出,人们的安全意识也不断地提高,但现在还没有一项技术和工具比防火墙解决网络的安全问题更有效。利用它强大的隔离和预防作用,通过在网络边界进行隔离,是改善网路安全状况最有效的方式。防火墙通常是圈定一个保护的范围,并假定防火墙是唯一的出口,然后由防火墙来决定是放行还是封锁进出的数据包。

  防火墙不是功能较多的,但没有防火墙是万万不能的。再配合其它的安全技术和工具,它能够提供完整的安全解决方案。

  2、以上所述,都是目前广泛使用的传统型防火墙在网络中所发挥的巨大作用及其优势,但是这些传统防火墙都是基于一种重要的理论假设来进行安全防护的。这种理论认为如果防火墙拒绝某类数据包的通过,则认为它一定是安全的,因为该些包已经被丢弃。但防火墙并不保证准许通过的数据包是安全的,它无法判断一个正常的服务的数据包和一个恶意的数据包有什么不同。传统防火墙也无法提供基于应用和用户的,从第三层到第七层的一体化访问策略控制,黑客常常通过穿透合法的80端口,就可以轻松地让防火墙的安全控制策略变成“聋子和瞎子”。此外,它也无法提供基于应用的流量分析和报表展示,无法帮助用户了解当前网络边界的现状。而且,当前的安全威胁已不再是单一的类型。通常一个完整的入侵行为包含了多种技术手段,如漏洞利用、Web入侵、木马后门、恶意网站等,如果将这些安全威胁割裂的进行处理和分析,系统的防范短板依然存在。

  新一代的防火墙应该加强,允许通过防火墙的数据包的安全性,因为网络安全的真实需求是,既要保证网络安全,也必须保证应用的正常运行。所以,目前企业使用越来越多的Web防火墙受到了更多人的关注,它是一种基于应用层开发的新一代应用防火墙,与传统安全设备相比它可以针对丰富的应用提供完整的、可视化的内容安全保护方案。它解决了传统安全设备在应用可视化、应用管控、应用防护、未知威胁处理方面的巨大不足,并且满足了同时开启所有功能后性能不会大幅下降的要求。

  相信,随着人们对网安全意识的不断增强,和各种功能强大、性能先进安全设备的广泛应用,一个安全、绿色的互联网会越来越深入到人们的工作和生活当中。

0
相关文章