【汇总】多厂商防火墙系列
简介
在做Transparent Mode注意的地方。
1、Transparent mode 一样遵循ASA自适应算法。 从高流量到低流量 而且在检测引擎中,那么默认是放行的,从低到高全部deny。除非ACL放行。
2、官方建议三层流量,在Transparent mode中 双向放行 (比如 OSPF,EIGRP 这些组播的流量) 否则,有些流量不能成功穿越。 但是内部的放行建议是IP any any,如果你只放行了ospf的流量,那么其他初始化的包会先匹配ACL是否有放行,没有就全部拒绝。
3、transparent Mode支持多模式的context,但是不能一个为router mode,另外一个为transparent mode ,context的思想源于65系列的FW模块,它支持router和Transparent同时存在。
4、必须配置管理IP,而且必须与内部通信网段处于同一网段。这个IP只是管理作用,不能当做网关来使用,但是防火墙可以设置一个默认网关,用于远程网关使用。
5、如果不是一个全新的firewall的话,那么一定要先保存配置,否则转换后它会清空所有的配置。并且不会保存
这种适合在出口路由器与内部网络连接的中间做透明防火墙,来保证外网和内网之间的流量过滤掉不安全的因素。
Edge(config)#int f0/0
Edge(config-if)#ip add 12.1.1.1 255.255.255.0
Edge(config-if)#no shut
Edge(config-if)#line vty 0 4
Edge(config-line)#password cisco
Edge(config)#int lo 0
Edge(config-if)#ip add 1.1.1.1 255.255.255.255
Inside
Inside(config-if)#int f0/0
Inside(config-if)#ip add 12.1.1.2 255.255.255.0
Inside(config-if)#no shut
把firewall改变成transparent 很简单,而且不需要重启,只需要输入一个firewall transparent,想恢复成router mode的话,只需要输入no firewall transparent
Transparent Mode的功能比较少,它不支持| NAT | Dynamic routing protocol | IPv6 | DHCP relay | QOS | Muticast | VPN termination for thrugh traffic |
转化后还需要两个步骤才能完成正常工作
1、配置管理IP地址,之前提到过不能作为GW使用,它就相当于二层交换机的VLAN 1一样,配置个IP,作为管理
2、接口配置接口名称和等级,Transparent Mode也遵循ASA算法
PIX
pixfirewall(config)# firewall transparent
pixfirewall(config)# ip add 12.1.1.254 255.255.255.0
pixfirewall(config)# int e0
pixfirewall(config-if)# nameif outside
INFO: Security level for “outside” set to 0 by default.
pixfirewall(config-if)# no shut
pixfirewall(config-if)# int e1
pixfirewall(config-if)# nameif inside
INFO: Security level for “inside” set to 100 by default.
pixfirewall(config-if)# no shut
这里只需要配置接口名称、等级就行,因为是透明模式,相当于二层来工作,它只看MAC地址转发,这里注意的是必须设置管理IP地址。
通信正常,Transparent的概念性东西也不是很多,主要是明白几个重点,其余的多做实验就能体会的到。
1、三层流量的双向放行问题。
现在Edge与Inside之间要起一个路由协议,在之前提到透明防火墙上对于三层流量是需要双向放行,这也官方建议的做法。
Edge(config)#router ospf 1
Edge(config-router)#router-id 1.1.1.1
Edge(config-router)#network 12.1.1.1 0.0.0.0 a 0
Edge(config-router)#network 1.1.1.1 0.0.0.0 a 0
isndie(config)#router ospf 1
isndie(config-router)#router-id 2.2.2.2
isndie(config-router)#network 12.1.1.2 0.0.0.0 a 0
没有任何关于OSPF邻居的信息。
pixfirewall(config)# access-list ospf permit ospf any any
pixfirewall(config)# access-group ospf in interface outside
这里发现邻居能起来,以前做的时候,没仔细分析过,这次复习的时候 特别深入了下 呵呵 感觉是不同,先看下几个状态。
这里会发现Edge这边,一会down,一会UP,在看下邻居信息,明显是没有收到关于Inside的hello包,所以dead time时间为21s了,正常情况下不会低于30s。
Edge
Inside
看下这两个hello包的情况,图不是很清晰,主要看IP地址,会发现Edge的hello包一直发送给224.0.0.5这个地址,因为我在PIX上明确放行了outside接口的OSPF流量,所以Inside能正常收到,抓包也显示出来。 而Inside这个接口是没有放行OSPF的流量的,所以Edge没有收到关于Inside的hello包。 所以造成邻居断开。
先了解下OSPF建立邻居的一个要点,hello包在OSPF中是为了发现邻居和维持邻居关系的一种机制,当各自的hello包中包含对方的RID的时候,这时候就可以进入two-way state了。如果明白了这点 在看下它们hello包的内容就明白了。
Edge的hello包中,一直发送的是初始的hello包,没有包含任何的邻居信息
Inside那边,因为它能收到关于Edge的hello包,所以它发送的hello包中携带了Edge的RID,想与Edge建立OSPF邻居关系。
分析下为什么能建立起邻居来。之前知道OSPF能够自动切换组播和单播包的发送,但是这只是在一直发送出组播hello包以后,一直没有收到关于邻居hello包中的信息包含自己的RID情况下,所以看第8个包 会发现Edge收到了关于 12.1.1.2—–12.1.1.1的单播hello.
所以整个邻居建立起来,是依靠单播包来建立的,但是OSPF默认工作是以组播发送hello的,切换的机制只会在建立邻居关系的时候存在,并不会在建立后也以单播的方式进行工作。 最后结果导致,Inside一直能收到hello包,而Edge那边因为收不到hello包等hlodtime时间一过,就断开邻接关系,又开始循环的建立OSPF。
PIX上也有关于12.1.1.1 ———–12.1.1.2的状态化表项。
这就是三层流量需要双向放行的问题,解决办法就是Inside接口也放行,但是建议是permit ip any any
pixfirewall(config)# access-list 100 permit ip any any
pixfirewall(config)# access-group 100 in interface inside
这里不使用OSPF any any的原因是,PIX的ACL对初始化数据包是检查ACL的,后续数据包才看状态化表项,如果只运行OSPF的流量过去,那么其余的流量全部被deny了。
2、arp-inspection的作用
arp-inspection 有两个模式 一个为flood,另外一个为no-flood,flood的意思是,当这个ARP不存在缓存信息的时候,它会flood这个ARP信息进行查询,如果是no-flood的话,如果不匹配缓存信息的话,那么就直接drop。
我这里把inside的IP改为12.1.1.3,而在PIX上静态绑定ARP为12.1.1.2 对应Inside的MAC地址。
isndie(config)#int f0/0
isndie(config-if)#ip add 12.1.1.3 255.255.255.0
pixfirewall(config)# arp-inspection inside enable no-flood
pixfirewall(config)# arp inside 12.1.1.2 c001.16d0.0000
这样就telnet不出去了,因为这个ARP包信息中包含的源ip和MAC地址与PIX绑定的信息不一致,所以就drop了。
isndie(config)#int f0/0
isndie(config-if)#ip add 12.1.1.2 255.255.255.0
当改回来后,就可以使用了,因为符合PIX上ARP的绑定信息。
这个功能有什么用呢,在某些情况下,可以防止用户更改IP地址,因为我们可以针对不同的IP做 不同的策略,但是不适合这个环境,它适合接入用户的地方,也就是第三个介绍的mac-learn 功能。
3、mac-learm
可能存在某种情况,需要对一个公共开放的主机区做一个安全的过滤,所以可以把防火墙放在接用户的地方。
mac-learm的功能是开启MAC自动学习功能,相当于交换机一样,默认是开启的,如果需要关闭的话,输入mac-learn inside disable 。
如果是一个小型网络,主机数量不是特别大的情况下,建议手工做ARP的绑定,开启ARP检查功能。它会自动写入MAC地址中,把MAC学习功能关闭,那么能防止用户更改IP。 因为有时候 有某些特殊的要求,只允许部分IP上网,部分IP不允许。 可以根据这些IP来做策略,因为开启了ARP检查,用户更改IP也没用。 当然这是一种特殊的情况。
最后一个就是二层流量的ACL。它能基于二层的流量做过滤,默认情况下全部是拒绝的,所以如果存在某些流量的话,必须放行。 有个特殊的就是ARP的流量默认是允许的,当然可以通过0x0806来deny它。 注意的地方就是不要使用deny any,因为0x0800是IP的,any就包括了它,如果deny any的话,无论是二层还是三层的包全部过不了。
下载地址
关于博客资源下载说明
(1)第一种是书籍PDF与视频类,全部放在博客分享,觉得对大家学习有帮助的博主会收集好、然后以博主的经验整理分类后排序好分享出来。
(2)第二种是技术性文章与视频,全部放在公众号(网络之路博客)/B站(网络之路Blog)发布,以博主原创为主,主要分享系列为主,由浅入深的带大家了解工作中常用到的一些网络技术,当然也会分享一些比较经典的案例。
(3)分享资源有涉及到您的利益以及版权问题,请联系博主,24小时候内删除。
学习视频系列(总有您想要的)
Book与实验手册(从初级到高级)
数通系列(路由交换 无线、防火墙VPN等)
实战系列(最贴近企业需求的案例)
想第一时间收到最新更新内容吗,点击获取~~~