赞
踩
包过滤是指在网络层对每一个数据包进行检查,根据配置的安全策略转发或丢弃数据包。包过滤防火墙的基本原理是:通过配置访问控制列表(ACL,Access Control List)实施数据包的过滤。主要基于数据包中的源/目的IP地址、源/目的端口号、IP标识和报文传递的方向等信息。(五元组:源IP地址,源端口,目的IP地址,目的端口和传输层协议)
包过滤防火墙的设计简单,非常易于实现,而且价格便宜。
包过滤防火墙的缺点主要表现以下几点:
随着ACL复杂度和长度的增加,其过滤性能呈指数下降趋势;
静态的ACL规则难以适应动态的安全要求;
包过滤不检查会话状态也不分析数据,这很容易让黑客蒙混过关。例如,攻击者可以使用假冒地址进行欺骗,通过把自己主机IP地址设成一个合法主机IP地址,就能很轻易地通过报文过滤器。
代理服务作用于网络的应用层,其实质是把内部网络和外部网络用户之间直接进行的业务由代理接管。代理检查来自用户的请求,用户通过安全策略检查后,该防火墙将代表外部用户与真正的服务器建立连接,转发外部用户请求,并将真正服务器返回的响应回送给外部用户。
代理防火墙能够完全控制网络信息的交换,控制会话过程,具有较高的安全性。其缺点主要表现在:
软件实现限制了处理速度,易于遭受拒绝服务攻击;
需要针对每一种协议开发应用层代理,开发周期长,而且升级很困难。
基本原理简述如下:
状态检测防火墙使用各种会话表来追踪激活的TCP(TransmissionControl Protocol)会话和UDP(UserDatagram Protocol)伪会话,由访问控制列表决定建立哪些会话,数据包只有与会话相关联时才会被转发。其中UDP伪会话是在处理UDP协议包时为该UDP数据流建立虚拟连接(UDP是面对无连接的协议),以对UDP连接过程进行状态监控的会话。
状态检测防火墙在网络层截获数据包,然后从各应用层提取出安全策略所需要的状态信息,并保存到会话表中,通过分析这些会话表和与该数据包有关的后续连接请求来做出恰当决定。
优点:
后续数据包处理性能优异
安全性较高
方式一:防火墙只进行报文转发,不能进行路由寻址,与防火墙相连两个业务网络必须在同一个网段中。此时防火墙上下行接口均工作在二层,接口无IP地址。
方式二:防火墙位于内部网络和外部网络之间时,与内部网络、外部网络相连的上下行业务接口均工作在三层,需要分别配置成不同网段的IP地址,防火墙负责在内部网络、外部网络中进行路由寻址,相当于路由器。
firewall zone name isp1
set priority 25
add interface g1/0/4
dis zone
防火墙安全策略的核心作用是:根据定义的规则对经过防火墙的流量进行筛选,由关键字确定筛选出的流量如何进行下一步操作。
匹配顺序自上而下的匹配顺序,流量报文命中某一条策略,执行该策略动作,不在往下匹配。(在策略最后有一个拒绝所有)
NGFW会对收到的流量进行检测,检测出流量的属性,**包括:**源安全区域、目的安全区域、源地址/地区、目的地址/地区、用户、服务(源端口、目的端口、协议类型)、应用和时间段。
#策略配置 security-policy rule name Untrust_Trust source-zone untrust destination-zone trust source-address 192.168.1.0 mask 255.255.255.0 destination-address 192.168.2.0 mask 255.255.255.0 service icmp action permit default action permit #修改默认的拒绝策略 rule move [ ] #移动策略顺序 dis security-policy rule all #查看安全策略信息 dis firewall session table #显示会话表简要信息 dis firewall session table verbose sevice ftp #显示详细信息 reset firewall session table #清除系统当前会话表项 dis firewall statistics system discard #查看命中信息
对于不同安全区域间的流量(包括但不限于从FW发出的流量、FW接收的流量、不同安全区域间传输的流量),受缺省安全策略控制。
对于同一安全区域内的流量,如果控制同域流量的开关未开启,则不受缺省安全策略控制,缺省转发动作为允许。
**default packet-filter intrazone enable #**开启缺省安全策略控制同一安全区域内的流量的开关
对于TCP报文
开启状态检测机制时,**首包(SYN报文)**建立会话表项。对除SYN报文外的其他报文,如果没有对应会话表项(设备没有收到SYN报文或者会话表项已老化),则予以丢弃,也不会建立会话表项。
关闭状态检测机制时,任何格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。
对于UDP报文
对于ICMP报文 {ping 测试 request请求(首包) repley响应 }
开启状态检测机制时,没有对应会话的ICMP应答报文将被丢弃。
关闭状态检测机制时,没有对应会话的应答报文以首包形式处理
如果安全策略中IP地址条件比较多,则引入地址对象
ip address-set IPv4_Addr type object
address 0 1.1.1.0 mask 24 description pc1
address 1 2.2.2.0 mask 24 description pc2
address 2 3.3.3.0 mask 24 description pc3
#在安全策略规则视图调用
#地址组,包含地址对象(嵌套)
ip address-set Ipv4_Group type group
address address-set IPv4_Addr
#地址对象,地址组的引用可以有效管理IPv4地址,灵活
TCP首包:ack num= 0 flag syn =1 ack =0
当报文来回都经过防火墙,且路径相同,则开启状态检测
当报文来回路径不一样要关闭状态检测
#1.流量匹配 acl number 3000 rule 5 permit icmp rule 10 permit tcp # 流分类,抓流 traffic classifier c1 operator or if-match acl 3000 # 流行为,动作 traffic behavior b1 redirect ip-nexthop 10.1.2.1 #重定向后刷新ARP表 ping 10.1.2.1 #流策略,关联 traffic policy p1 classifier c1 behavior b1 #接口调用 int g0/0/2 traffic-policy p1 inbound #防火墙配置 firewall zone trust set priority 85 add interface GigabitEthernet0/0/0 add interface GigabitEthernet1/0/1 # firewall zone untrust set priority 5 add interface GigabitEthernet1/0/2 security-policy default action permit #此刻,防火墙上没有去172.16.1.0 的路由 ip route-static 172.16.1.0 255.255.255.0 10.1.2.254 #这时还是不通,因为回包的不是首包,防火墙要关闭状态检测 undo firewall session link-state check #可以通啦
单通道协议:通信过程中只需占用一个端口的协议。如:WWW只需占用80端口。
多通道协议:通信过程中需占用两个或两个以上端口的协议。如FTP被动模式下需占用21号端口以及一个随机端口。
FTP工作模式 C/S架构 采用TCP封装
控制通道: 总是由客户端发起
数据通道: 1.主动模式:数据通道由服务器发起的
2.被动模式:数据通道由客户端发起的
被动模式(PASV):
控制通道:client随机一个端口N,访问服务器的21端口,服务器告知客户端(x.x.x.x p1 p2 ) p1,p2由应用层携带,属于报文内容
数据通道:client使用N+1端口,访问服务器的p1*256+p2
主动模式(PORT):
控制通道:client随机生成端口N,访问服务器的21端口,client告知服务器(x.x.x.x p1,p2)
数据通道:服务器使用20端口,访问client的N+1端口,N+1=p1*256+p2
firewall zone trust set priority 85 add interface GigabitEthernet1/0/1 firewall zone untrust set priority 5 add interface GigabitEthernet1/0/2 #定义策略 security-policy rule name ftp_ctl source-zone trust destination-zone untrust source-address 192.168.1.0 mask 255.255.255.0 destination-address 192.168.2.0 mask 255.255.255.0 service ftp action permit #由于存在ASPF,所以配置以上命令,主动/被动都可以通。 undo firewall detect ftp #关闭针对ftp的多通道协议的ASPF检测 #关闭针对ftp的多通道协议的ASPF检测后的命令 ip service-set FTP_Data_port type object service protocol tcp destination-port 0 to 65536
ASPF( Application Specific Packet Filter) 是一种高级通信过滤,它检查应用层协议信息并且监控连接的应用层协议状态。
ASPF可以智能的检测“TCP的三次握手的信息”和“拆除连接的握手信息”,通过检测握手、拆连接的状态检测,保证一个正常的TCP访问可以正常进行,而对于非完整的TCP握手连接的报文会直接拒绝。
UDP是无连接的报文,所以也没有真正的UDP“连接”。因为ASPF是基于连接的,它将对UDP报文的源、目的IP地址、端口进行检查,通过判断该报文是否与所设定的时间段内的其他UDP报文相类似,而近似判断是否存在一个连接。
ASPF使防火墙能够支持一个控制连接上存在多个数据连接的协议。ASPF监听每一个应用的每一个连接所使用的端口,打开合适的通道让会话中的数据能够出入防火墙,在会话结束时关闭该通道,从而能够对使用动态端口的应用实施有效的访问控制。
ASPF实现多通道协议的应用层信息的解析,预测第二通道的特征,形成server-map表项,server-map是一种临时的会话表项,它不够精确,但能有效的支持多通道协议的工作
Server-map是一种映射关系,当数据连接匹配了动态Server-map表项时,不需要再查找包过滤策略,直接转发。
配置ASPF后,转发FTP、RTSP等多通道协议时生成的Server-map表项。
配置ASPF后,转发QQ/MSN、TFTP等STUN类型协议时生成的三元组Server-map表项。
配置NAT服务器映射时生成的静态Server-map。
配置NAT No-PAT时生成的动态Server-map。
端口识别,也称端口映射**(将协议映射到非默认端口上)**,是防火墙用来识别使用非标准端口的应用层协议报文。端口映射支持的应用层协议包括FTP、HTTP、RTSP、PPTP、MGCP、MMS、SMTP、H323、SIP、SQLNET。
#配置基本ACL
acl 2000
rule permit source 192.168.2.1 0
#配置端口识别(或端口映射)
port-mapping FTP port 31 acl 2000
#将FTP的端口更改位31
分片缓存功能用来缓存先于首片分片报文到达的后续分片报文,避免分片报文被防火墙丢弃。
缺省情况下,防火墙支持分片缓存功能。设备会将非首片的分片报文缓存至分片散列表,等待首片到来建立会话后,将所有分片报文进行转发。若在指定的时间内首片分片报文没有到来,防火墙将丢弃分片缓存中的分片报文。
#配置分片缓存老化时间
Firewall session aging-time fragment interval (1-40000)
#开启/关闭分片报文直接转发功能
Firewall fragment-forward enable/disable
某些特殊的业务数据流的会话信息需要长时间不被老化。防火墙在安全域间配置长连接功能,通过引用ACL定义数据流规则,为匹配ACL规则的特定报文的会话设置超长老化时间,缺省情况下,长连接的老化时间为168小时(7*24小时)。
防火墙仅支持对TCP协议报文配置域间长连接功能。
状态检测机制关闭时,非首包也可以建立会话表,所以此时不需使用长连接功能也可保持业务的正常运行。
#配置长连接老化时间
Firewall long-link aging-time 2400
#开启长连接功能
Firewall interzone zone-name1 zone-name2
lonk-link acl-number { inbound | outbound }
name1 zone-name2
lonk-link acl-number { inbound | outbound }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。