防火墙原理

防火墙设置在不同网络或网络安全域之间,通过监测、限制、更改跨越防火墙的数据流,对外部屏蔽网络内部的信息、结构和运行状况,有选择地接受外部访问,对内部强化设备监管、控制对服务器和外部网络的访问,在被保护网络和外部网络之间架起一道屏障,以防止不可预测的、潜在的破坏性侵入。防火墙通常使用的安全控制手段主要有包过滤、应用代理、状态检测、深度检测。
防火墙原理_第1张图片
防火墙类型
1、包过滤技术
包过滤防火墙也叫分组过滤防火墙, 工作在网络层(Network Layer)上,通过网络间互相连接的设备上加载允许、禁止来自某些特定的源地址、目的地址、端口号(FTP、HTTP、DNS等)及协议类型(TCP、UDP、ICMP、IGMP等)、标志位等规则,对通过设备的数据包进行检查,限制数据包进出内部网络。遵循最小特权原则,明确允许管理员希望通过的数据包,禁止其它数据包。
包过滤技术工作的地方就是各种基于TCP/IP协议的数据报文进出的通道,它把这两层作为数据监控的对象,对每个数据包的头部、协议、地址、端口、类型等信息进行分析,并与预先设定好的防火墙过滤规则(FilteringRule)进行核对,一旦发现某个包的某个或多个部分与过滤规则匹配并且条件为“阻止”的时候,这个包就会被丢弃。
2、应用代理技术
应用代理防火墙又叫应用网关防火墙,用代理服务器的方式运行于内联网络和外联网络之间,在应用层实现安全控制功能,起到内联网络和外联网络之间应用服务的转接作用。
代理服务器监听内联网络中主机的请求,当请求到达代理服务器后,代理服务器根据安全策略对数据包的首部和数据部分信息进行检查,检查之后将内联网络中的主机源地址改为自己的地址之后将这个数据包发给外部的目的主机,这样外部的主机接到的信息是来自于代理服务器而不是源主机。目的主机应答的数据包也将发送到代理服务器,经过代理服务器检查允许通过后,代理服务器将数据包的目的地址改为内联主机的地址,之后发往目的主机。类似于在内联网络和外联网络之间设置一个中转,外联网络并不清楚内联网络的拓补结构。
内部的主机只接受代理服务器的信息而不接收任何外部地址主机发来的信息,外部主机只能讲信息发往代理服务器,之后由代理服务器将信息转发给内联网路中的主机。代理服务器负责监控整个通信过程来保证通信过程的安全性。
3、状态监测
状态检测防火墙又称动态包过滤防火墙,对于新建立的应用连接,状态检测防火墙会先检查预先设置的安全规则,允许符合规则的连接通过;记录下该连接的相关信息,生成状态表;对该链接的后续数据包,只要是符合状态表,就可以通过。
“状态监测”(Stateful Inspection)技术在保留了对每个数据包的头部、协议、地址、端口、类型等信息进行分析的基础上,进一步发展了“会话过滤”(Session Filtering)功能,在每个连接建立时,防火墙会为这个连接构造一个会话状态,里面包含了这个连接数据包的所有信息,以后这个连接都基于这个状态信息进行,这种检测的高明之处是能对每个数据包的内容进行监视,一旦建立了一个会话状态,则此后的数据传输都要以此会话状态作为依据,例如一个连接的数据包源端口是8000,那么在以后的数据传输过程里防火墙都会审核这个包的源端口还是不是8000,否则这个数据包就被拦截,而且会话状态的保留是有时间限制的,在超时的范围内如果没有再进行数据传输,这个会话状态就会被丢弃。状态监视可以对包内容进行分析,从而摆脱了传统防火墙仅局限于几个包头部信息的检测弱点,而且这种防火墙不必开放过多端口,进一步杜绝了可能因为开放端口过多而带来的安全隐患。
4、内核检测防火墙
又称深度检测防火墙,采用DPI(Deep Packet Inspection)技术深入检查通过防火墙的每个数据包及其应用载荷。基于应用数据的“特征值”检测、基于应用层协议的识别检测(指纹匹配)、基于行为模式的数据检测,决定如何处理数据包,可以更有效的辨识和防护缓冲区溢出攻击、拒绝服务攻击、各种欺骗性技术以及蠕虫病毒等。
防火墙经常遇到的攻击
1、IP欺骗攻击
修改数据包的源、目的地址和端口,模仿合法的数据包来骗过防火墙的检测。
2、DOS拒绝服务攻击
通过TCP三次握手发送大量半连接请求,耗尽防火墙进程,让防火墙停止工作。
3、分片攻击
在IP的分片包中,所有的分片包用一个分片偏移字段标志分片包的顺序,但是,只有第一个分片包含有TCP端口号的信息。当IP分片包通过分组过滤防火墙时,防火墙只根据第一个分片包的Tcp信息判断是否允许通过,而其他后续的分片不作防火墙检测,直接让它们通过。
  这样,攻击者就可以通过先发送第一个合法的IP分片,骗过防火墙的检测,接着封装了恶意数据的后续分片包就可以直接穿透防火墙,直接到达内部网络主机,从而威胁网络和主机的安全。
