免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 毕业论文 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 计算机论文

Linux防火墙 网络系统管理

 Linux防火墙介绍
摘  要:  本文介绍了LINUX下常用的防火墙规则配置软件Iptables;从实现原理、配置方法以及功能特点的角度描述了LINUX防火墙的功能
关键字:  LINUX防火墙  Iptables  Ipchains  包过滤 
一  前言:
 Linux 为增加系统安全性提供了防火墙保护。防火墙存在于你的计算机和网络之间,用来判定网络中的远程用户有权访问你的计算机上的哪些资源。一个正确配置的防火墙可以极大地增加你的系统安全性。防火墙作为网络安全措施中的一个重要组成部分,一直受到人们的普遍关注。LINUX是这几年一款异军突起的操作系统,以其公开的源代码、强大稳定的网络功能和大量的免费资源受到业界的普遍赞扬。LINUX防火墙其实是操作系统本身所自带的一个功能模块。通过安装特定的防火墙内核,LINUX操作系统会对接收到的数据包按一定的策略进行处理。而用户所要做的,就是使用特定的配置软件(如iptables)去定制适合自己的“数据包处理策略”。
二  防火墙 包过滤:对数据包进行过滤可以说是任何防火墙所具备的最基本的功能,而LINUX防火墙本身从某个角度也可以说是一种“包过滤防火墙”。在LINUX防火墙中,操作系统内核对到来的每一个数据包进行检查,从它们的包头中提取出所需要的信息,如源IP地址、目的IP地址、源端口号、目的端口号等,再与已建立的防火规则逐条进行比较,并执行所匹配规则的策略,或执行默认策略。 值得注意的是,在制定防火墙过滤规则时通常有两个基本的策略方法可供选择:一个是默认允许一切,即在接受所有数据包的基础上明确地禁止那些特殊的、不希望收到的数据包;还有一个策略就是默认禁止一切,即首先禁止所有的数据包通过,然后再根据所希望提供的服务去一项项允许需要的数据包通过。一般说来,前者使启动和运行防火墙变得更加容易,但却更容易为自己留下安全隐患。通过在防火墙外部接口处对进来的数据包进行过滤,可以有效地阻止绝大多数有意或无意地网络攻击,同时,对发出的数据包进行限制,可以明确地指定内部网中哪些主机可以访问互联网,哪些主机只能享用哪些服务或登陆哪些站点,从而实现对内部主机的管理。可以说,在对一些小型内部局域网进行安全保护和网络管理时,包过滤确实是一种简单而有效的手段。
代理:LINUX防火墙的代理功能是通过安装相应的代理软件实现的。它使那些不具备公共IP的内部主机也能访问互联网,并且很好地屏蔽了内部网,从而有效保障了内部主机的安全。
IP伪装:IP伪装(IP Masquerade)是LINUX操作系统自带的又一个重要功能。通过在系统内核增添相应的伪装模块,内核可以自动地对经过的数据包进行“伪装”,即修改包头中的源目的IP信息,以使外部主机误认为该包是由防火墙主机发出来的。这样做,可以有效解决使用内部保留IP的主机不能访问互联网的问题,同时屏蔽了内部局域网。
Linux下的包过滤防火墙管理工具:
在2.0的内核中,采用ipfwadm来操作内核包过滤规则。
在2.2的内核中,采用ipchains来控制内核包过滤规则。
在2.4的内核中,采用一个全新的内核包过滤管理工具——iptables。
包过滤防火墙的工作原理:
使用过滤器。数据包过滤用在内部主机和外部主机之间,过滤系统是一台路由器或是一台主机。过滤系统根据过滤规则原则来决定是否让数据包通过。
过滤的实现。数据包过滤一般使用过滤路由器来实现,这种路由器与普通的路由器有所不同。


包过滤防火墙的工作层次:
应用层  应用层
传输层  传输层
网络层 数据 路由器 数据 网络层
数据链路层  数据链路层  数据链路层
物理层  物理层  物理层
包过滤器操作的基本过程:

