最新公告 |
当前位置: 首页 > 新闻与文档 > SonicWall配置 >

如何用老式奔腾机和linux构建防火墙(2)(2)

时间:2012-06-29 10:34来源:港湾互联网络 作者:港湾网络编辑 点击:
有两种特殊的策略组件指定 tcp_syn 标志 (-y) 和碎片包 (-f)。当 tcp 客户端第一次试图连接远程 tcp 服务器时,tcp_syn 标志被设置。不幸的是,黑客会利用它攻击远程服务器,其做法是发送大量 tcp_syn 消息而不真正

有两种特殊的策略组件指定 tcp_syn 标志 (-y) 和碎片包 (-f)。当 tcp 客户端第一次试图连接远程 tcp 服务器时,tcp_syn 标志被设置。不幸的是,黑客会利用它攻击远程服务器,其做法是发送大量 tcp_syn 消息而不真正连接服务器,从而锁住所有服务器进程,使其速度变慢或使服务器崩溃。只要为该组件指定 tcp 组件 -p,就可以阻止外部的 tcp_syn 攻击。

碎片包过滤规则组件是必要的,因为 ip 包常常通过不同容量的的网络连接。有时他们不得不分成一些名为 碎片 的更小的包以便顺利通过小容量的连接通道。在 ppp 协议下用调制解调器连接网络时常发生这种情况。例如,以太网可以传送长为 1500 字节的 ip 包,而调制解调器(串行线)的包通常是 256 字节;以太网量级的包不得不分成六份以符合调制解调器量级的碎片包。到达目的机器后,这些碎片包就被组合起来。因此,在 ppp 或 slip 协议下使用调制解调器连接网络时,您应该指定这个规则组件,这样防火墙才会把包视作一体。也只有如此它才能正确辨识传输层协议( tcp, udp, icmp) 信息,从而实施其他规则。

在命令行下运行以上规则,并用 /sbin/ipchains -l 命令检查其顺序是否正确。接着还要按照"开始/关闭"脚本指定的文件名来保存这些规则(我们的例子中,该文件是 /etc/firewall.rules )。下次系统启动时就会使用这些规则了。需要注意的是,每次您定义新规则都必须运行以下命令:

# /sbin/ipchains-save > /etc/firewall.rules

接下来给出一些配置实例,您可以看到如何为防火墙制定规则。

一些配置实例

这个例子是最简单的防火墙模型,只允许位于保护范围内的机器访问外部网络,但禁止任何外部机器进入内部网络。您首先要拦截由任何接口流出的所有包,然后只让那些具有转换过的地址信息的包通过。

# /sbin/ipchains -p forward deny # /sbin/ipchains -a forward -f -i ppp0 -j masq

采用以上两个规则,则在包流出之前,所有安装了防火墙的机器(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 -j deny # /sbin/ipchains -a output -i eth1 -s 198.102.68.2 -d 0/0 telnet -j masq # /sbin/ipchains -a output -i eth1 -s 198.102.68.2 -d 0/0 ftp -j masq # /sbin/ipchains -a output -i eth1 -s 198.102.68.2 -d 0/0 ftp-data -j masq # /sbin/ipchains -a output --i eth1 s 198.102.68.2 -d 0/0 www -j masq

在我们的例子中,有台名为 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 -j masq

应用协议

有些应用要求协议包含正确的主机地址信息,否则无法工作。这些应用可能会将网络或主机地址信息嵌入到 tcp 或 udp 包里,但包过滤器一般不深入探究这些包中的内容。

如此一来,为了过滤这些应用协议内核还需要加载另外的模块。这些模块包含某些协议,能够支持 ftp、realaudio、irc、vdo live、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 。新版本软件将能执行一些设计精巧的组件,例如逆向网络地址转换 (reverse nats),用于使一组内部网机器为某个地址进行负载平衡。

一般情况下,有效使用 ipchains 可以让您的内部网络细节受到防火墙良好的保护。它赋予您那台"慢吞吞"的老机器以崭新的使命,变成网络里相当有用的一员。


 

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片
栏目列表
推荐内容
驱白巴布期片 白癜风的发病原因 复方卡力孜然酊 白癜风早期能治愈吗 北京军颐中医医院 白癜风早期能治愈吗 北京军颐中医医院 北京军颐中医医院 补骨脂注射液 白癜风症状 白癜风治疗医院 北京白癜风医院 治疗白癜风最好的方法 北京军颐中医医院 头部白癜风的症状 白癜风传染吗 白癜风的发病原因 北京白癜风医院哪家好 白癜风的危害 白癜风早期症状 白癜风的治疗 白癜风症状 白癜风治疗 专业治疗白癜风医院哪家好 白癜风早期能治愈吗 白癜风症状 白癜风能治愈吗 白癜风治疗 白癜风治疗方法 白癜风怎么治疗 儿童白癜风发病的原因 白癜风的危害 白癜风治疗要花多少钱 白癜风去哪里治疗最好 白癜风治疗医院 如何治疗白癜风好 白癜风能治愈吗 什么方法治疗白癜风好 廊坊治疗白癜风最好的专科医院 白癜风怎么治疗好 白癜风早期能治愈吗 白癜风哪里治疗好 治疗白癜风的偏方有哪些 怎么治疗白癜风好 石家庄白癜风最好的医院 怎么治疗白癜风好 治疗白癜风哪家医院好 治疗牛皮癣,北京牛皮癣医院 白癜风治疗最好医院 白癜风能治愈吗 白癜风能治愈吗 白癜风早期症状 白癜风专科医院 治疗白癜风医院 白癜风早期症状是怎么样 天津治疗白癜风哪家医院效果最好 北京白癜风军颐中医医院 白癜风治疗医院 白癜风如何治疗 白癜风医院 治疗白癜风最好医院 牛皮癣 牛皮癣治疗 牛皮癣医院 治疗白癜风多少钱 北京治疗白癜风最好医院 白癜风早期症状 治疗白癜风偏方
How To Get Rid Of Stretch Marks
How to Get Rid of Acne Scars
how to get rid of flakes
how to ask a girl out
how to get a girl to like you
How To Talk To Girls
How To Impress A Girl