2024年3月30日发(作者:)
Linux防火墙的配置与管理
为了保护校园网的安全,需要使用防火墙。防火墙位于网络边界,用于保护局域网(LAN)
内网和DMZ区,免受来自因特网(WAN)的攻击。防火墙的工作实质是报文过滤。
一、项目简介
(一)含有DMZ区的防火墙概述
防火墙通常有三个接口(端口),分别是WAN、LAN和DMZ。如图表3-1所示。
LAN校园
DMZ
eth0
eth1
DMZ区服务器
eth2
WAN
图3-1 防火墙拓扑结构图
在网络中,非军事区(DMZ)是指为不信任系统提供服务的孤立网段,其目的是把敏感
的内部网络和其他提供访问服务的网络分开,阻止内网和外网直接通信,以保证内网安全。
含有DMZ的网络,包括六条访问控制策略。
1、内网可以访问外网
内网的用户可以自由地访问外网。因此防火墙需要进行源地址转换。
2、内网可以访问DMZ
内网用户使用和管理DMZ中的服务器。
3、外网不能访问内网
由于内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。
4、外网可以访问DMZ
DMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。同时,
外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。
5、DMZ不能访问内网
很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要
数据。
6、DMZ不能访问外网
此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则将不能正
常工作。
(二)Linux防火墙简介
Linux下的防火墙是iptables/netfilter。iptables是一个用来指定netfilter规则和管理内核
包过滤的工具,它为用户配置防火墙规则提供了方便。与大多数的Linux软件一样,这个包
过滤防火墙是免费的,它可代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和
网络地址转换NAT等功能。
1、netfilter的组成
netfilter主要包括三个表(table):filter、nat和mangle,分别用于实现报文过滤、网络
地址转换和报文重构。系统默认使用的是filter表,即在iptables命令配置规则时,若没有
指定要操作的表,系统默认对filter表进行操作。
每个表包含有若干条内建的链(chain),用户也可在表中创建自定义的链。在每条链中,
可定义一条或多条过滤规则(rule),即链是规则的一个列表。每条规则的定义方式一般是
“如果报文符合这样的条件,就这样处理该报文”。规则的处理遵循第一匹配优先原则,在
表达规则时就注意先后顺序。
filter表用于实现IP报文的过滤处理,该表内建有3个名为INPUT、FORWARD和OUTPUT
的链。nat表用于对源地址、目的地址或端口的替换修改,该表内有3个名为PREROUTING、
POSTROUTING和OUTPUT链。mangle表用于通过修改报文头中与传输特性相关的字段的值
来重构报文,实现高级路由的目的,该表内有PREROUTING、POSTROUTING、OUTPUT、INPUT
和FORWARD5个链。
2、netfilter报文处理流程
数据报文在filter表、nat表和mangle表中的处理,没有明确的先后次序,但处理数据
报文的链存在一定的先后次序,这些链各属于不同的表,这些表从先后次序来看,存在交替
的情况。这里只说明filter和nat表,忽略mangle表。
(1)目的地址为防火墙或代理服务器自身的报文的处理流程
局域网内用户或因特网用户访问防火墙或代理服务器,属于此种情况,此时数据报文的
处理流程如表3-1所示。
顺序号
1
2
3
4
5
表名
nat
filter
链名
PREROUTING
INPUT
操作说明
数据通过网络接口,进入防火墙或代理服务器
可在该链中对报文进行DANT操作
系统判断包是发给自己的,还是要转发的
可在该链中添加规则,对访问自己的报文进行过滤处
理
通过INPUT链处理后允许通过的报文到达本地服务
器
表3-1 目的地址为防火墙或代理服务器自身的报文的处理流程
(2)防火墙或代理服务器主动发起的访问请求报文的处理流程
防火墙或代理服务器作为一台主机,主动发起的访问请求包,其源地址为防火墙或代理
服务器自身的地址,这些数据报文的处理流程如表3-2所示。
顺序号
1
2
表名
链名
操作说明
本地服务进程产生访问请求报文
路由判断


发布评论