如何建立安全防火墙系统实例讲解
2008-11-26 12:18:04 来源:WEB开发网2、启动IPChains后,为保证安全性,首先将Forward Chains的策略设置为DENY,禁止所有的未许可包转发,保障内部网安全性,以满足需求1.
eg:# ipchains-P forward DENY
3、为满足需求2,必须禁止所有来自外部网段对防火墙发起的低于1024端口号的连接请求。在此,我做了如下设定来阻止对ETH1端口请求连接小于1024端口号的TCP协议的数据报(请求连接数据报带有SYN标记,IPChains中使用参数-y表示)
eg:#ipchains -A input -p tcp -d 202.102.184.1 0:1024 -y -i eth1 -j DENY
之所以不是简单的拒绝所有小于1024端口号的数据报在于,某些情况下服务器会回复一个小于1024接口的数据报。比如某些搜索引擎就可能在回复查询中使用一个不常用的小于1024的端口号。此外,当使用DNS查询域名时,如果服务器回复的数据超过512字节,客户机使用TCP连接从53端口获得数据。
4、为满足需求3,必须使用IP地址翻译功能。来自内部保留地址的用户数据包在经过防火墙时被重写,使包看起来象防火墙自身发出的。然后防火墙重写返回的包,使它们看起来象发往原来的申请者。采用这种方法,用户就可以透明地使用因特网上的各种服务,同时又不会泄露自身的网络情况。注意,对于FTP服务,需要加载FTP伪装模块。命令如下:
eg: # insmod ip_masq_ftp
5、为满足需求4,可以在已经设置为DENY的Forward Chains中添加许可用户。因为许可这部分用户使用所有的服务,访问所有的地址,所以不用再指定目标地址和端口号。假定许可IP地址为192.168.1.22,配置命令如下:
eg: #ipchains-A forward-s 192.168.1.22 -j MASQ
同时,必须启动系统的IP包转发功能。出于安全的考虑,建议在设置了Forward Chains的策略设置为DENY,禁止所有的未许可包转发后再开启转发功能。
配置命令如下:
# echo 1 > /proc/sys/net/ipv4/ip_forward
6、关于防止IP地址盗用问题,在本网络拓扑中,可见所有用户都是通过两个路由器连接到防火墙,所以只需要在路由器中建立授权IP地址到MAC地址的静态映射表即可。如果有客户机直接连接到防火墙主机,就需要使用ARP命令在防火墙主机中建立IP地址到MAC地址的静态映射表。
7、对于需求6,只要在进入端口中设定IP地址确认,丢弃不可能来自端口的数据包就可以了。配置命令如下:
# ipchains -A input -i eth1 -s 192.168.0.0/255.255.0.0 -j DENY
至此,就算基本建立起来一个较为安全的防火墙了,再针对运行中出现的问题进行修改,调试无误后就可以用ipchains-save命令将配置保存起来。需要再次使用时,用命令 ipchains-restore即可。
其他的包过滤防火墙与IPChains的运行原理都相差不远,配置命令也大同小异。市面上出售的防火墙虽然可以预置一些基本的内容,但由于最终用户要求和环境千差万别,免不了要自己动手配置。
从上面的例子我们可以看出,建立一个安全的防火墙关键在于对实际情况的了解,对用户需求的掌握和对工具的熟练运用与正确实施上,这是真正的重点。
更多精彩
赞助商链接