毕业论文linux个人防火墙的设计与实现

上传人:沈*** 文档编号:42688752 上传时间:2021-11-27 格式:DOC 页数:22 大小:300.53KB
收藏 版权申诉 举报 下载
毕业论文linux个人防火墙的设计与实现_第1页
第1页 / 共22页
毕业论文linux个人防火墙的设计与实现_第2页
第2页 / 共22页
毕业论文linux个人防火墙的设计与实现_第3页
第3页 / 共22页
资源描述:

《毕业论文linux个人防火墙的设计与实现》由会员分享,可在线阅读,更多相关《毕业论文linux个人防火墙的设计与实现(22页珍藏版)》请在装配图网上搜索。

1、 xxxx Linux个人防火墙的设计与实现 第22页 共22页 Linux个人防火墙的设计与实现学生姓名:xxx 指导老师:xxx摘 要 防火墙在配置上能够防止来自“外部”世界未经授权的交互式登录。这大大有助于防止破坏者登录到你网络中的计算机上。本课程设计介绍基于Netfilter/Iptables的包过滤防火墙的实现原理。对Linux系统、TCP/IP的相关知识及Iptables语法做了介绍。详细介绍了Iptables命令的使用举例,通过实例介绍了基于Netfilter/Iptables的包过滤防火墙的配置过程。关键词 网络操作系统;包过滤;Iptables;Netfilter;防火墙De

2、sign and Implement The Personal Firewall of LinuxStudent name: YU Ming-yin Advisor:Hou Li-juanAbstract In the configuration on the firewall to prevent from the external world of interactive unauthorized login. This will significantly help prevent spoilers to log in to your computer network. Based on

3、 the curriculum design, introduced Netfilter / Iptables firewall packet filtering of the realization of the principle. On Linux systems, TCP / IP knowledge and Iptables syntax is introduced. Iptables command described in detail the use of, for example, through an example based on the Netfilter / Ipt

4、ables firewalls packet filtering configuration process.Key words Network OS; Packet Filter; Iptbles;Netfilter;Firewall1 引 言1.1 课程设计的意义对于因特网上的系统,不管是什么情况,首先我们要明确一点:网络是不安全的。虽然创建一个防火墙并不能保证系统100%安全7,但却是绝对有必要的。防火墙的目的就是将破坏网络安全的人挡在你的网络之外,使你可以顺利完成自己的工作。LINUX是近几年突出的一种操作系统,以其公开的源代码、强大稳定的网络功能和大量的免费资源受到业界的普遍赞扬。L

5、INUX防火墙其实是操作系统本身所自带的一个功能模块。通过安装特定的防火墙内核,LINUX操作系统会对接收到的数据包按一定的策略进行处理。随着Linux系统被越来越多地使用,安全问题成了关键。Linux防火墙技术也在不断的发展,经历了Ipfw、Ipchains等过程。Iptables作为Linux防火墙的新一代继承人,当然也针对骇客不断推陈出新的探测技术拟出一些因应之道,那就是对封包的联机状态,作出更详细的分析,透过这样的分析能对一些可能被骇客利用的弱点加以阻隔,另外也开发出真正的封包改写能力,不需要透过其它程序的协助来仿真网址转译,除此之外,Iptables也获得系统核心的直接支持,不需要像

6、Ipchains那样需要自行重新编译核心。Iptables优越的性能使它取代了Ipchains,成为网络防火墙的主流,而Ipchains并未被淘汰,目前Ipchains已经转型成单机防火墙,在安装新版Linux时,会自动被安装启用,以保护单机上未被使用的通讯端口1。总之,目前大部分国内金融、商业等企业都采用Linux系统,因此在Linux上配置防火墙有极其重要的意义,同时可以学习这一先进的技术与熟悉一个优秀的操作平台。1.2 课程设计的目的本课程设计设主要目的是在Linux操作系统下完成基于Netfilter/Iptables的包过滤防火墙的设计与实现。Internet等网络服务给人们的生活带