包过滤技术的优缺点
优点:
对于一个小型的、不太复杂的站点,包过滤比较容易实现。
因为过滤路由器工作在IP层和TCP层,所以处理包的速度比代理服务器快。
过滤路由器为用户提供了一种透明的服务,用户不需要改变客户端的任何应用程序,也不需要用户学习任何新的东西。
过滤路由器在价格上一般比代理服务器便宜。
缺点:
一些包过滤网关不支持有效的用户认证。
规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能性也会增加。
这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。
在一般情况下,如果外部用户被允许访问内部主机,则他就可以访问内部网上的任何主机。
包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能被阻止,而且它不能防止DNS欺骗。
在Linux系统上,支持包过滤的核心中有三个规则列表,这些列表称为防火墙链。三个链分别称为输入链、输出链和转发链。当一个包通过以太网卡进来后,核心使用输入链决定该包的取舍。如果该包没有被丢弃,则核心要决定下面将向哪里发送包,称为包的路由。如果要发给另一个机器,核心通过转发链来决定。最后,在包要被发出之前,核心通过输出链来做决定。一个链是一些规则的列表。每个规则规定:如果包的包头与规则相匹配,那么对包进行相应的处理。如果该规则与包不匹配,则引入链中的下一个规则。最后,如果没有要引入的规则,核心根据内置链策略决定如何做。在一个有安全意识的系统中,该规则通常告诉核心将包拒绝或丢弃。
在这先介绍Ipchains,之后再介绍Iptables。
Ipchains:
Ipchains 经常使用的命令行格式如下:Ipchains –A chain [–i interface] [–p protocol] [[!] -y][–s source-ip [port]] [-d destination-ip [port]] –j policy [-l]对各选项的说明如下表:-A <chain>      添加一规则到链尾。chain可为input、output、forward。-i <interface>  指定本规则适用的网络接口。通常有eth0、eth1、lo等。-p <protocol>   指定本规则适用的IP协议,如tcp、udp、icmp等。[!] –y         -y表明tcp握手中的连接请求标志位SYN; ! –y 表示对该请求的响应。-s src-ip [port]   指明数据包的源IP地址,port表示本规则适用的端口号。-d dst-ip [port]   指明数据包的目的IP地址及端口号。-j policy      指定本规则对匹配数据包的处理策略:ACCEPT、DENY或REJECT。-l            在系统日志/var/log/messages中记录与该规则匹配的数据包。
#ipchains –A input –s 201.202.203.58/32 www –p tcp –j DENY地址201.202.203.58送到www(HTTP)端口的任何TCP包都将被屏蔽。先创建一个名为check的新链,然后再把所有发送到输入链的包送到check链:#ipchains –N check#ipchains –A check –s 201.202.203.0/24 –j ACCEPT#ipchains –A check –s !201.202.203.0/24 –j DENY#ipchains –A input –j check系统会接受(只会接受)从201.202.203.0发送的所有软件包,式中感叹号(!)代表的意思是“非”,匹配“非201.202.203.0端口”。禁止telnet(端口23)连接:#ipchains –I forward –s 0.0.0.0 23 –j DENY
Iptables的规则要素:
指定表(table)
指定操作命令(command)
指定链(chains)
指定规则匹配器(matcher)
指定目标动作(target)
表。Iptables从其使用的3个表而得名,分别是filter、nat和mangle。对于包过滤防火墙只使用filter表。表filter是默认的表。
操作命令。包括添加、删除、更新等。
链。对于包过滤防火墙可操作filter表中的INPUT链、OUTPUT链和FORWARD链。也可以操作由用户自己定义的自定义链。
规则匹配器。可以指定各种规则匹配,如IP地址、端口、包类型等。
目标动作。当规则匹配一个包时,真正要执行的任务用目标标识。最常用的内置目标分别是:
ACCEPT表示允许包通过。
DROP表示被丢弃。
REJECT表示拒绝包,丢弃包的同时给发送者发送没有接受的通知。
LOG表示包的有关信息被记录入日志。
TOS表示改写包的ToS的值。
Iptables的语法通常可以简化为:iptables[-t table]CMD[chain][rule-matcher][-j target]其中:table为表名,CMD为操作命令,chain为链名,rule-matcher为规则匹配器,target为目标动作。
操作命令:
-A 或—append  在所选链的链尾加入一条或多条规则-D 或—delete  从所选链中删除一条或多条匹配的规则-R 或—replace 在所选链中替换一条匹配的规则-I 或—insert  以给出的规则号在所选链中插入一条或多条规则。如果规则号是1,插入的规则在链的头部-L 或—list  列出指定链的所有规则。如果没有指定链,将列出所有链中的所有规则-F 或—flush  清除指定链和表中的所有规则。假如不指定链,那么所有链都将被清空-N 或—new-chain 以给定的名字创建一条新的用户自定义链。不能与已有的链同名-X 或—delete-chain 删除指定的用户定义链,必须保证链中的规则都不在使用时才能删除链。若没有指定链,则删除所有的用户链-P 或—policy  为永远链指定默认规则(内置链策略)。用户定义链没有缺省规则也是规则链中的最后一条规则,用-L命令显时它在第一行显示-C 或—check  检查给定的包是否与指定链的规则相匹配-Z 或—zero  将指定链中所有的包字节记数器清零
规则匹配器:
-P,[!]protocol  指定要匹配的协议,可以是tcp、udp、icmp、all。协议名前缀“!”为逻辑非,表示除去该协议之外的所有协议。-s[!]address[/mask] 根据源地址或地址范围确定是否允许或拒绝数据包通过过滤器--sport[!]port[:port] 指定匹配规则的源端口或端口范围。可以用端口好,也可以用/etc/services文件中的文字-d[!]address[/mask] 根据目的地址或地址范围确定是否允许或拒绝数据包通过过滤器--dport[!]port[:port] 指定匹配规则的目的端口或端口范围。可以用端口号,也可以用/etc/services文件中的名字--icmp-type[1]typename  指定匹配规则的ICMP信息类型(可以使用iptables –p icmp –h 查看有效的icmp类型名)
Iptables软件包提供了两个命令分别用于保存和恢复规则集。可以使用命令转储在内存中的内核规则集。其中/etc/sysconfig/iptables是iptables守护进程调用的默认规则集文件:#/sbin/iptables-save>/etc/sysconfig/iptables要恢复原来的规则库,需使用命令:#/sbin/iptables-restore</etc/sysconfog/iptables为了使用得用iptables命令配置的规则在下次启动机器时还能被使用,有两种方法。
使用iptables得启动脚本实现。Iptables的启动脚本/etc/rc.d/init.d/iptables每次启动时都使用/etc/sysconfig/iptables所提供的规则进行规则恢复,并可以使用命令保存规则:#service iptables save
在自定义脚本中用iptables命令直接创建规则集。可以直接用iptables命令编写一个规则脚本,并在启动时执行这个脚本。若规则脚本的文件名为/etc/fw/rules,则可以在启动脚本/etc/rc.d/rc.local中加入的代码:if[-x /etc/fw/rules];then /etc/fw/rules;fi;如果使用此种方式,建议使用ntsysv命令关闭系统的iptables守护进程。

