3.3.2 配置IP过滤服务
和NFS服务一样,IP过滤服务只有在我们创建配置文件后才会被启用。网页的安全要求指示你在文件中放入的配置规则。某些服务,如IPsec,需要每个相连的系统都具备一个配置文件。可执行如下操作启用一个需要配置文件的服务:
1. 创建配置文件。如果不知道配置文件名称,可查阅服务名称手册页,然后阅读相关句法。
2. 如果有可用的验证句法,应验证文件的句法。
3. 如果服务需要在两个系统上运行,如IPsec服务,可对第二个系统进行配置。
4. 在一个或两个系统上启用服务。
5. 验证服务是否正常运行。
在下列例子中,我们要保护那些包含非全局区域的系统。IP过滤程序的规则保护了全局区域和Web服务器区域。你首先要向/etc/ipf/ipf.配置文件创建并添加规则。
# vi /etc/ipf/ipf.conf
set intercept_loopback true;
# *** GLOBAL ZONE: (IN: TCP/22, OUT: ANYTHING)
pass in quick proto tcp from any to global-zone port = 22
keep state keep frags
pass out quick from global-zone to any keep state keep frags
# *** Web Server ZONE: (IN: TCP/80, OUT: NOTHING)
pass in quick proto tcp from any to websvc port = 80
keep state keep frags
block out quick from websvc to any
# *** DEFAULT DENY
block in log all
block in from any to 255.255.255.255
block in from any to 127.0.0.1/32
然后在启用服务前要验证配置文件的句法。
# ipf /etc/ipf/ipf.conf
# svcs -a | grep ipf
disabled Dec_10 svc:/network/ipfilter:default
# svcadm enable svc:/network/ipfilter:default
# svcs ipfilter
enabled Jan_10 svc:/network/ipfilter:default
为了测试不同配置,你可以创建另一个配置文件,验证文件句法更改config/entities属性以指向新的文件。测试文件为Web数据区域添加了规则。
# vi /etc/ipf/testipf.conf
set intercept_loopback true;
# *** GLOBAL ZONE: (IN: TCP/22, OUT: ANYTHING)
pass in quick proto tcp from any to global-zone port = 22
keep state keep frags
pass out quick from global-zone to any keep state keep frags
# *** Web Server ZONE: (IN: TCP/80, OUT: NOTHING)
pass in quick proto tcp from any to websvc port = 80
keep state keep frags
block out quick from websvc to any
# *** Web Data ZONE: (IN: TCP/22, OUT: ANYTHING)
pass in quick proto tcp from any to webdat port = 22
keep state keep frags
pass out quick from webdat to any keep state keep frags
# *** DEFAULT DENY
block in log all
block in from any to 255.255.255.255
block in from any to 127.0.0.1/32
# ipf /etc/ipf/testipf.conf
# svcprop ipfilter | grep config
config/entities fmri file://localhost/etc/ipf/ipf.conf
config/grouping astring require_all
config/restart_on astring restart
config/type astring path
# svccfg -s /network/ipfilter \
setprop config/entities=file://localhost/etc/ipf/testipf.conf
刷新重启服务后,要验证是否已经设置该属性。
# svcadm refresh ipfilter
# svcadm restart ipfilter
# svcprop ipfilter | grep etc
config/entities fmri file://localhost/etc/ipf/testipf.conf
测试完成后,可保存原始文件。
# svccfg -s /network/ipfilter \
setprop config/entities=file://localhost/etc/ipf/ipf.conf
# svcadm refresh ipfilter
# svcadm restart ipfilter
# svcprop ipfilter | grep etc
config/entities fmri file://localhost/etc/ipf/ipf.conf
3.3.3 配置ftp服务
ftp服务由inetd命令控制。通常,网页安全策略要求FTP服务器记录所有FTP连接的详细信息。在下列两个示例中,我们需要配置ftp服务的属性,该ftp服务记录了连接信息并启用了调试。
为了对要求你更改服务属性的服务进行配置,需要执行以下步骤:
1. 列出服务状态。
2. 列出服务属性。
3. 更改服务的一个或多个属性。
4. 验证服务属性是否被更改。
5. 启用服务。
6. 验证属性更改是否生效。