日期:2014-05-16  浏览次数:20691 次

Linux防火墙配置

一、比较安全的防火墙设计:真正的非军事区域
真正的非军事区域是比较安全可靠的防火墙设计,这种设计的内部和外部都有防火墙,在这两者之间可以放任何因特网可访问的设备。
因特网流量仅能访问非军事区域内的服务器,并且只能访问非军事区内的服务器正在监听的端口。这种情况下,即使web服务器被攻破了,黑客也只能困在两个防火墙之间。

二、选择防火墙
硬件防火墙的好处是不言而喻的了,可惜高高在上的价格还是让人不好接受。这里介绍软件防火墙:
?
netfilter:Linux上的不二选择,很多情况下已经被嵌入到各个Linux系统中了。大家容易误解iptable是Linux上的防火墙,其实iptable是配置netfilter的。
通常默认已经安装了,如果没有安装,则用傻瓜的yum或apt-get来安装就ok了

三、Linux防火墙基础知识


netfilter主页:http://www.netfilter.org/
?
iptables既用表也用链,表是处理的块,对包的不同操作就是在表中进行的,不同的表处理不同的链,链是规则的集合。有4个内建的表:网络地址转换表,轧表、过滤表和原始表,每个表处理不同的链。

下面列出的是过滤表:
?
??Filter table?这是用iptables命令修改规则时需要的默认表,防火墙的大部分的实现都是在这里实现的。

  • ?INPUT???????当有访问本地系统的数据包时,此链被处理。
  • ?FORWARD??当有通过本地系统的数据时,此链被处理。
  • ?OUTPUT????当有本地系统产生的数据包时,此链被处理。


目标是当一个包符合一个给定的规则时应该采取的行动。 目标是用 j <target> 文法进行说明

  • ?ACCEPT???包由TCP/IP协议栈的区域部分接受并处理。
  • ?DROP?包丢弃且不通知发送端。
  • ?RETURN?在前一个链中,紧接着最近被处理的那个规则后的规则处继续处理。


四、配置(环境CentOS 5.3 )

1、防火墙必须工作在一个安装好的系统上,所以系统必须要升级强化
考虑到服务器原有的文件中可能会有有危险性的文件,所以如果该系统只是用做防火墙,推荐全盘格式化后,安装全新的最小化的系统,并升级加固。
2、查看防火墙是否安装。使用命令? chkconfig? --list ,将列出所有的服务及其开启时的运行等级:

??????????? chkconfig --list | grep iptables
?? ??? ?????iptables??????? 0:关闭? 1:关闭? 2:启用? 3:启用? 4:启用? 5:启用? 6:关闭


说明iptable会在等级? 2~5运行。你也可以使用命令??chkconfig? --level 2345? iptables on?????命令设置该服务默认启动。

3、删除规则和链
很多Linux发行版默认netfilter服务是开启的,但规则是空的。 可以用?iptables -L???命令查看当前状态,如果是下面这样,就是空的:
?
Chain INPUT (policy ACCEPT)
target???? prot opt source?????????????? destination??????? ?

Chain FORWARD (policy ACCEPT)
target???? prot opt source?????????????? destination??????? ?

Chain OUTPUT (policy ACCEPT)
target???? prot opt source?????????????? destination???