◆郭 冰 杨海艳
浅谈一种改进的综合包过滤防火墙的设计与应用
◆郭 冰1杨海艳2
(1.惠州商贸旅游职业技术学校 广东 516025;2.惠州城市职业学院 广东 516025)
随着网络的发展,企业的网络安全、数据安全也越来越受到企业的重视,防火墙是解决企业数据安全的最佳手段,企业防火墙一般架构在Intranet与Internet之间,是保护企业内部数据安全的一道最基本的屏障,本文以开源的CentOS Linux操作系统防火墙为研究对象。以工程化的形式通过对防火墙的原理进行分析以及防火墙技术进行研究,最终建立一个改进的综合包过滤防火墙以保障内网数据安全。
防火墙;包过滤;数据安全
防火墙是一种形象的说法,实际不是用来防火,是一组由硬件和软件构成的网络设备,一般部署在企业内部网络与外部网络之间,或者信任区域和非信任区域之间,用于防范外部用户非法访问企业内部网络数据,主要是对内网部流入流出的数据进行安全审计,通过一些列的访问控制规则、验证工具、包过滤和应用网关对所有的通信流量做出允许通过和拒绝通过的动作。
代理服务器: 代理服务器因为检查所有应用层的信息包,并将检查的内容信息放入决策过程,从而提高网络的安全性所以代理服务器也叫应用型网关。
状态监测防火墙:此种防火墙相对于其他防火墙,安全性能有所提升,集成了几种防火墙的优点,他在防火墙的核心部分建立数据连接,检查数据报的状态信息,可以这样说,状态检测包过滤防火墙规范了网络层和传输层的行为。
包过滤防火墙:在现实生活中,要邮寄大件的货物时,要把大件的货物拆分,分成小件小件的包裹,然后给每个小件的包裹贴上标签以及运送目的地,在TCP/IP参考模型中,用户的数据也必须分割成特定大小的数据包,然后给数据包添加上源IP以及目的IP地址信息以及顺序号,当数据包经过路由器时,路由器会读取数据包中的IP地址信息,然后选择一条合适的物理线路发数据包发送给目的地。包过滤防火墙在处理数据包时对用户来说是透明的,它不记录数据包的来源信息,对于使用IP地址欺骗技术的的用户很难追踪其源头,黑客们通常伪装一些列的源IP地址,一旦有一个包通过了防火墙,黑客便可以利用这个IP地址伪装他们发送的数据包信息通过包过滤防火墙。
为了解决当前包过滤防火墙各的不足,改进的综合包过滤防火墙的设计把当前的包过滤防火墙、代理服务器以及状态监测等类型的防火墙结合起来,采用多堡垒主机的架构设计,这样做的优势在于:提高系统效能,增加系统冗余,分离数据和程序。新型综合型防火墙可以让一台堡垒主机处理对于内部网用户比较重要的服务,而让另外一台堡垒主机处理向外部网络提供的服务,如此一来,内外部用户互不干扰,互不影响。
企业现计划用一台Linux服务器充当网关,为了保障企业内部的网络安全,需要使用Linux服务器系统的防火墙功能,做适当的配置,以确保企业内网的安全,具体的要求有:允许内网samba,smtp,pop3,连接;允许dns连接;允许外网vpn连接;为了防止DoS太多连接进来,那么可以允许最多15个初始连接,超过的丢弃;禁止icmp通信即不允许ping;内网转发;防止轻量级的SYN攻击;允许 vpn客户走vpn网络连接外网星期一到星期六的8:00-12:30禁止qq通信以及网页版QQ通信;禁止ay2000.net。
一般做为NAT的计算机同时也是局域网的网关,该机有两块网卡eth0、eth1,eth0连接内网,IP为192.168.223.254;eth1连接局域网,IP为202.21.88.88,通过相关命令配置好服务器的IP地址。
打开服务器的路由转发功能:
【echo 1 > /proc/sys/net/ipv4/ip_forward】
允许内网samba,smtp,pop3,连接:
【iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT】允许samba连接
【iptables -A INPUT -p tcp -m multiport --dports 110,80,25 -j ACCEPT】允许smtp连接
为了防止DoS太多连接进来,允许最多15个初始连接,超过的丢弃:
【iptables -A INPUT -s 192.168.0.0/24 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT】
允许DoS连接:
【iptables -A INPUT -i ppp0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP】
DoS连接超过15个后丢弃
禁止icmp通信不允许ping:
【iptables -A INPUT -p icmp -m limit --limit 3/s -j LOG --log-level INFO --log-prefix "ICMP packet IN: "】
【iptables -A INPUT -p icmp -j DROP】
内网转发:
【iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE 】
防止轻量级的SYN攻击:
【iptables -N syn-flood】
【iptables -A INPUT -p tcp --syn -j syn-flood 】
【iptables -A syn-flood -j REJECT 】
允许 vpn客户走vpn网络连接外网:
【iptables -P FORWARD DROP】
【iptables -A FORWARD -p gre -s 192.168.0.0/24 -j ACCEPT】
【iptables -A FORWARD -p icmp -s 192.168.0.0/24 -j ACCEPT】
星期一到星期六的8:00-12:30禁止qq通信:
【iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" -m time --timestart 12:30 --timestop 23:59 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP】
【iptables -I FORWARD -s 192.168.0.0/24 -m string --string "qq.com" -m time --timestart 0:01 --timestop 7:59 --days Mon,Tue,Wed,Thu,Fri,Sat -j DROP】
隐藏防火墙的存在:
【iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset】
REJECT:类似于DROP,但向发送该包的主机回复由--reject-with指定的信息,从而可以很好地隐藏防火墙的存在。
IP规则的保存与恢复:
【iptables-save】把规则保存到文件中,再由目录rc.d下的脚本(/etc/rc.d/init.d/iptables)自动装载,使用命令【iptables-save】来保存规则。一般用【iptables-save > /etc/sysconfig/iptables】生成保存规则的文件 /etc/sysconfig/iptables,也可以用【service iptables save】它能把规则自动保存在/etc/sysconfig/iptables中。当计算机启动时,rc.d下的脚本将用命令iptables-restore调用这个文件,从而就自动恢复了规则。
防火墙的设计好与坏,关系到企业内部的数据安全,但是再好的防火墙能也只能解决大部分的网络安全问题,因为机器毕竟是机器,网管人员必须明白不可过分依赖防火墙。比如,防火墙不能防患绕过防火墙的攻击,防火墙不能防止收到病毒感染的文件或软件,防火墙不能防止驱动式攻击等等。