【web安全】第四弹:防火墙技术笔记

---恢复内容开始---

参考资料:《黑客攻防演习》第二版   Ed SKoudis  Tom Liston著

 

1. 传统数据包过滤器

也可以在路由器上实现,主要围绕单个数据包。设备会分析数据包,决定数据包是否要被丢弃。

通常根据源IP地址和目标IP地址或者端口号以及TCP控制位等来判断。

数据包若具有置位的SYN位,意味着它是连接初始化的一部分,若具有置位的ACK位,表示它是已建立连接的一部分。

数据包过滤器会有自己的过滤规则,每个规则制定某个特定类型的数据包是被接受还是丢弃。

匹配的时候,有两种匹配方法:最佳匹配,首次匹配。

首次匹配的思想如下:设备受到数据包,开始扫描规则,与数据包相匹配的第一条规则被应用。常见格式是先罗列可通过的数据包,最后加一条匹配所有的数据包的丢弃规则。

主要优点:处理速度较快,快速决定是否丢弃或接受某个数据包。在连接局域网到互联网的内部网络路由器和边界路由器上应用广泛

主要缺点:对数据包实际做了什么了解很少,无法判断进入的数据包是对Web请求的响应还是一个攻击。UDP数据包由于没有控制位,也有同样的问题。攻击者很容易透过过滤。

 

2. 状态数据包过滤器

由传统数据包过滤器升级而来~有一定的记忆功能,可以记住先前通过该设备的数据包,并基于记忆对后面的数据包做出决策。

内部有一个数据表,存储每个活动连接和其他可记忆的数据包。过滤器可以根据数据包过滤规则和状态表本身做出决策。

当一个带有SYN控制位的TCP数据包的一部分数据包被发送时,状态表会记住它。当一个新的数据包试图通过这个设备时,过滤器除了参考静态规则,还会查看状态表。

如果规则规定,只有属于先前连接的一部分才可以通过过滤器,那如果先前有个SYN数据包,ACK就可通过过滤器,否则ACK被丢弃。

黑客的猥琐思想又粗线了:如果带ACK的数据包可以穿过过滤器,那我可以用工具生成这样的数据包,不停的向目标发送数据包撒~

- -所以状态数据包过滤器还有一个设置:对一个SYN数据包的记忆,往往在10S到90S之间,在这个时间间隔之后,SYN数据包会失效,被发送的ACK数据包也会被丢弃。

另一方面,状态过滤器还会记住由内部发往外部的请求的SYN数据包,如果一个ACK数据包来自一个系统,并且与SYN条目对应,则允许进入网络。如果没有对应的SYN条目,数据包会被丢弃。

对于UDP,只有存在前一个外出的数据包,才允许进入的UDP数据包通过。

对FTP,传输需要两个连接:FTP控制连接和FTP数据连接。可以配置状态过滤器,使之只在建立了FTP控制连接之后才允许FTP数据连接。

主要缺点:数据较慢,但定制的专用芯片,可以在一定程度上弥补这个缺点

主要优点:大大提高了安全性

3. 基于代理的防火墙

代理位于应用层,详尽搜索协议,没有传统数据包过滤器遇到的ACK攻击问题,因为ACK不是有意义的应用请求的一部分(- -不懂)。

基于代理的防火墙可以梳理应用级协议。例如,一个Web代理可以确保所有信息都是正确格式化的HTTP,而不仅仅检查确保他们是前往目标TCP端口80。

代理可以允许或者拒绝应用级功能。对于FTP,代理可以允许FTP GET,拒绝FTP PUT,允许用户下载,拒绝用户上传

主要缺点:速度较慢,且需要CPU开销和内存开销

4. 基于网络的入侵防御系统

监控流经网络的数据包,并与一组标志相匹配。

 

---恢复内容结束---

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。