分享
 
 
 

用ipchains构建防火墙和IP伪装

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

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.创建尽可能少的用户帐号,不断升级有安全漏洞的软件包。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有