欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>网站制作技术>>文章内容
如何在Redhat 6.1上用ipchains构建防火墙和IP伪装
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 
如何在Redhat 6.1上用ipchains构建防火墙和IP伪装



发布日期: 1999-10-15

内容:





来源:中国Linux论坛 

作者:吴阿亭





简介: 

   Linux 2.2内核用ipchains代替了2.0内核中的

ipfwadm,在Redhat 6.0/6.1的版本中,ipfwadm不能再用

了。本文旨在介绍如何设置一个基本的防火墙系统和IP

伪装,允许内部用户用IP伪装上网,ipchains较之以前的

ipfwadm语法变动很大,如你想了解更多的命令和语法,

可以参考一篇网友翻译的中文ipchains howto

(http://www.hncd.gov.cn/linux) . 也可运行ipchains

--help

获得帮助。另外,本文的设置主要针对专线用户基本的

防火墙和IP伪装设置,也可供拨号用户参考。



思路:

   一般而言,实现Linux防火墙功能有两种策略,一种

是首先全面禁止所有的输入/输出/转发包,然后根据需

要逐步打开所要求的各项服务,这种方式最安全,但必

须全面考虑到自己所要使用的各项服务功能,不能有任

何遗漏,如果你对要实现的某种服务和功能不能清楚地

知道应该打开哪些服务和端口,那会比较麻烦;



  第二种方式是首先默认打开所有的输入/输出包,(对

转发包,不必打开,因为内部网段用保留地址,不能直

接与互联网交换数据,我们是通过用IP伪装的方式透明

地进行交换数据的),然后禁止某些危险包,IP欺骗

包,广播包,ICMP服务类型攻击等,对于应用层服务象

http,sendmail,pop3,ftp等,若不打算提供某些服务,

就不要启动它,或者根本就不要安装,这种方式虽然没

有第一种方式更安全,但是比较方便,容易配置,用户

不必过多地了解该如何打开一种服务(如FTP)所需要执

行的ipchains命令细节就能配置一个比较安全的防火墙

系统。



本文就采用第二种方式配置一个基本的防火墙系统,我的

内部网段使用192.168.11.0,eth0为外部网段网卡接

口,eth1为内部网段网卡接口。



实现:



   1. 安装完系统后,在/etc/rc.d/目录下创建一个

script叫ipchains.rules(执行#chmod u+x

ipchains.rules确保为可执行文件)然后加一

行/etc/rc.d/ipchains.rules到/etc/rc.d/rc.local

中,以确保每次机器重新启动后即运行所设定的各项防

火墙规则。

下面为该文件内容:

--------------------------

#!/bin/sh

echo "Starting ipchains firewall rules..."



# refresh all firewall rules

/sbin/ipchains -F forward

/sbin/ipchains -F input

/sbin/ipchains -F output



# setup default firewall rules

/sbin/ipchains -P forward DENY

/sbin/ipchains -P input ACCEPT

/sbin/ipchains -P output ACCEPT



external_interface=a.b.c.d



# setup Loopback interface

/sbin/ipchains -A input -j ACCEPT -i lo

/sbin/ipchains -A output  -j ACCEPT -i lo



# disabling IP spoofing

/sbin/ipchains -A input -j DENY -i eth0 -s

192.168.0.0/16

/sbin/ipchains -A input -j DENY -i eth0 -d

192.168.0.0/16



/sbin/ipchains -A output -j DENY -i eth0 -s

192.168.0.0/16

/sbin/ipchains -A output -j DENY -i eth0 -d

192.168.0.0/16



/sbin/ipchains -A input -j DENY -i eth0 -s

$external_interface/32

/sbin/ipchains -A output -j DENY -i eth0 -d

$external_interface/32



#refuse packets claiming to be to or from the

loopback interface

/sbin/ipchains -A input -j DENY -i eth0 -s

127.0.0.0/8

/sbin/ipchains -A input -j DENY -i eth0 -d

127.0.0.0/8



/sbin/ipchains -A output -j DENY -i eth0 -s

127.0.0.0/8

/sbin/ipchains -A output -j DENY -i eth0 -d

127.0.0.0/8



#refuse broadcast address source packets

/sbin/ipchains -A input -j DENY -i eth0 -s

255.255.255.255

/sbin/ipchains -A input -j DENY -i eth0 -d

0.0.0.0



#refuse multicast/anycast/broadcast address

/sbin/ipchains -A input -j DENY -i eth0 -s

240.0.0.0/3



#forwarding all internal traffic

/sbin/ipchains -A forward -j ACCEPT -i eth1 -s

192.168.11.0/24 -d 192.168.11.0/24



#setup IP Masquerading rules

echo "1" > /proc/sys/net/ipv4/ip_forward 

注:你也可以通过设置/etc/sysconfig/network文件启

动IP转发,改那一行

    FORWARD_IPV4=true即可,这样就不必设置上面的

echo行了。



# add modules for ftp, cuseeme, irc, real audio,

etc...

/sbin/modprobe ip_masq_ftp

/sbin/modprobe ip_masq_quake

/sbin/modprobe ip_masq_irc

/sbin/modprobe ip_masq_user

/sbin/modprobe ip_masq_raudio



#starting IP masquerading 

/sbin/ipchains -A forward -j MASQ -i eth0 -s

192.168.11.0/24



注:如果你仅仅希望让部分用户进行IP伪装,你也可以

个别设置,如

    /sbin/ipchains -A forward -j MASQ -i eth0 -s

192.168.11.3/32

    /sbin/ipchains -A forward -j MASQ -i eth0 -s

192.168.11.23/32

---------------------------------



其它防火墙安全事项:



  上面的设置启动了一个基本的防火墙系统,禁止IP欺

骗,广播包,但对于一个完整的防火墙系统,仍然要注

意下面几点:



1. 设置/etc/inetd.conf,禁止所有不需要的服务,象

所有的R命令,finger,talk等,一般而言,仅保留ftp,

telnet服务便于内部维护用途,同时设置

/etc/hosts.allow和/etc/hosts.deny,仅允许内部某些

管理用户可以telnet/ftp到该防火墙,当然,更安全的

办法是禁止所有的inetd服务,对ftp,telnet,安装

SSH,用SSH/scp代替telnet和ftp。



2. 启用影子口令(shadow password),简单的两个命令

是pwconv(启用影子口令)和pwunconv(恢复原状态),

Redhat 6的版本默认安装时已经启动了shadow

password,这样使得远程用户获得根密码更为困难,因为

影子口令使用/etc/shadow 存储口令文件,该文件仅仅

被root可读。



3.运行ntsysv检查,看是否启动了不需要的后台程序,

记住:仅仅启动那些你希望提供的服务后台程序,最大

限度地确保安全。



4.创建尽可能少的用户帐号,不断升级有安全漏洞的软

件包。


附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步