4、木马攻击,
上传木马,利用内部网络主机开放的服务漏洞。
5、协议隧道攻击
  协议隧道的攻击思想类似与VPN的实现原理,攻击者将一些恶意的攻击数据包隐藏在一些协议分组的头部,从而穿透防火墙系统对内部网络进行攻击。
  例如,许多简单地允许ICMP回射请求、ICMP回射应答和UDP分组通过的防火墙就容易受到ICMP和UDP协议隧道的攻击。
Loki和lokid(攻击的客户端和服务端)是实施这种攻击的有效的工具。在实际攻击中,攻击者首先必须设法在内部网络的一个系统上安装上lokid服务端,而后攻击者就可以通过loki客户端将希望远程执行的攻击命令(对应IP分组)嵌入在ICMP或UDP包头部,再发送给内部网络服务端lokid,由它执行其中的命令,并以同样的方式返回结果。由于许多防火墙允许ICMP和UDP分组自由出入,因此攻击者的恶意数据就能附带在正常的分组,绕过防火墙的认证,顺利地到达攻击目标主机下面的命令是用于启动lokid服务器程序。
6、利用FTP-pasv绕过防火墙认证的攻击
  FTP-pasv攻击是针对防火墙实施入侵的重要手段之一。目前很多防火墙不能过滤这种攻击手段。如CheckPoint的Firewall-1,在监视FTP服务器发送给客户端的包的过程中,它在每个包中寻找”227″这个字符串。如果发现这种包,将从中提取目标地址和端口,并对目标地址加以验证,通过后,将允许建立到该地址的TCP连接。
7、反弹木马攻击
  反弹木马是对付这种防火墙的最有效的方法。攻击者在内部网络的反弹木马定时地连接外部攻击者控制的主机,由于连接是从内部发起的,防火墙(任何的防火墙)都认为是一个合法的连接,因此基本上防火墙的盲区就是这里了。防火墙不能区分木马的连接和合法的连接。
防火墙的安全配置原则
a)沉默规则:不记录“ 噪杂” 流量便放弃它。不对不重要的数据包做响应,减少了日志规模。
b)隐形规则:不允许未经授权的系统访问防火墙软件。
c)否定规则:用来代替广泛允许的“任何规则” 。否定规则规定什么系统能够被访问和如何被访问,对许可权限控制较紧。
d)清理规则:规则库中的最后一条规则,如果所有的规则都没有匹配到,数据包将被丢弃。
注:防火墙安全规则遵循从上到下匹配的原则,一旦有一条匹配,剩余的都不进行匹配
防火墙的性能指标
有吞吐量、时延、丢包率、并发连接数、新建连接数这几个指标。
a)吞吐量:在不丢包的情况下单位时间内通过的数据包数量
b)时延:数据包最后一个比特进入防火墙到第一比特从防火墙输出的时间间隔
c)丢包率:通过防火墙传送时所丢失数据包数量占所发送数据包的比率
d)并发连接数:防火墙能够同时处理的点对点连接的最大数目
e)新建连接数:在不丢包的情况下每秒可以建立的最大连接数

你可能感兴趣的:(安全)