您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Linux下iptables的研究与实现
河南工业职业技术学院毕业设计题目:Linux下iptables网络防火墙的研究与实现专业:网络0801姓名:曹思梦指导教师:邱建新摘要Linux2.4内核中Netfilter/Iptables的出现,为构建Linux下防火墙提供了很好的平台。Iptables是在Linux操作系统下基于2.4之上内核版本的集成网络安全工具包。该工具通过编程可以实现多种网络安全功能,如:数据包过滤、状态保持、NAT(NetworkAddressTranslation,网络地址转换)以及抵抗攻击等等。本文主要是针对Linux下iptables的的应用进行学习与研究,结构上可以分为三个部分:Linux防火墙的概述,iptables的的简介以及如何使用iptables来为我们的日常工作所服务。例如在我们的日常工作中的应用到的过滤网址、IP,禁用端口、协议等等。利用iptables这个工具在Linux服务器上实现安全稳定、功能强大的防火墙。目前这也是被企业和高校广泛采用的一种比较成熟的技术。本次毕设课题研究的实验环境均在虚拟机上实现,使用RHEL4AS系统和CentOS4系统。关键词:Linux,防火墙,iptables,规则,过滤目录第一章Linux防火墙概述...............................................................11.1防火墙简介............................................................................11.2Linux包过滤防火墙的架构.................................................41.3Linux防火墙的安装、启动和关闭.....................................5第二章iptables简介........................................................................92.1iptables的基本概念..............................................................92.2iptables数据包的传输过程................................................102.3激活IP包转发功能............................................................11第三章iptables的使用..................................................................133.1iptables的命令格式............................................................133.2iptables命令的使用............................................................15第四章iptables实现NAT服务....................................................214.1NAT服务概述.....................................................................214.2利用iptables实现NAT服务............................................23第五章iptables技巧实例..............................................................295.1禁止访问不健康的网站.....................................................295.2禁止某些客户上网.............................................................295.3禁止客户使用某些服务.....................................................305.4禁止使用ICMP协议.........................................................305.5利用字符串匹配过滤视频网站.........................................325.6利用iptables的定时功能..................................................345.7利用iplimit参数设置最大连接数....................................35第六章致谢....................................................................................37参考文献..........................................................................................381第一章Linux防火墙概述1.1防火墙简介1.防火墙的功能防火墙是位于不同网络(如可信的企业内部网和不可信的公共网)或网络安全域之间,对网络进行隔离并实现有条件通信的一系列软件/硬件设备的集合。它通过访问控制机制确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。其基本功能是分析出入防火墙的数据包,根据IP包头结合防火墙的规则,来决定是否接收或允许数据包通过。防火墙系统可以由一台路由器,也可以由一台或一组主机组成。它通常被放置在网络入口处,所有内外部网络通信数据包都必须经过防火墙,接受防火墙的检查,只有符合安全规则的数据才允许通过。通过使用防火墙可以实现以下功能:保护内部网络中易受攻击的服务。控制内外网之间网络系统的访问。隐藏内部网络的IP地址及结构的细节,提高网络的保密性。对网络存取和访问进行监控和审计。集中管理内网的安全性,降低管理成本。22.防火墙的发展史第一代防火墙第一代防火墙技术几乎与路由器同时出现,采用了包过滤(Packetfilter)技术。下图(1-1)表示了防火墙技术的简单发展历史。图1-1第二、三代防火墙1989年,贝尔实验室的DavePresotto和HowardTrickey推出了第二代防火墙,即电路层防火墙,同时提出了第三代防火墙——应用层防火墙(代理防火墙)的初步结构。第四代防火墙1992年,USC信息科学院的BobBraden开发出了基于动态包过滤(Dynamicpacketfilter)技术的第四代防火墙,后来演变为目前所说的状态监视(Statefulinspection)技术。1994年,以色列的CheckPoint公司开发出了第一个采用这种技术的商业化的产品。第五代防火墙1998年,NAI公司推出了一种自适应代理(Adaptiveproxy)技3术,并在其产品GauntletFirewallforNT中得以实现,给代理类型的防火墙赋予了全新的意义,可以称之为第五代防火墙。3.防火墙的分类根据动作方式的不同,通常把防火墙分为包过滤型和应用级网关两大类。(1)包过滤防火墙(PacketFilter)包过滤防火墙通常安装在路由器或者安装了网络操作系统的主机上。它在网络层根据配置好的包过滤规则对数据包进行过滤,其工作方式为:包过滤规则存储对应的包过滤设备端口,检查出入该防火墙端口的每一个IP数据包头和TCP头或UDP头来决定是否允许数据包通过。包过滤防火墙的优点是它对于用户来说是透明的,处理速度快,而且由于工作在网络层和传输层,与应用层无关,因此不用改动客户机和主机上的应用程序,易于安装和维护。缺点是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击。(2)应用级网关(Application-levelGateway)应用级网关又称代理服务器。它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、登记和统计,形成报告,当发现被攻击迹象时会向网络管理员发出警报,并保留攻击痕迹。应用级网关比单一的包过滤更为可靠,而且会详细地记录所有的访问状态信息。其不足之处是访问速度慢,因为它不允许用4户直接访问网络,其次应用级网关需要对每一个特定的因特网服务安装相应的代理服务软件,另外也不是所有的因特网应用软件都可以使用代理服务器。1.2Linux包过滤防火墙的架构iptables是一个免费的包过滤防火墙,它伴随着内核的发展而逐渐演变,大致经历了下面4个阶段:在1.1内核中,采用ipfw来操作内核包过滤规则。在2.0内核中,采用ipfwadm来操作内核包过滤规则。在2.2内核中,采用ipchains来控制内核包过滤规则。在2.4内核中(如RedHat9.0、RHEL),采用一个全新的内核包过滤管理工具——iptables。iptables只是防火墙与用户之间的接口,真正起到防火墙作用的是Linux内核中运行的netfilter。Linux平台下的包过滤防火墙由netfilter组件和iptables组件组成,其中netfilter运行在内核态,而iptables运行在用户态,用户通过iptables命令来调用netfilter来实现防火墙的功能。(1)netfilter组件netfilter是Linux内核中的一个用于扩展各种网络服务的结构化底层框架。该框架定义了包过滤子系统功能的实现,提供了filter、nat和mangle3个表,默认使用的是filter表。每个表中包含有若干条内建的链(chains),用户可在表中创建自定义5的链。在每条链中,可定义一条或多条过滤规则(rules)。每条规则应指定所要检查的包的特征以及如何处理与这对应的包,这被称为目标(target)。目标值可以是用户自定义的一个链名,也可以是ACCEPT、DROP、REJECT、RETURN等值。(2)iptables组件iptables组件是一个用来指定netfilter规则和管理内核包过滤的工具,用户通过它来创建、删除或插入链,并可以在链中插入、删除和修改过滤规则。iptables仅仅是一个包过滤工具,对过滤规则的执行则是通过netfilter和相关的支持模块来实现的。1.3Linux防火墙的安装、启动和关闭iptables防火墙内置于RedHat系统内核中,所以它是随系统的安装而自动安装的。可使用如下命令检查是否已安装(如下图):图1-2检查iptables是否安装安装RHEL4AS时系统会提示是否开启防火墙,默认情况下将开启防火墙。由于系统的防火墙功能是使用iptables实现的,6因此系统会根据用户的设置在iptables中添加相应的规则。如果在安装时选择禁用防火墙,则在安装完成后可在终端命令窗口中执行“setup”命令将弹出“配置应用程序”窗口(如下图1-3)。图1-3“配置应用程序”窗口选择Firewallconfiguration选项,则会进入防火墙配置窗口如图1-4。7图1-4“防火墙配置”窗口图1-5“防火墙配置-定制”窗口完成以上配置后,可在终端命令窗口中执行如下命令启动iptables防火墙如图1-6:8图1-6启动iptables防火墙9第二章iptables简介2.1iptables的基本概念在使用iptables之前我们先要理解规则、链、表这3个概念以及iptables传输数据包的过程。规则规则(rules)就是网络管理员预先定义的条件,每条规则的定义方式一般是“如果封包符合这样的条件就这样处理该数包”
本文标题:Linux下iptables的研究与实现
链接地址:https://www.777doc.com/doc-6288848 .html