建立包过滤防火墙

  这个网络结构假设内部网有有效的Internet地址。为了将内部网段198.168.80.0/24与Internet隔离,在内部网络和 Internet之间使用了包过滤防火墙。防火墙的网接口是eth1(198.168.80.254),防火墙的Internet接口是eth0 (198.199.37.254)。加外,内网中有3台服务器对外提供服务。分别为:
WWW服务器:IP地址为198.168.80.251
FTP服务器:IP地址为198.168.80.252
E-mail服务器:IP地址为198.168.80.253
防火墙的建立过程
#!/sbin/bash在屏幕上显示信息:echo "Starting iptables rules..."#开启内核转发功能echo "1">;/proc/sys/net/ipv4/ip_forward#定义变量IPT=/sbin/iptablesWWW-SERVER=198.168.80.251FTP-SERVER=198.168.80.252EMAIL-SERVER=198.168.80.253IP_RANGE="198.168.80.0/24"#刷新所有的链的规则$IPT –F#首先禁止转发任何包,然后再一步步设置允许通过的包#所以首先设置防火墙FORWARD链的策略为DROP$IPT -P FORWARD DROP#下面设置关于服务器的包过滤规则#由于服务器/客户机交互是双向的,所以不仅仅要设置数据包#出去的规则,还要设置数据包返回的规则
(1)WWW服务服务端口为80,采用tcp或udp协议规则为eth0=>;允许目的为内部网WWW服务器的包$IPT -A FORWARD -p tcp -d $WWW-SERVER-dport www -i eth0 -j ACCEPT(2)FTP服务服务端口为21,数据端口20FTP的传输模式有主动和被动之分,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=>;仅允许目的为E-mail服务器的smtp请求$IPT -A FORWARD -p tcp -d $EMAIL-SERVER-dport smtp -i eth0 -j ACCEPT
 下面设置针对Internet客户的过滤规则:
