:Linux防火墙的配置实例

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 06:47:33
Linux防火墙的配置实例2011年09月23日 星期五 上午 10:10转载自 分享最终编辑 ljx081我们该如何利用Linux操作系统自带的防火墙来提高网络的管理控制功能呢?具体的来说,我们可以分三步走。一是先在Linux服务器上开一个后门,这个后门是专门给我们网络管理员管理服务器用的。二是把所有的进站、出站、转发站接口都关闭,此时,只有通过我们上面开的后门,管理员才能够远程连接到服务器上,企图任何渠道都不能连接到这台主机上。三是根据我们服务器的用途,把一些需要用到的接口开放出去。

1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off

2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

清除原有规则.

不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则.

[root@tp ~]# iptables -F 清除预设表filter中的所有规则链的规则

[root@tp ~]# iptables -X 清除预设表filter中使用者自定链中的规则

我们在来看一下

[root@tp ~]# iptables -L -n

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

什么都没有了吧,和我们在安装linux时没有启动防火墙是一样的.(提前说一句,这些配置就像用命令配置IP一样,重起就会失去作用),怎么保存.

[root@tp ~]# /etc/rc.d/init.d/iptables save

这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.

[root@tp ~]# service iptables restart

现在IPTABLES配置表里什么配置都没有了,那我们开始我们的配置吧。

设定预设规则

[root@tp ~]# iptables -p INPUT DROP (这里的P是大写哦,要区分)

[root@tp ~]# iptables -p OUTPUT ACCEPT (ACCEPT是同意通过)

[root@tp ~]# iptables -p FORWARD DROP(DROP是禁止通过)

上面的意思是,当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包

而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取ACCEPT,也就是说,不在着个规则里的包怎么办呢,那就是通过.

可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过.

这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP.

开后门

  网络管理员一般是通过SSH方式来管理Linux操作系统。所以,我们首先需要开一个后门,允许网络管理员通过SSH方式远程登录到服务器,对这台服务器进行必要的维护与管理。首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链为了能采用远程SSH登陆,我们要开启22端口.

[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

[root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT (注意,如果iptables -p OUTPUT ACCEPT)这条是DROP的话 就得加上这一条,不然是不行的

添加规则

允许icmp包通过,也就是允许ping,

[root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)

[root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话)

其他也类似这样添加,需要注意的是添加完要永久生效记得/etc/rc.d/init.d/iptables save保存

一般编辑完防火墙记得/etc/rc.d/init.d/iptables restart重启一下

需要注意一点 就是OUTPU规则的 dport要改成sport

如果有多个连续端口比如2000-3000,ip规则可以这样写

iptables -A INPUT -p tcp --dport 2000:3000 -j ACCEPT(2000:3000表示这段端口)

iptables -A OUTPUT -p tcp --sport 2000:3000 -j ACCEPT(2000:3000表示这段端口)

root@tp ~]# iptables -A INPUT -s 127.0.0.1 -j ACCEPT (允许本机自身的所有都通过)

root@tp ~]# iptables -A OUTPUT -s 127.0.0.1 -j ACCEPT(允许本机自身的所有都通过)