7、来极大便利的同时也存在很多隐患,学会基于Netfilter/Iptables的包过滤防火墙的配置就能在一定程度上有效地抵御来自网络上的攻击。通过完成课程设计的过程,学习包过滤防火墙的相关知识,同时也深化对这学期Linux课程的学习。1.3 Linux防火墙的背景知识Linux是一个类UNIX的操作系统5,它是由芬兰赫尔辛基大学的学生Linus Torvalds于1991年创建并在因特网上发布,任何人只要遵守GPL版权,都可以免费使用和修改Linux。实际上,GPL要求的是完全的软件共享,你可从中获利,但你不能占为己有。经过因特网上的千千万万的志愿者对其的不断修改,八年后的今天,Linux已经变

8、得强大无比!特别是去年下半年以来,IBM、Intel、Oracle、Sysbase、Borland,HP,SUN,Corel等商业软件6厂商纷纷表示对Linux进行商业开发和技术支持,更使得Linux的商业价值越来越高。同时Linux将在两个方向发展,即微型设备的嵌入式操作系统和桌面操作系统。IDC预测Linux将成为Windows NT后的第二大操作系统3。Linux以它的高效性和灵活性著称。它能够在个人计算机上实现全部的UNIX特性,具有多任务、多用户的功能。Linux可在GNU(“不是UNIX”工程的缩写)公共许可权限下免费获得,是一个符合POSIX标准的操作系统。Linux操作系统软件

9、包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows一样,允许我们使用窗口、图标和菜单对系统进行操作。包过滤防火墙用软件查看所流经的数据包的包头(header),由此决定整个包的命运。它可能丢弃(DROP)这个包,可能接受(ACCEPT)这个包,也可能执行其它更复杂的动作。Linux因其健壮性、可靠性、灵活性以及好象无限范围的可定制性而在IT界倍受欢迎。Linux具有许多内置的功能,使开发人员可以根据自己的需要定制其工具、行为和外观而无需昂贵的第三方工具。Netfilter/

10、Iptables IP 信息包过滤系统是最新的解决方案,而且也是第一个集成到 Linux内核的解决方案。对于Linux系统管理员、网络管理员以及家庭用户(他们想要根据自己特定的需求来配置防火墙,在防火墙解决方案上节省费用和对IP信息包过滤具有完全控制权)来说,Netfilter/Iptables系统十分理想。Iptables是与最新的2.4.x版本Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP信息包过滤和防火墙配置。Iptables组件是一种工具,也称为用户空间(usersp

11、ace),它使插入、修改和除去信息包过滤表中的规则变得容易2。Iptables是复杂的,它集成到Linux内核中。用户通过Iptables可以对进出你的计算机的数据包进行过滤。通过Iptables命令设置来把守你的计算机网络-哪些数据允许通过,哪些不能通过,哪些通过的数据进行记录。2 Netfilter/Iptables介绍2.1 配置防火墙的filter表(1)查看本机关于IPTABLES的设置情况rootlocalhost root# iptables -L n(2)清除原有规则 不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter8的所有规则。

12、rootlocalhost root# iptables -F清除预设表filter中的所有规则链的规则。rootlocalhost root# iptables -X清除预设表filter中使用者自定链中的规则。(3)设定预设规则rootlocalhost root# iptables -p INPUT DROProotlocalhost root# iptables -p OUTPUT ACCEPTrootlocalhost root# iptables -p FORWARD DROP(4)添加规则首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)

13、的链。为了能采用远程SSH登陆,我们要开启22端口rootlocalhost root# iptables -A INPUT -p tcp -dport 22 -j ACCEPTrootlocalhost root# iptables -A OUTPUT -p tcp -sport 22 -j ACCEPT如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链:rootlocalhost root# iptables -A OUTPUT -p tcp -sport 80 -j ACCEPT如果做了WEB服务器,开启80端口rootlocalhost root# iptabl

