《Linux网络安全技术与实现(第2版)》第2章Netfilter/iptables,本章将循序渐进地介绍Linux防火墙的核心部分,并采用深入浅出的方式完整描述Linux防火墙的四大功能,分别是:filter、nat、mangle及raw,最后再结合我所设计的实际示例进行讨论。本节为大家介绍使用filt请看如下
《Linux网络安全技术与实现(第2版)》第2章Netfilter/iptables,本章将循序渐进地介绍Linux防火墙的核心部分,并采用深入浅出的方式完整描述Linux防火墙的四大功能,分别是:filter、nat、mangle及raw,最后再结合我所设计的实际示例进行讨论。本节为大家介绍使用filter机制来构建网关式防火墙。
AD:
假设10.0.1.100是因特网上的一台主机,且其上运行了SMTP、POP3及HTTP三项服务,由于我们尚未介绍nat机制,因此本示例先假设企业内所使用的IP是公网IP,其网段是192.168.0.0/24。在这个示例中,我们希望达到的需求如下:
192.168.0.200这台主机只能访问10.0.1.100主机的SMTP及POP3服务。
192.168.0.0/24网段上的其他主机只可以访问因特网上的DNS、SMTP、POP3、HTTP及HTTPS服务。
因特网上的主机不得访问企业内的任何主机。
有了明确地需求后,接下来就可以把它写成iptables的规则语法,如表2-7所示。这些规则语法较容易理解。因为与单机防火墙的设置原理差不多,在此仅简单介绍与表2-7有关的内容。
表2-7简单网关式防火墙的规则数据库
第1行
设置Shell解释器的路径。
第2~4行
将未来可能会变动的信息或太长的命令简化成“变量”。
第5~6行
设置INPUT及FORWARD链的默认策略为DROP,其目的分别如下:
设置INPUT链的默认策略为DROP的目的:虽然本示例的主要目的是使用网关式防火墙来及企业内的主机,但请千万别忽略了防火墙自身的安全,否则防火墙若被入侵了,整个企业的安全防护就形同虚设了。因此,我们了所有对防火墙的连接操作,但别忘了,因为我们有可能在防火墙主机上执行如软件更新等需要对外产生连接的操作,所以在此并没有将OUTPUT链的默认策略设置为DROP。
设置FORWARD链的默认策略为DROP的目的:因为本示例是以严格的方式来管制企业对外的连接,以及因特网对企业内的连接,因此,笔者将FORWARD链的默认策略设置为DROP,如此一来,企业内外就等于“断线”的状态。稍后,我们再从FORWARD链中逐一启用允许的对外连接通道即可。
第7行
清除原有的防火墙规则。
第8~9行
因为INPUT链的默认策略已设置为DROP,因此将导致对外建立连接时192.168.0.200应答数据包无法正常穿过防火墙的问题,我们必须在INPUT链中设置ESTABLISHED及RELATED状态的数据包,才可以正常地返回。
第10行
将所有从因特网送到企业内部且状态是INVALID的数据包丢弃。
第11行
允许所有由企业内部对外建立连接时所产生的应答数据包正常返回企业内部。
第12~13行
设置192.168.0.200主机只能访问因特网上10.0.1.100这台主机的SMTP及POP3服务。
第14~16行
在192.168.0.0/24网段中的主机只能访问因特网上的SMTP、POP3、HTTP、HTTPS及DNS服务。
相信你对以上的防火墙规则应该都可以轻松了解,以上示例中的单机防火墙及网关式防火墙都只是一个非常基础的防火墙,如果要构建企业级防火墙则绝对是不够的。不过,你无须担心,稍后章节将逐一介绍防火墙的高级功能,以便你能运用这些高级功能来构建企业级的防火墙。但你必须对这两个示例的内容及概念有全面的了解,这样才能顺利地学习后面章节。
tags:192.168.0.20