论文部分内容阅读
随着互联网的发展,黑客的攻击也变的越来越多,防火墙随之也就扮演着越来越重要的角色。传统的防火墙主要以包过滤为主,对单个数据包进行检测,这在一定的程度上抵御了一些攻击,但是它对一个非法的连接可能无能为力,于是一种基于状态连接检测的防火墙随之出现。而且由于Linux的开源性,人们研究基于它上的防火墙变得很热。
本文首先介绍了Linux内核中自带的防火墙模块netfilter和用户空间工具iptables以及状态检测机制,并分析它们的原理和源代码,然后在此基础上实现了一个基于状态检测的改进的防火墙。
本文使用iptables来配置防火墙所需要的规则,搭建了基本的框架,同时分析了抵御syn洪水攻击的传统方法——网关超时设置、syn网关、syn代理和syncookies,提出了一个改进的方法,使syn/ack和ack数据包不再进行规则的匹配,而且能够在半连接队列满的情况下,仍然能够响应TCP的连接请求;分析了Land攻击和Smurf攻击的原理,给出了抵御这两种攻击的解决方案。最终经过测试,防火墙能够以较高的效率抵御外来的入侵。