Solaris 防火墙ipfilter配置.docx
- 文档编号:4458232
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:10
- 大小:132.62KB
Solaris 防火墙ipfilter配置.docx
《Solaris 防火墙ipfilter配置.docx》由会员分享,可在线阅读,更多相关《Solaris 防火墙ipfilter配置.docx(10页珍藏版)》请在冰豆网上搜索。
Solaris防火墙ipfilter配置
为Solaris配置IP过滤防火墙
2009-05-1122:
38
IPFilter是目前比较流行的包过滤防火墙软件,它拥有多种平台的版本,安装配置相对比较简单。
当前的版本是4.1.15,支持FreeBSD、NetBSD、Solaris10、OpenSolaris、AIX等操作系统平台。
IPFilter是一个在引导时配置的可加载到内核的模块。
这使得它十分安全,因为已不能由用户应用程序篡改。
一、学会编写IPFfilter规则
通过使用IPFfilter系统提供的特殊命令建立这些规则,并将其添加到内核空间特定信息包过滤表内的链中。
关于添加、去除、编辑规则的命令,一般语法如下:
action[in|out]optionkeyword,keyword...
参数说明:
1.每个规则都以操作开头。
如果包与规则匹配,则SolarisIP过滤器将操作应用于该包。
以下列表包括应用于包的常用操作。
block:
阻止包通过过滤器。
pass:
允许包通过过滤器。
log:
记录包但不确定是阻止包还是传递包。
使用ipmon命令可查看日志。
count:
将包包括在过滤器统计信息中。
使用ipfstat命令可查看统计信息。
skipnumber:
使过滤器跳过number个过滤规则。
auth:
请求由验证包信息的用户程序执行包验证。
该程序会确定是传递包还是阻止包。
preauth:
请求过滤器查看预先验证的列表以确定如何处理包。
2.操作后面的下一个单词必须是in或out。
您的选择将确定是将包过滤规则应用于传入包还是应用于传出包。
3.接下来,可以从选项列表中进行选择。
如果使用多个选项,则这些选项必须采用此处显示的顺序。
log:
如果规则是最后一个匹配规则,则记录包。
使用ipmon命令可查看日志。
quick:
如果存在匹配的包,则执行包含quick选项的规则。
所有进一步的规则检查都将停止。
oninterface-name:
仅当包移入或移出指定接口时才应用规则。
dup-tointerface-name:
复制包并将interface-name上的副本向外发送到选择指定的IP地址。
tointerface-name:
将包移动到interface-name上的外发队列。
4.指定选项后,可以从确定包是否与规则匹配的各关键字中进行选择。
必须按此处显示的顺序使用以下关键字。
tos:
基于表示为十六进制或十进制整数的服务类型值,对包进行过滤。
ttl:
基于包的生存时间值与包匹配。
在包中存储的生存时间值指明了包在被废弃之前可在网络中存在的时间长度。
proto:
与特定协议匹配。
可以使用在/etc/protocols文件中指定的任何协议名称,或者使用十进制数来表示协议。
关键字tcp/udp可以用于与TCP包或UDP包匹配。
from/to/all/any:
与以下任一项或所有项匹配:
源IP地址、目标IP地址和端口号。
all关键字用于接受来自所有源和发往所有目标的包。
with:
与和包关联的指定属性匹配。
在关键字前面插入not或no一词,以便仅当选项不存在时才与包匹配。
flags:
供TCP用来基于已设置的TCP标志进行过滤。
icmp-type:
根据ICMP类型进行过滤。
仅当proto选项设置为icmp时才使用此关键字;如果使用flags选项,则不使用此关键字。
keepkeep-options:
确定为包保留的信息。
可用的keep-options包括state选项和frags选项。
state选项会保留有关会话的信息,并可以保留在TCP、UDP和ICMP包中。
frags选项可保留有关包片段的信息,并将该信息应用于后续片段。
keep-options允许匹配包通过,而不会查询访问控制列表。
headnumber:
为过滤规则创建一个新组,该组由数字number表示。
groupnumber:
将规则添加到编号为number的组而不是缺省组。
如果未指定其他组,则将所有过滤规则放置在组0中。
二、动手编写第一个规则
1.查看IPFilter包过滤防火墙运行情况
Solaris10上IPFilter的启动和关闭是由SMF管理的,在Solaris10上工作的进程大多都交由SMF管理,这和先前版本的Solaris操作系统有很大的区别。
SolarisIP过滤防火墙随Solaris操作系统一起安装。
但是,缺省情况下不启用包过滤。
使用以下过程可以激活SolarisIP过滤器。
使用命令“svcs-a|grepnetwork|egrep"pfil|ipf"”查看。
界面如图1。
图1查看IPFilter包过滤防火墙运行情况
IPFilter有两个服务ipfilter和pfil,默认情况下ipfilter是关闭的,而pfil是打开的。
2.查看网卡接口
lo0:
flags=2001000849
inet127.0.0.1netmaskff000000
pcn0:
flags=1000843
inet10.1.1.8netmaskff000000broadcast10.255.255.255
可以看到网卡接口是pcn0。
3.修改/etc/ipf/pfil.ap文件
此文件包含主机上网络接口卡(networkinterfacecard,NIC)的名称。
缺省情况下,这些名称已被注释掉。
对传输要过滤的网络通信流量的设备名称取消注释。
vi/etc/ipf/pfil.ap
"/etc/ipf/pfil.ap"23ÐУ¬371×Ö•û
#IPFilterpfilautopushsetup
#Seetheautopush(1M)manpageformoreinformation.
#Formatoftheentriesinthisfileis:
#majorminorlastminormodules
#iprb -1 0 pfil
#elxl -1 0 pfil
#e1000g-1 0 pfil
#bge -1 0 pfil
#nf -1 0 pfil
#fa -1 0 pfil
#ci -1 0 pfil
#el -1 0 pfil
#ipdptp-1 0 pfil
#lane -1 0 pfil
pcn -1 0 pfil
#pcelx-1 0 pfil
#spwr -1 0 pfil
4.编辑防火墙规则
使服务器对ping没有反应,防止你的服务器对ping请求做出反应,对于网络安全很有好处,因为没人能够ping你的服务器并得到任何反应。
TCP/IP协议本身有很多的弱点,黑客可以利用一些技术,把传输正常数据包的通道用来偷偷地传送数据。
使你的系统对ping请求没有反应可以把这个危险减到最小。
修改文件添加一行:
blockoutquickprotoicmpfromanyto10.1.1.8/24icmp-type0
说明:
IP过滤协议的关键字有4种(icmp、tcp、udp、tcp/udp),启用对协议的控制就是在协议的关键字前加proto关键字。
ICMP全称InternetControlMessageProtocol,中文名为因特网控制报文协议。
它工作在OSI的网络层,向数据通讯中的源主机报告错误。
ICMP可以实现故障隔离和故障恢复。
我们平时最常用的ICMP应用就是通常被称为Ping的操作。
在使用ICMP协议控制的时候,可以使用icmp-type关键字来指定ICMP协议的类型,类型的值以下几种见表1。
表1ICMP协议内容简介
所以把icmp-type设置为0即可。
5.启动服务
使用命令:
svcadmenablesvc:
/network/ipfilter:
default
6.使pfil.ap配置文件生效
autopush-f/etc/ipf/pfil.ap
说明:
此步骤只需要做一次,以后更改防火墙规则就不需要再做。
7.重新引导计算机,使用命令:
“reboot”。
8.使用命令再次查看IPFilter包过滤防火墙运行情况如图2。
图2查看IPFilter包过滤防火墙运行情况
从图2可以看到IPFilter有两个服务ipfilter和pfil都已经打开。
9.从客户端计算机测试
下面从一台和sorlaris连接的windows计算机使用ping命令检测,如图3。
图3从客户端计算机测试ping操作
三、IPFilter包过滤防火墙规则编写技巧
在创建IPFilter包过滤防火墙规则的第一步是与用户咨询确定一个可接受的服务列表。
许多公司会有—个可接受的使用策略,该策略会控制哪些端口应当可用和应当赋予用户启动的服务的权限。
在你确定了开放的流入端口和外出的端口需求之后,最好是编写一条规则:
首先拒绝全部数据包,然后编写另外的规则:
允许使用的端口。
你还必须设置两个方向启用允许的服务。
例如.用户同时接收和发送电子邮件通常是必要的,于是你需要对sendmail(端口25)包括一条入站和出站规则。
1.技巧一
要阻止从IP地址192.168.0.0/16传入的流量,需要在规则列表中包括以下规则:
blockinquickfrom192.168.0.0/16toany
下面的例子阻止来自b类网络178.222.0.0的任何数据包:
blockinquickfrom178.222.0.0/16toany
2.技巧二
通俗来说就是:
禁止是block,通过是pass,进入流量是in,出去流量是out。
然后配合起来使用就行了,再加上可以指定在哪个网卡上使用,也就是再加个onpcn0,另外还有一个关键字就是all,这是匹配(禁止或者通过)所有的包。
基于IP地址和防火墙接口的基本过滤方式:
blockinquickonhme0from192.168.0.0/24toany
blockinquickonhme0from172.16.0.0/16toany
passinall
应用此规则将阻止通过hme0口来自于192.168.0.0和172.16.0.0网段的所有包的进入,但是允许其他网段的包进入到防火墙,同时对出去的包不作任何限制。
3.技巧三
基于IP地址和防火墙接口的完全双向过滤方式:
blockoutquickonhme0fromanyto192.168.0.0/24
blockoutquickonhme0fromanyto172.16.0.0/16
blockinquickonhme0from192.168.0.0/24toany
blockinquickonhme0from172.16.0.0/16toany
passinall
应用此规则后将阻止通过hme0口来自于192.168.0.0和172.16.0.0网段的所有包的进入和外出,但是允许其他网段的包进入到防火墙,同时对出去的包不作任何限制。
4.技巧四
使用“port”关键字对TCP和UDP的端口进行过滤:
blockinlogquickonhme0prototcpfromanyto192.168.0.0/24port=513
blockinlogquickonhme0prototcpfromanyto192.168.0.0/24port=8080
blockinlogquickonhme0prototcpfromanyto192.168.0.0/24port=23
passinall
应用此规则后将阻止从192.168.0.0网段通过8080和23端口对防火墙内的数据通信,但是允许其他网段的包进入到防火墙,同时对出去的包不作任何限制。
四、禁用SolarisIP过滤防火墙
有些情况可能希望取消激活或禁用包过滤,例如要进行测试另外在认为系统问题是由SolarisIP过滤器所导致时,对这些问题进行疑难解答。
首先成为管理员权限。
禁用包过滤,并允许所有包传入网络的命令:
#ipf–D
取消激活SolarisIP过滤器规则方法:
从内核中删除活动规则集。
#ipf-Fa
此命令取消激活所有的包过滤规则。
删除传入包的过滤规则。
#ipf-Fi
此命令取消激活传入包的包过滤规则。
删除传出包的过滤规则。
#ipf-Fo
此命令取消激活传出包的包过滤规则。
五、查看SolarisIP过滤器的日志文件
使用命令如下:
ipmon–o-a[S|N|I]filename
参数说明:
S:
显示状态日志文件。
N:
显示NAT日志文件。
I:
显示常规IP日志文件。
-a:
显示所有的状态日志文件、NAT日志文件和常规日志文件。
清除包日志文件使用命令:
#ipmon-F
六、SolarisIP过滤防火墙的监控和管理
1.查看包过滤规则集
启用SolarisIP过滤器后,活动和非活动的包过滤规则集都可以驻留在内核中。
活动规则集确定正在对传入包和传出包执行的过滤。
非活动规则集也存储规则,但不会使用这些规则,除非使非活动规则集成为活动规则集。
可以管理、查看和修改活动和非活动的包过滤规则集。
查看装入到内核中的活动包过滤规则集,使用命令:
ipfstat–io,如图4。
图4查看活动的包过滤规则集
如果希望查看非活动的包过滤规则集。
可以同使用命令:
#ipfstat-I–io
2.激活不同的包过滤规则集
以下示例显示如何将一个包过滤规则集替换为另一个包过滤规则集。
#ipf-Fa-ffilename
活动规则集将从内核中删除。
filename文件中的规则将成为活动规则集。
3.将规则附加到活动的包过滤规则集
以下示例显示如何从命令行将规则添加到活动的包过滤规则集。
#ipfstat-io
emptylistforipfilter(out)
blockinlogquickfrom10.0.0.0/8toany
#echo"blockinondmfe1prototcpfrom10.1.1.1/32toany"|ipf-f-
#ipfstat-io
emptylistforipfilter(out)
blockinlogquickfrom10.0.0.0/8toany
blockinondmfe1prototcpfrom10.1.1.1/32toany
4.监控整个IP管理器防火墙查看状态表
使用没有参数的ipfstat命令即可,图5是整个IP过滤器防火墙查看状态表的输出。
图5整个IP过滤器防火墙查看状态表的输出
另外可以使用命令:
“ipfstat-s”查看SolarisIP过滤器的状态统计,使用命令:
“ipnat-s”查看SolarisIP过滤器的NAT状态统计。
表2是显示SolarisIP过滤器的统计信息的列表,也是对以下操作的一个总结。
表2是显示SolarisIP过滤器的统计信息
七、IPFilter包过滤防火墙不足之处
尽管IPFilter技术十分容易了解,并且对于在网络传输上设置具体的限制特别有用,—般而言,配置IPFilter防火墙存在一些缺点,因为防火墙配置涉及编写规则,常用规则语言的话法通常对于初学者(特别是Windows初学者)难于理解,这样数据包过滤可能难于正确配置。
当然如果您以前使用Freebsd那么掌握IPFilter包过滤防火墙就非常简单了。
规则表很快会变得很大而且复杂,规则很难测试。
随着表的增大和复杂性的增加,规则结构出现漏洞的可能性也会增加。
这种防火墙最大的缺陷是它依赖一个单一的部件来保护系统。
如果这个部件出现了问题,会使得网络大门敞开,而用户其至可能还不知道。
在一般情况下,如果外部用户被允许访问内部主机,则它就可以访问内部网上的任何主机。
包过滤防火墙只能阻止一种类型的IP欺骗,即外部主机伪装内部主机的IP,对于外部主机伪装外部主机的IP欺骗却不可能阻止,而且它不能防止DNS欺骗。
虽然,包过滤防火墙有如上所述的缺点,但是在管理良好的小规模网络上,它能够正常的发挥其作用。
一般情况下,人们不单独使用包过滤防火墙,而是将它和其他设备(如堡垒主机等)联合使用。
附录:
SolarisIP过滤器配置文件示例
以下示例说明了在过滤配置中使用的包过滤规则。
示例显示具有elxl网络接口的主机上的配置。
#passandlogeverythingbydefault
passinlogonelxl0all
passoutlogonelxl0all
#block,butdon'tlog,incomingpacketsfromotherreservedaddresses
blockinquickonelxl0from10.0.0.0/8toany
blockinquickonelxl0from172.16.0.0/12toany
#blockandloguntrustedinternalIPs.0/32isnotationthatreplaces
#addressofthemachinerunningSolarisIPFilter.
blockinlogquickfrom192.168.1.15to0/32
blockinlogquickfrom192.168.1.43to0/32
#blockandlogX11(port5555)andremoteprocedurecallandportmapper(port121)attempts
blockinlogquickonelxl0prototcpfromanyto0/32port=5555keepstate
blockinlogquickonelxl0prototcp/udpfromanyto0/32port=121keepstate
说明:
此规则集以两个无限制规则开始,分别允许将任何内容传入和传出elxl接口。
第二个规则集阻止从专用地址空间10.0.0.0和172.16.0.0传入的任何包进入防火墙。
下一个规则集阻止来自主机的特定内部地址。
最后一个规则集阻止从端口5555和端口121上传入的包。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Solaris 防火墙ipfilter配置 防火墙 ipfilter 配置