分类:
2007-08-01 16:08:55
| |
图1 查看IPFilter包过滤防火墙运行情况 |
表1 ICMP协议内容简介 |
图2 查看IPFilter包过滤防火墙运行情况 |
图3从客户端计算机测试ping操作 |
三、 IPFilter包过滤规则编写技巧
在创建IPFilter包过滤防火墙规则的第一步是与用户咨询确定一个可接受的服务列表。许多公司会有—个可接受的使用策略,该策略会控制哪些端口应当可用和应当赋予用户启动的服务的权限。在你确定了开放的流入端口和外出的端口需求之后,最好是编写一条规则:首先拒绝全部数据包,然后编写另外的规则:允许使用的端口。你还必须设置两个方向启用允许的服务。例如.用户同时接收和发送电子邮件通常是必要的,于是你需要对sendmail(端口25)包括一条入站和出站规则。
1.技巧一
要阻止从 IP 地址 192.168.0.0/16 传入的流量,需要在规则列表中包括以下规则:
block in quick from 192.168.0.0/16 to any
下面的例子阻止来自b类网络178.222.0.0的任何数据包:
block in quick from 178.222.0.0/16 to any
2.技巧二
通俗来说就是:禁止是block ,通过是pass ,进入流量是in,出去流量是out 。然后配合起来使用就行了,再加上可以指定在哪个上使用,也就是再加个on pcn0,另外还有一个关键字就是all,这是匹配(禁止或者通过)所有的包。基于IP地址和防火墙接口的基本过滤方式:
block in quick on hme0 from 192.168.0.0/24 to any
block in quick on hme0 from 172.16.0.0/16 to any
pass in all
应用此规则将阻止通过hme0口来自于192.168.0.0和172.16.0.0网段的所有包的进入,但是允许其他网段的包进入到防火墙,同时对出去的包不作任何限制。
3.技巧三
基于IP地址和防火墙接口的完全双向过滤方式:
block out quick on hme0 from any to 192.168.0.0/24
block out quick on hme0 from any to 172.16.0.0/16
block in quick on hme0 from 192.168.0.0/24 to any
block in quick on hme0 from 172.16.0.0/16 to any
pass in all
应用此规则后将阻止通过hme0口来自于192.168.0.0和172.16.0.0网段的所有包的进入和外出,但是允许其他网段的包进入到防火墙,同时对出去的包不作任何限制。
4.技巧四
使用“port”关键字对TCP和UDP的端口进行过滤:
block in log quick on hme0 proto tcp from any to 192.168.0.0/24 port = 513
block in log quick on hme0 proto tcp from any to 192.168.0.0/24 port = 8080
block in log quick on hme0 proto tcp from any to 192.168.0.0/24 port = 23
pass in all
应用此规则后将阻止从192.168.0.0网段通过8080和23端口对防火墙内的数据通信,但是允许其他网段的包进入到防火墙,同时对出去的包不作任何限制。
四、 禁用 Solaris IP 过滤
有些情况可能希望取消激活或禁用包过滤,例如要进行测试另外在认为系统问题是由 Solaris IP 过滤器所导致时,对这些问题进行疑难解答。首为管理员权限。
禁用包过滤,并允许所有包传入网络的命令:
# ipf –D
取消激活 Solaris IP 过滤器规则方法:
从内核中删除活动规则集。
# ipf -Fa
此命令取消激活所有的包过滤规则。
删除传入包的过滤规则。
# ipf -Fi
此命令取消激活传入包的包过滤规则。
删除传出包的过滤规则。
# ipf -Fo
此命令取消激活传出包的包过滤规则。
五、 查看 Solaris IP 过滤器的日志文件
使用命令如下:
ipmon –o -a [S|N|I] filename
参数说明:
S :显示状态日志文件。
N:显示 NAT 日志文件。
I:显示常规 IP 日志文件。
-a:显示所有的状态日志文件、NAT 日志文件和常规日志文件。
清除包日志文件使用命令:
# ipmon -F
六、 Solaris IP 过滤的监控和管理
1.查看包过滤规则集
启用 Solaris IP 过滤器后,活动和非活动的包过滤规则集都可以驻留在内核中。活动规则集确定正在对传入包和传出包执行的过滤。非活动规则集也存储规则,但不会使用这些规则,除非使非活动规则集成为活动规则集。可以管理、查看和修改活动和非活动的包过滤规则集。查看装入到内核中的活动包过滤规则集,使用命令:ipfstat –io,如图4 。
图4 查看活动的包过滤规则集 |
图5 整个IP过滤器防火墙查看状态表的输出 |
表 2是 显示 Solaris IP 过滤器的统计信息 |
七、IPFilter包过滤不足之处
尽管IPFilter技术十分容易了解,并且对于在网络传输上设置具体的限制特别有用, —般而言,配置IPFilter防火墙存在一些缺点,因为防火墙配置涉及编写规则,常用规则语言的话法通常对于初学者(特别是Windows 初学者)难于理解,这样数据包过滤可能难于正确配置。当然如果您以前使用Freebsd 那么掌握IPFilter包过滤防火墙就非常简单了。
规则表很快会变得很大而且复杂,规则很难测试。随着表的增大和复杂性的增加,规则结构出现漏洞的可能性也会增加。这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。如果这个部件出现了问题,会使得网络大门敞开,而用户其至可能还不知道。在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。
虽然,包过滤防火墙有如上所述的缺点,但是在管理良好的小规模网络上,它能够正常的发挥其作用。一般情况下,人们不单独使用包过滤防火墙,而是将它和其他设备(如堡垒主机等)联合使用。
附录:Solaris IP 过滤器配置文件示例
以下示例说明了在过滤配置中使用的包过滤规则。示例显示具有 elxl 网络接口的主机上的配置。
# pass and log everything by default
pass in log on elxl0 all
pass out log on elxl0 all
# block, but don't log, incoming packets from other reserved addresses
block in quick on elxl0 from 10.0.0.0/8 to any
block in quick on elxl0 from 172.16.0.0/12 to any
# block and log untrusted internal IPs. 0/32 is noton that replaces
# address of the machine running Solaris IP Filter.
block in log quick from 192.168.1.15 to 0/32
block in log quick from 192.168.1.43 to 0/32
# block and log X11 (port 5555) and remote procedure ll and portmapper (port 121) attempts
block in log quick on elxl0 proto tcp from any to 0/32 port = 5555 keep state
block in log quick on elxl0 proto tcp/udp from any to 0/32 port = 121 keep state
说明:此规则集以两个无限制规则开始,分别允许将任何内容传入和传出 elxl 接口。第二个规则集阻止从专用地址空间 10.0.0.0 和 172.16.0.0 传入的任何包进入。下一个规则集阻止来自主机的特定内部地址。最后一个规则集阻止从端口 5555 和端口 121 上传入的包。