简介html
一个 POWER 服务器具备承载上百个 LPAR 或分区(一个分区就是操做系统安装的一个独立实例)的处理能力,这意味着,虚拟化功能让您能在一个物理机器中拥有上百个服务器。若是这上百个服务器在处理 Internet 或其余敏感的数据,那么您可能想要在其中设置一些防火墙规则做为额外的安全层(以及网络防火墙和***防护设备)。web
本文从简短回顾 TCP/IP 网络开始。若是您熟悉 TCP/IP 及其工做方式,那么能够跳过下一节。接下来,您还将回顾在 AIX 机器中启用并设置 TCP/IP 过滤功能须要用到的包、步骤和命令。最后,您要使用第一节中讲述的概念,在示例场景中进行配置。安全
回页首服务器
TCP/IP 是赋予网络生命的精髓。经过网络传输的数据被分割成小块,称为 “包” 或 “IP 包”(表示 Internet Protocol 包)。当传输信息的时候,它被数据发送者分红包,并标有源和目标电脑的信息,而后经过网络发送。架构
如今咱们从更高的层次看看网络包的结构是怎样的。根据通讯所使用协议的不一样,您可能会处理如下的 IP 包:app
通常来讲,您的服务器只提供其中一项或几项服务,所以您可能想只容许您所提供的服务的流量。jsp
如下表格显示了不一样类型的网络包的结构,更重要的是,您能够看到,哪个是容许咱们基于此字段内容过滤包的 AIX 过滤管理命令的命令行选项。在稍后对过滤所使用的 AIX 命令进行分析时会用到这些命令行选项。ide
比特位 | 0-15 | 16-31 | ||||
0 | 版本 (-v) | IHL | 服务类型 | 总长度 | ||
32 | 标识 | 标志 (-f) | 分段偏移 | |||
64 | 使用期限 | 协议 (-c) | 报头检验和 | |||
96 | 源地址 (-s) | |||||
128 | 目的地址 (-d) | |||||
160 | 选项 | 边距 |
比特位 | 0-15 | 16 -31 | |
0 | 类型 (-o / -O) | 编码 | 校验和 |
32 | IP 报头 + 64 位原始数据报 |
比特位 | 0-15 | 16-31 |
0 | 源端口 (-o) | 目标端口 (-O) |
32 | 长度 | 校验和 |
比特位 | 0-15 | 16-31 | ||
0 | 源端口 (-o) | 目标端口 (-O) | ||
32 | 序列号 | |||
64 | 确认号 | |||
96 | 偏移 | 保留 | 标志 | 窗口 |
128 | 校验和 | 紧急指针 | ||
160 | 选项 | 边距 | ||
192 | 数据 |
某些状况下,您可能想要阻止某些包到达其目的地,或者只让某一些包到达。
一些常见的场景包括,只容许来自信任源的链接、阻止链接到服务器未提供的服务,以及只容许链接到特定服务。在这些状况下,您均可以使用 AIX 操做系统附带的 TCP/IP 过滤功能。
TCP/IP 过滤功能包含在 IPSec 包中,所以检查是否存在的最简单的方法就是用 lslpp –l
列出已安装的包,并验证是否有如下两个包:
bos.net.ipsec.keymgt bos.net.ipsec.rte |
IPsec 是用来建立服务器之间加密通讯通道的协议,此通道也常被称为隧道或 ××× 隧道。本文不会详细讨论 IPsec,若是想要在您的环境中使用 IPSec,要保证已安装如下包:
bos.msg.LANG.net.ipsec bos.net.ipsec.websm bos.crypto-priv |
有关 IPSec 的更完整的描述,您能够参考本文 参考资料 一节中的 Security Guide 文档。
要使用 TCP/IP 过滤功能,只要用到几个命令,本节将加以说明,下节将会用到。若是您熟悉 AIX 命令,您将会看到它们很相似,在名称前都有描述性前缀,如 mk
、ls
和 rm
,后面还有 filt
后缀。
–n
参数来指定位置,那么新的规则将会被添加到表格末尾。rm
后缀对全部 UNIX 管理员来讲应该很熟悉。您可使用此命令在任什么时候候根据规则 ID 来删除过滤规则。当谈到 TCP/IP 过滤中的策略时,一般是指两种可能的安全方法:
从安全角度出发,拒绝全部策略是最安全的。可是若是您是配置正在使用中的服务器,那么您在运用此策略前必定要很是谨慎,防止产生没必要要的服务中断。对于新的服务器,从开始就使用此策略要简单一些,由于在投入使用以前有足够的时间进行测试。
容许全部策略更加宽松,并且它适用于您有生产服务并想要保护一个特定服务的状况。
在本节中,我将会展现一个简单的示例场景,以此做为在服务器上实现其余过滤配置的良好开端。
您的公司在 p710 Express 服务器的 AIX LPAR 上部署了一个新的内网应用程序,公司的安所有门要求限制对 Web 应用程序的访问,只容许来自地址为 172.16.10.5 的内部代理服务器的流量。Web 应用程序监听 TCP 端口 80 和 443。安所有门提出第二条要求,只容许与链接到管理网络 10.1.1.x 的接口的 SSH 链接。安所有门强调,这些要求是强制性的,与服务的的全部配置无关,做为额外的保护层。服务器的 IP 地址是 172.16.10.45 和 10.1.1.45(第一个是提供给用户的地址,第二个是供管理员登陆服务器并执行维护任务使用的)。下列图形显示了此场景。
实现 – 设置规则
首先启用服务器中的 IPSec 以启用 IP 过滤。为此,使用 ipsec4
的 smitty 快速路径:
# smitty ipsec4 |
选择 Start/Stop IP Security
并按下 Enter 键:
Move cursor to desired item and press Enter Start/Stop IP Security Basic IP Security Congiguration Advanced IP Security Configuration |
选择 Start IP Security
并按下 Enter 键:
Move cursor to desired item and press Enter Start IP Security Stop IP Security |
从如下各项中选择 Start IP Security 并按下 Enter 键:
Type or select values in the entry field Press Enter AFTER making all desired changes [EntryFields] Start IP Security [Now and AfterReboot] Deny ALL Non0Secure IP Packets [No] |
以前的步骤演示了如何启用 IPSec,从而利用 IP 过滤功能。成功完成后,会显示以下内容:
Command:OK stdout: yes stderr: no Before command completion, additional instructions may appear below. ipsec_v4 Available Default rule for IPv4 in ODM has been changed.Successfully set default action to PERMIT |
若是在这里看到错误,那么多是系统丢失了某些在 须要的包 一节中提到过的包。确认 IP Sec 是否在系统中启用的一个方法是使用以下命令:
# lsdev -l ipsec_v4 ipsec_v4 Available IP Version 4 Security Extension |
如今可使用 lsfilt
命令来查看建立的默认规则。不要急着修改默认规则,先搞懂它们的用途和影响。
如今,建立符合安所有门要求的规则。
咱们首先建立限制对管理网络的管理访问的规则。
## Rules to allow authorized administration traffic # genfilt -v 4 -a P -s 10.1.1.0 -m 255.255.255.0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -o gt -p 1023 -O eq -P 22 -r L -w I -l N -f Y -i all Filter rule 3 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 10.1.1.45 -m 255.255.255.255 -d 10.1.1.0 -M 255.255.255.0 -g N -c tcp/ack -o eq -p 22 -O gt -P 1023 -r L -w O -l N -f Y -i en1 Filter rule 4 for IPv4 has been added successfully. ## Rules to deny and log unauthorized administration traffic. ## Note that we add one rule per server address to have ## independence from service configuration. # genfilt -v 4 -a D -s 0 -m 0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -O eq -P 22 -r L -w I -l Y -f Y -i all Filter rule 5 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -O eq -P 22 -r L -w I -l Y -f Y -i all Filter rule 6 for IPv4 has been added successfully. |
以上规则实现了管理员链接的目标。请注意,尽管我故意在第 1 条、第 3 条规则留下空挡,不限制 en1 的接口。我这么作是为了展现如何使用 chfilt
命令来修改已有的规则,以下所示:
# chfilt -v 4 -n 3 -i en1 Filter rule 3 for IPv4 has been changed successfully.# |
如今咱们添加规则来限制来自内部代理服务器 172.16.10.5 对内网应用程序的访问。
## Rules to allow traffic between Proxy and Web Application # genfilt -v 4 -a P -s 172.16.10.5 -m 255.255.255.255 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -o gt -p 1023 -O eq -P 80 -r L -w I -l N -f Y -i en2 Filter rule 7 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 172.16.10.45 -m 255.255.255.255 -d 172.16.10.5 -M 255.255.255.255 -g N -c tcp/ack -o eq -p 80 -O gt -P 1023 -r L -w O -l N -f Y -i en2 Filter rule 8 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 172.16.10.5 -m 255.255.255.255 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -o gt -p 1023 -O eq -P 443 -r L -w I -l N -f Y -i en2 Filter rule 9 for IPv4 has been added successfully. # genfilt -v 4 -a P -s 172.16.10.45 -m 255.255.255.255 -d 172.16.10.5 -M 255.255.255.255 -g N -c tcp/ack -o eq -p 443 -O gt -P 1023 -r L -w O -l N -f Y -i en2 Filter rule 10 for IPv4 has been added successfully. ## Rules to reject traffic to the Web Application not coming from the Proxy # genfilt -v 4 -a D -s 0 -m 0 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -O eq -P 80 -r L -w I -l Y -f Y -i all Filter rule 11 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -O eq -P 80 -r L -w I -l Y -f Y -i all Filter rule 12 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 172.16.10.45 -M 255.255.255.255 -g N -c tcp -O eq -P 443 -r L -w I -l Y -f Y -i all Filter rule 13 for IPv4 has been added successfully. # genfilt -v 4 -a D -s 0 -m 0 -d 10.1.1.45 -M 255.255.255.255 -g N -c tcp -O eq -P 443 -r L -w I -l Y -f Y -i all Filter rule 14 for IPv4 has been added successfully. |
以上命令已经建立了知足此场景要求的全部规则。请注意,规则的顺序对实现目标是很是重要的。
下一步,还须要作一些事来启用对拒绝包的记录,并激活配置。
如今配置 syslog 守护进程将全部来自 IP 过滤的条目记录在指定的文件中。
## Backup syslog.conf file before modifying it. # cp /etc/syslog.conf /etc/syslog.conf.bak ## Append entry for IP filters logs. # echo "local4.debug /var/adm/ipsec.log" >> /etc/syslog.conf ## Create log file and set permissions (permissions may depend on ## company policies) # touch /var/adm/ipsec.log # chmod 644 /var/adm/ipsec.log ## Refresh the syslog subsystem to activate the new configuration. # refresh -s syslogd 0513-095 The request for subsystem refresh was completed successfully. |
到此为止,您已经建立了过滤规则,并准备好了 syslog 以记录被拒绝包的日志。如今可使用 mkfilt
命令激活配置。
# Start the log functionality of the filter rule module # mkfilt -g start # # Activates the filter rules # mkfilt –u |
一旦完成配置,您就能够按期检查 /var/adm/ipsec.log 文件丢弃了哪些包,并检测潜在***以及对配置所作的调整。
在本文中,我演示了 AIX IP 过滤功能,这是一项内置的并且颇有用的功能,可以让系统管理员在服务器中实现额外的安全层。同时还讲解了一些基本的网络概念,并总结了执行过滤所要用到的包和命令。与往常同样,全部的防火墙配置都要认真规划,以免产生反作用,这些反作用每每很难排除。
本文是一个对想要使用此模块进行配置的 UNIX 管理员的很好的入门指导。
学习
得到产品和技术
讨论