14、es -A INPUT -p tcp -dport 80 -j ACCEPT如果做了邮件服务器,开启25110端口rootlocalhost root# iptables -A INPUT -p tcp -dport 110 -j ACCEPTrootlocalhost root# iptables -A INPUT -p tcp -dport 25 -j ACCEPT如果做了FTP服务器,开启21端口rootlocalhost root# iptables -A INPUT -p tcp -dport 21 -j ACCEPTrootlocalhost root# iptables -A I

15、NPUT -p tcp -dport 20 -j ACCEPT如果做了DNS服务器,开启53端口rootlocalhost root# iptables -A INPUT -p tcp -dport 53 -j ACCEPT2.2 配置防火墙的NAT表(1)查看本机关于NAT的设置情况rootlocalhost root# iptables -t nat L(2) 添加规则添加基本的NAT8地址转换,我们只添加DROP链.因为默认链全是ACCEPT。防止外网用内网IP欺骗roottp sysconfig# iptables -t nat -A PREROUTING -i eth0 -s 10.

16、0.0.0/8 -j DROProottp sysconfig# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROProottp sysconfig# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROPDROP非法连接rootlocalhost root# iptables -A INPUT-m state -state INVALID -j DROProotlocalhost root# iptables -A OUTPUT-m state -

17、state INVALID -j DROProotlocalhost root# iptables-A FORWARD -m state -state INVALID -j DROP允许所有已经建立的和相关的连接rootlocalhost root#iptables-A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPTrootlocalhost root#iptables-A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPTrootlocalhost root# iptables-A O

18、UTPUT -m state -state ESTABLISHED,RELATED -j ACCEPTrootlocalhost root# /etc/rc.d/init.d/iptables save这样就可以写到/etc/sysconfig/iptables文件里,写入后把防火墙重起一下,才能起作用。rootlocalhost root# service iptables restart2.3 Iptables的结构Iptables一般由指定表(table)、指定链(chains)、指定操作命令(command)、指定规则匹配器(matcher)、指定目标动作(target)等构成,如图2

19、.1所示。图2.1 Iptables结构图Iptables的指令结构如图2.2所示。图2.2 Iptables的指令结构图2.4 Iptables的规则要素一条Iptables规则基本上应该包含5个要素:1、指定表(table)2、指定操作命令(command)3、指定链(chains)4、指定规则匹配器(matcher)5、指定目标动作(target)2.5 Iptables工具的调用语法Iptables的语法通常可以简化为下面的形式:Iptables-t tableCMDchainrule-matcher-j target其中:tables为表名,CMD为操作命令,chain为链名,rul

20、e-matcher为规则匹配器,target为目标动作。Iptables软件包提供了两个命令分别用于保存和恢复规则集。可以使用下在的命令转储在内存中的内核规则集。其中/etc/sysconfig/Iptables是Iptables守护进程调用的默认规则集文件:#/sbin/Iptables-save ; /etc/sysconfig/Iptables 要恢复原来的规则库,需使用命令:#/sbin/Iptables-restore ;/proc/sys/net/ipv4/ip_forward定义变量:IPT=/sbin/IptablesWWW-SERVER=192.168.136.251FTP-

21、SERVER=192.168.136.252EMAIL-SERVER=192.168.136.253IP_RANGE=192.168.136.0/24刷新所有的链的规则:$IPT F首先禁止转发任何包,然后再一步步设置允许通过的包,所以首先设置防火墙FORWARD链的策略为DROP。$IPT -P FORWARD DROP下面设置关于服务器的包过滤规则,由于服务器/客户机交互是双向的,所以不仅仅要设置数据包,出去的规则,还要设置数据包返回的规则。(1) WWW服务服务端口为80,采用tcp或udp协议,规则为eth0=;允许目的为内部网WWW服务器的包:$IPT -A FORWARD -p t

