论文部分内容阅读
随着互联网的飞速发展,社会的信息化程度不断提高,计算机网络已经深入到社会的各个方面,带来了巨大的经济效益和社会效益,然而也带来不可忽视的安全风险。防火墙作为一种安全有效的网络安全机制,已经得到用户的广泛应用和认同,成为信息安全建设的重要一环。Linux作为一个广泛使用且开放源码的操作系统,具有优异的网络性能,在其上布置防火墙有一个可靠的基石。特别是2.4版内核以后逐渐成熟和完善的Netfilter框架是一个非常优秀的防火墙架构,其功能和性能可与多数的商业防火墙产品媲美。因此,越来越多的人选择Linux作为其防火墙开发平台。本文系统论述了防火墙技术的基本原理、发展历史,结合源代码分析了Linux内核防火墙Netfilter框架体系结构及其数据包过滤流程。在此基础上,通过对当前防火墙技术发展趋势的分析以及对应用的需求分析,通过定制的嵌入式Linux操作系统,完成了基于Netfilter框架的防火墙设计与实现。在应用层上定义的各种新协议,很多都是基于可变端口的,有些可以通过http端口80来传输数据,传统的包过滤防火墙无法识别。本文介绍了一种基于正则表达式匹配来检查数据包内容的方法,配合iptables实现了应用层识别和过滤的功能。拒绝服务攻击是近年来非常流行的网络攻击方式。它向服务器发送大量的带有虚假地址的请求,致使服务器资源耗尽,无法响应其它的请求。作为最常用的安全产品,防火墙在设计之初并没有考虑到针对拒绝服务攻击的防护,由于部署在网络入口位置,在某些情况下,防火墙甚至成为拒绝服务攻击的目标而导致整个网络的拒绝服务。本文详细分析了当前流行的拒绝服务攻击原理和攻击方式,以及防火墙的防范策略,重点介绍了Linux内核中SYN Cookie的实现,并分析了该技术存在的不足,即在成功防御SYN Flood攻击的同时,也为ACK Flood攻击提供了机会,而且不使用重传机制导致了TCP连接的不可靠性。针对现有防范机制的不足,提出了具有可行性的改进方案。