四、IPv6包过滤防火墙设计方案
使用ip6tables工具建立一个简单的包过滤防火墙。
1.物理结构
防火墙主机采用双宿主机形式,内部网络接口为eth0,对应的IP地址是3ffe:3240: 8002:1:16::1/80。外部网络接口为eth1,对应的IP地址是3ffe:3240:8002:1:36::1/80。主机操作系统采用Red Hat Linux 9。Web服务器的IP地址是3ffe:3240:8002:1:48::1/80。
2.防火墙的配置
(1)启动ip6tables服务后,新增ip6tables设置文件/etc/rc.d/firewall,在/etc/rc.d/rc.local文件末尾加上/etc/rc.d/firewall,以确保开机时能自动运行包过滤脚本文件。
(2)编辑/etc/rc.d目录下的firewall文件。该文件定制以下过滤规则:首先清除所有链的规则,对防火墙实施最大安全策略,设置默认拒绝全部连接。允许ICMPv6数据包进出防火墙,禁止源地址为3ffe:3240:8002:1:48::1/80的数据包。开通对外的FTP请求,允许访问远程站点和在SSL保护下访问外部的服务器。
包过滤脚本文件firewall
ip6tables -F
ip6tables -X
ip6tables -Z
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP
ip6tables -A INPUT -i eth1 -p icmpv6 -j ACCEPT
ip6tables -A OUTPUT -i eth0 -p icmpv6 -j ACCEPT
ip6tables -A INPUT -i eth1 -s 3ffe:3240: 8002:1:48::1/80 -j DROP
ip6tables -A INPUT -i eth1 -p tcp ! --syn -s any/0 --sport 21 -d 3ffe:3240:8002:1:36::1/80 --dport 1024:65535 -j ACCEPT
ip6tables -A OUTPUT -i eth1 -p tcp -s 3ffe:3240:8002:1:36::1/80 --sport 1024:65535 -d any/0 --dport 21 -j ACCEPT
ip6tables -A INPUT -i eth1 -p tcp -s any/0 --sport 20 -d 3ffe:3240: 8002:1:36::1/80 --dport 1024:65535 -j ACCEPT
ip6tables -A INPUT -i eth1 -p tcp ! --syn -s 3ffe:3240: 8002:1:36::1/80 --sport 1024:65535 -d any/0 --dport 20 -j ACCEPT
ip6tables -A INPUT -i eth1 -p tcp ! --syn -s any/0 --sport 23 -d 3ffe:3240: 8002:1:36::1/80 --dport 1024:65535 -j ACCEPT
ip6tables -A OUTPUT -i eth1 -p tcp -s 3ffe:3240: 8002:1:36::1/80 --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT
ip6tables -A INPUT -i eth1 -p tcp ! --syn -s any/0 --sport 443 -d 3ffe:3240: 8002:1:36::1/80 --dport 1024:65535 -j ACCEPT
ip6tables -A OUTPUT -i eth1 -p tcp -s 3ffe:3240: 8002:1:36::1/80 --sport 1024:65535 -d any/0 --dport 443 -j ACCEPT
五、结束语
根据Linux的Netfilter/iptables包过滤机制,我们能够快速地构建一个比较完整的包过滤防火墙,但是仅仅依靠防火墙并不能完全实现网络安全,还需要和入侵检测等其它网络安全技术配合使用,一起构成完整的网络安全解决方案。
(责任编辑:adminadmin2008)