22、cp -d $WWW-SERVER-dport www -i eth0 -j ACCEPT(2) FTP服务服务端口为21,数据端口20,FTP的传输模式有主动和被动之分,FTP服务采用tcp协议,规则为eth0=;仅允许目的为内部网ftp服务器的包$IPT -A FORWARD -p tcp -d $FTP-SERVER -dport ftp -i eth0 -j ACCEPT(3) EMAIL服务包含两个协议,一个是smtp,另一个是pop3,出于安全性考虑,通常只提供对内的pop3服务,所以在这里我们只考虑对smtp的安全性问题。smtp端口为25,采用tcp协议,规则为etho=;仅允

23、许目的为E-mail服务器的smtp请求。$IPT -A FORWARD -p tcp -d $EMAIL-SERVER-dport smtp -i eth0 -j ACCEPT2、设置针对Internet客户的过滤规则。本例中防火墙位于网关的位置,所以主要是防止来自Internet的攻击,假如网络中的服务器都是基于Linux的,也可以在每一部服务器上设置,相关的过滤规则来防止来自Internet的攻击,对于Internet对Intranet客户的返回包,定义如下规则:允许Intranet客户采用被动模式访问Internet的FTP服务器。$IPT -A FORWARD -p tcp -s 0

24、/0 -sport ftp-data -d $IP_RANGE -i eth0 -j ACCEPT(1) 接收来自Internet的非连接请求tcp包。$IPT -A FORWARD -p tcp -d 198.168.80.0/24 ! -syn -i eth0 -j ACCEPT(2) 接收所有udp包,主要是针对oicq等使用udp的服务$IPT -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT然后接受来自整个Intranet的数据包过滤,我们定义如下规则:$IPT -A FORWARD -s 198.168.80.0/24 -

25、i eth1 -j ACCEPT处理ip碎片,接受所有的ip碎片,但采用limit匹配扩展对其单位时间可以通过的ip碎片数量进行限制,以防止ip碎片攻击。$IPT -A FORWARD -f -m limit-limit 100/s-limit-burst 100 -j ACCEPT说明:对不管来自哪里的ip碎片都进行限制,允许每秒通过100个ip碎片,该限制触发的条件是100个ip碎片。设置icmp包过滤,ipmp包通常用于网络测试等,故允许所有的icmp包通过,但是黑客常常采用icmp进行攻击,如ping of death等,所以我们采用limit匹配扩展加以限制。$IPT -A FORW

26、ARD -p icmp -m limit-limit 1/s-limit-burst 15 -j ACCEPT说明:对不管来自哪里的icmp包都进行限制,允许每秒通过一个包,该限制触发的条件是15个包。5 结束语通过这次网络系统的课程设计,使我对Linux操作系统有了一定的了解,同时我也总结出了一些分析问题和解决问题的方法及技巧。进一步加深了对基础知识、基础课程、基础语言的掌握,可以说是受益颇丰。在此次网络操作系统实验的设计中,我得到了老师的大力支持和帮助,也参考了大量的书籍和网上资料,学到了不少东西。在这里要首先感谢的是我的指导老师侯利娟老师,在此次课程设计过程中她耐心、细致的给我以指导,也

27、提出了不少有益的建议和意见。其次我要感谢我的同学,是他们给了我很多建议和帮助,使我在课程设计过程中遇到的麻烦都能够迎刃而解。这次课程设计让我学到了很多书本上学不到的东西,极大地激发了自己和同学的学习热情和学习欲望。通过这种实践性的活动,真是让我受益匪浅,收获良多。我会在以后的学习生活中继续保持良好的学习势头,争取学以致用、学有所用。参考文献1 陈纯著. Linux操作系统网络服务M. 北京:科学出版社,20042 黄宏文著. Linux网络架站务实M. 北京:中国青年出版社,20023 朱华生著. Linux基础教程M. 北京:清华大学出版社,20054 Current. Linux Networking-HOWTO (Previously the Net-3 Howto) M. August,19995 刘兵 吴煜煌.Linux实用教程M.北京:中国水利水电出版社,20046 7 8 9 10 11

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!