如何用老式奔腾机和Linux构建防火墙(组图)(5)
时间:2018-05-08 20:49 来源:网络整理 作者:墨客科技 点击:次
采用以上两个规则,则在包流出之前,所有安装了防火墙的机器(Bob,Fred,Jane和Olivia)都被屏蔽了。同时禁止防火墙外部的机器接触任何内部设备。这里并没有涉及路由器,实际上本例中的防火墙是通过调制解调器建立到因特网PPP连接的。 嵌入路由器的防火墙代码并不少见。很多时候,防火墙和路由器可能位于同一机器。另一方面,利用PPP的调制解调器方案,防火墙就成为路由器,路由指令把所有非本地数据流转发到 PPP 端口。 您可能希望防火墙的功能复杂些,例如所有保护范围内的机器都可连到外部去,而只有指定的外部机器才能连接进来。下面的例子准许名为familiar的机器 (198.102.68.2) 连接到防火墙内部机器的某些指定端口 (telnet、FTP 和WWW等服务的公共端口)。 # /sbin/ipchains -P forward DENY # /sbin/ipchains -A forward -f -i eth0 -j MASQ # /sbin/ipchains -A input -i eth0 -s 198.102.68.2 -j ACCEPT # /sbin/ipchains -A output -i eth1 -s 198.102.68.2 -d 0/0-jDENY # /sbin/ipchains -A output -i eth1 -s 198.102.68.2 -d 0/0telnet-j MASQ # /sbin/ipchains -A output -i eth1 -s 198.102.68.2 -d 0/0 ftp-jMASQ # /sbin/ipchains -A output -i eth1 -s 198.102.68.2 -d 0/0ftp-data-j MASQ # /sbin/ipchains -A output --i eth1 s 198.102.68.2 -d 0/0 www-jMASQ 在我们的例子中,有台名为Freedom的服务器位于防火墙网络外但处于公司网络内部。这是一台任何机器都可达的公共网页服务器,它和互联网上其他计算机一样,可能遭受外部世界的攻击和破坏。不过我们可以假定它足够安全,并允许其连接到防火墙内部网络。这就需要添加下列规则: # /sbin/ipchains -A input -i eth0 -s 216.19.15.32 -j ACCEPT # /sbin/ipchains -A output -i eth1 -s 216.19.15.32 -d 0/0-jMASQ 应用协议 有些应用要求协议包含正确的主机地址信息,否则无法工作。这些应用可能会将网络或主机地址信息嵌入到 TCP 或UDP包里,但包过滤器一般不深入探究这些包中的内容。 如此一来,为了过滤这些应用协议内核还需要加载另外的模块。这些模块包含某些协议,能够支持FTP、RealAudio、IRC、VDOLive、CU SeeMe 甚至某些流行的游戏 Quake 等。 为了加载这些模块,可以在先前的"开始/关闭"脚本中加入以下用于特殊协议的代码行: /sbin/modprobe ip_masq_raudio /sbin/modprobe ip_masq_irc /sbin/modprobe ip_masq_cuseeme /sbin/modprobe ip_masq_vdolive /sbin/modprobe ip_masq_quake /sbin/modprobe ports=ip_masq_quake 26000,27000,27910 ipchains具有十分强大的功能,可以把几组规则一次"链接"。当您需要面对许多内部节点,并为它们分别定义网络数据包策略时,这种建立多链条的能力就更加重要。这些链条被指派给特定的网络接口,改变接口开关的安全规则(例如网络连接接通或断开)。 ipchains 将继续升级。随着下一内核版本 (2.3.x 和 2.4.x) 一起发布 ipchains新版本,名为netfilter 。新版本软件将能执行一些设计精巧的组件,例如逆向网络地址转换(reverseNATs),用于使一组内部网机器为某个地址进行负载平衡。 一般情况下,有效使用ipchains可以让您的内部网络细节受到防火墙良好的保护。它赋予您那台"慢吞吞"的老机器以崭新的使命,变成网络里相当有用的一员。 (责任编辑:admin) |