配色: 字号:
第9章__Linux防火墙配置
2012-08-06 | 阅:  转:  |  分享 
  
第9章Linux防火墙配置随着Internet规模的迅速扩大,安全问题也越来越重要,而构建防火墙是保护系统免受侵害的最基本的一种手段。
虽然防火墙并不能保证系统绝对的安全,但由于它简单易行、工作可靠、适应性强,还是得到了广泛的应用。本章主要介绍与Linux系统紧密集
成的iptables防火墙的工作原理、命令格式、以及一些应用实例。9.1iptables防火墙介绍netfilter/ip
tables是Linux系统提供的一个非常优秀的防火墙工具,它完全免费、功能强大、使用灵活、占用系统资源少,可以对经过的数据进行非
常细致的控制。本节首先介绍有关iptables防火墙的基本知识,包括netfilter框架、iptables防火墙结构与原理、ip
tables命令格式等内容。9.1.1netfilter框架netfilter位于Linux网络层和防火墙内核模块之间,如
图9-1所示。9.1.2iptables防火墙内核模块netfilter框架为内核模块参与IP层数据包处理提供了很大的方便
,内核的防火墙模块正是通过把自己的函数注册到netfilter的钩子函数这种方式介入了对数据包的处理。9.1.3iptabl
es命令格式在RHEL5中,iptables命令由iptables-1.3.5-1.2.1软件包提供,默认时,系统已经安装了该软
件包,因此,用户可以直接输入iptables命令对防火墙中的规则进行管理。iptables命令相当复杂,具体格式如下所示:ipt
ables[-t表名]<命令>[链名][规则号][规则][-j目标]“-t”选项用于指定所使用的表,iptab
les防火墙默认有filter、nat和mangle三张表,也可以是用户自定义的表。表中包含了分布在各个位置的链,iptables
命令所管理的规则就是存在于各种链中的。该选项不是必需的,如果未指定一个具体的表,则默认使用的是filter表。9.2ipta
bles主机防火墙主机防火墙主要用于保护防火墙所在的主机免受外界的攻击,当一台服务器为外界提供比较重要的服务,或者一台客户机在不
安全的网络环境中使用时,都需要在机子上安装防火墙。本节主要介绍iptables主机防火墙规则的配置,包括iptables防火墙的运
行与管理、RHEL5默认防火墙规则的解释、用户根据需要添加自己的防火墙规则等内容。9.2.1iptables防火墙的运行与
管理RHEL5默认安装时,已经在系统中安装了iptables软件包,可以用以下命令查看:[root@localhost~]
#rpm-qa|grepiptablesiptables-1.3.5-1.2.1iptables-ipv6-1.3.
5-1.2.1#1.规则列2.规则解释3.补充解释9.2.3管理主机防火墙规则可以有很多功能种类的防火墙,有些是
安装在某一台主机上,主要用于保护主机本身的安全;有些是安装在网络中的某一结点,专门用于保护网络中其它机子的安全;也有一些可以为内网
的客户机提供NAT服务,使内网的客户机共用一个公网IP,以便节省IP地址资源。当一台服务器为外界提供比较重要的服务,或者一台客户
机在不安全的网络环境中使用时,都需要在机子上安装防火墙,以最大限度地防止主机受到外界的攻击。9.2.4常用的主机防火墙规则
设置主机防火墙时,一般采取先放行,最后全部禁止的方法。也就是说,根据主机的特点,规划出允许进入主机的外界数据包,然后设计规则放行
这些数据包。如果某一数据包与放行数据包的规则都不匹配,则与最后一条禁止访问的规则匹配,被拒绝进入主机。下面列出一些主机防火墙中常用
的iptables命令及其解释,这些命令添加的规则都放在filter表的INPUT链中。9.2.5使用图形界面管理主机防火
墙规则在RHEL5桌面环境下,选择“系统”|“管理”|“安全级别和防火墙”后,将出现图9-4所示的对话框。9.3ipta
bles网络防火墙配置与主机防火墙不一样,网络防火墙主要用于保护内部网络的安全,此时,一般由一台专门的主机承担防火墙角色,有时还
要承担网络地址转换(NAT)的功能,其配置要比主机防火墙复杂。本节主要讲述有关网络防火墙的过滤配置,以及通过给数据包做标志的方法进
行策略路由的例子。9.3.1保护服务器子网的防火墙规则与主机防火墙不一样,保护网络的防火墙一般有多个网络接口,而且绝大部分
的规则应该添加在filter表的FORWARD链中,其配置要比主机防火墙复杂得多。9.3.2保护内部客户机的防火墙规则上一
小节介绍的是针对服务器子网的防火墙配置,侧重点是如何对其进行保护,因此,规则排列的特点是先放行指定的数据包,再拒绝所有的数据包。
要限制的数据包分为两类,一类是限制用户对Internet上某些内容的访问,还是一类是不允许Internet上的某些内容进入该子网。
前者的数据包是从网卡eth2到eth0,而后者应该是从eth0到eth2。9.3.3mangle表应用举例前面介绍的防火墙
规则其所在的规则链都位于filter表,下面再看一个有关mangle表的使用例子。9.4iptables防火墙的NAT配置
NAT(NetworkAddressTranslation,网络地址转换)是一项非常重要的Internet技术,它可以让内网众
多的计算机访问Internet时,共用一个公网地址,从而解决了Internet地址不足的问题,并对公网隐藏了内网的计算机,提高了安
全性能。本章主要介绍利用iptables防火墙实现NAT的方法。9.4.1NAT简介NAT并不是一种网络协议,而是一种过程
,它将一组IP地址映射到另一组IP地址,而且对用户来说是透明的。NAT通常用于将内部私有的IP地址翻译成合法的公网IP地址,从而可
以使内网中的计算机共享公网IP,节省了IP地址资源。1.NAT的工作原理2.动态NAT3.端口NAT9.4.2使
用iptables配置源NATiptables防火墙中有三张内置的表,其中的nat表实现了地址转换的功能。nat表包含PRERO
UTING、OUTPUT和POSTROUTING三条链,里面包含的规则指出了如何对数据包的地址进行转换。其中源NAT的规则在POS
TROUTING链中定义,这些规则的处理是在路由完成后进行的,可以使用“-jSNAT”目标动作对匹配的数据包进行源地址转换。9
.4.3使用iptables配置目的NAT目的NAT改变的是数据包的目的IP地址,当来自Internet的数据包访问NAT服
务器网络接口的公网IP时,NAT服务器会把这些数据包的目的地址转换为某一对应的内网IP,再路由给内网机子。这样,使用内网IP地址的
服务器也可以为Internet上的机子提供网络服务了。9.4小结防火墙是保护主机和网络安全的一种重要设施,Linux自带的iptables防火墙功能非常丰富,是Linux系统构建防火墙的首选。本章首先讲述iptables防水墙的实现方式及iptables命令的格式,然后分别介绍了使用iptables命令配置主机防火墙、网络防火墙的方法,最后还介绍了用iptables防火墙实现动态地址转换(NAT)的配置方法。
献花(0)
+1
(本文系小云蔡首藏)