本例中防火墙位于网关的位置,所以主要是防止来自Internet的攻击不能防止来自Intranet的攻击假如网络中的服务器都是基于Linux的,也可以在每一部服务器上设置相关的过滤规则来防止来自Internet的攻击
对于Internet对Intranet客户的返回包,定义如下规则:(1)允许Intranet客户采用被动模式访问Internet的FTP服务器$IPT -A FORWARD -p tcp -s 0/0 --sport ftp-data -d $IP_RANGE -i eth0 -j ACCEPT(2)接收来自Internet的非连接请求tcp包$IPT -A FORWARD -p tcp -d 198.168.80.0/24 ! --syn -i eth0 -j ACCEPT(3)接收所有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 -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 FORWARD -p icmp -m limit-limit 1/s-limit-burst 10 -j ACCEPT说明:对不管来自哪里的icmp包都进行限制,允许每秒通过一个包该限制触发的条件是10个包
三 结束语:
 对防火墙的不当配置可能造成安全漏洞。如处理TCP分段时,Ipchains需要查看包头中的源端口、目的端口、ICMP代码或“TCP SYN”标志等信息,而这些信息只能在TCP分段的第一个IP包中才有。于是从第二个分段开始都不能匹配过滤规则。某些管理者将防火墙配置为仅对第一个分段进行处理。通常,一个TCP连接的第一个TCP分段被防火墙阻挡后,其他的TCP分段被认为不会产生安全性问题,因为在目的主机上由于缺少第一个分段而无法重新组装报文。然而,由于系统缺陷等原因,发送的分段可能使机器瘫痪,甚至人为精心设计的IP包可借此缺陷绕过防火墙。因此配置防火墙需要仔细分析过滤规则如何处理各种类型的分组。对分段的处理最好将系统内核编译为重新组装所有通过的分段,或在应用层另设安全机制。
 对基于包过滤防火墙更常见的攻击是利用IP欺骗的方法。IP欺骗是指主机发送自称是另一个主机发送的包。防止IP欺骗的方法是使用源地址确认,它通过配置路由器识别路由代码实现,而不是防火墙。防火墙结合源地址确认能较好地增强系统的安全性

四 参考文献
《Red Hat Linux 9网络服务》机械工业出版社《Turbolinux 网络管理教程》《Turbolinux 系统管理教程》

相关论文
上一篇:基于wince嵌入式的医院查询系统 下一篇:计算机专业毕业设计题目参考选题2..
推荐论文 本专业最新论文
Tags:Linux 防火墙 网络系统 管理 【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2022 GEPUW.NET 论文天下网 版权所有