AIX上通过IPSEC进行IP包过滤

时间:2023-03-09 21:32:40
AIX上通过IPSEC进行IP包过滤

AIX上的IPSEC

在AIX可以通过以下步骤打开IP Security

smitty ipsec4 --> Start/Stop IP Security --> Start IP Security [Now and After Reboot]

注意,此时请将 Deny All Non_Secure IP Packets [no]

敲Enter

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

此时启动,默认IPv4规则已经设置,同时默认动作是 PERMIT。

这时我们可以用命令查看一下设备状态

lsdev -C -c ipsec
ipsec_v4 Available IP Version 4 Security Extension
ipsec_v6 Available IP Version 6 Security Extension

相关管理命令为: lsfilt mkfilt mvfilt chfilt ckfilt genfilt rmfilt

查看规则

lsfilt -v4 -O
1|permit|0.0.0.0|0.0.0.0|0.0.0.0|0.0.0.0|no|udp|eq|4001|eq|4001|both|both|no|all packets|0|all|0|||Default Rule
2|*** Dynamic filter placement rule for IKE tunnels ***|no
0|permit|0.0.0.0|0.0.0.0|0.0.0.0|0.0.0.0|yes|all|any|0|any|0|both|both|no|all packets|0|all|0|||Default Rule

我们可以通过smitty来进行增加规则。

smitty ipsec4 --> Advanced IP Security Configuration -> Configure IP Security Filter Rules -> Add an IP Security Filter Rules.

* Rule Action                                        [permit]
* IP Source Address []
* IP Source Mask []
IP Destination Address []
IP Destination Mask []
* Apply to Source Routing? (PERMIT/inbound only) [yes]
* Protocol [all]
* Source Port / ICMP Type Operation [any]
* Source Port Number / ICMP Type [0]
* Destination Port / ICMP Code Operation [any]
* Destination Port Number / ICMP Type [0]
* Routing [both]
* Direction [both]
* Log Control [no]
* Fragmentation Control [0]
* Interface []
Expiration Time (sec) []
Pattern Type [none]
Pattern []
Description []

genfilt命令增加规则

genfilt与以上操作有异曲同工之效,基本命令模式

genfilt -v 4|6 [ -n fid] [ -a D|P|I|L|E|H|S ] -s s_addr -m s_mask [-d d_addr] [ -M d_mask] [ -g Y|N ] [ -c protocol] [ -o s_opr] [ -p s_port] [ -O d_opr] [ -P d_port] [ -r R|L|B ] [ -w I|O|B ] [ -l Y|N ] [ -f Y|N|O|H ] [ -t tid] [ -i interface] [-D description] [-e expiration_time] [-x quoted_pattern] [-X pattern_filename ] [-C antivirus_filename]

-C antivirus_filename 指定抗病毒名。-C 标志意味着ClamAV病毒库的一些版本。

-D description 描述介绍。

-v 4|6 指定IP版本

-n fid 所添加ID将会被添加至第 fid 条规则之前

-a Action D(eny) | P(ermit) | I(f) | (e)L(se) | E(ndif)。所有IF规则必须关联ENDIF规则结束。

-s s_addr 源地址

-m s_mask 源地址掩码

-d d_addr 目标地址

-M d_mask 目标地址掩码

-g Y|N 用于Permit规则,默认为Y,表示过滤规则可以使用源路由的IP包。

-c protocol 协议,默认all。有效值udp/icmp/icmpv6/tcp/tcp.ack/ospf/ipip/esp/ah/all

-o s_opr | ICMP Code Opertion 源端口或者ICMP类型 操作。有效值:lt/le/gt/ge/eq/neq/any。默认any,当-c ospf时,必须为any。

-p s_port 源端口或ICMP类型。

-O d_opr | ICMP Code Opertion 目标端口或者ICMP类型 操作。有效值:lt/le/gt/ge/eq/neq/any。默认any,当-c ospf时,必须为any。

-P d_port 目标端口或ICMP类型

-r R|L|B 路由,默认B。指定规则是用于R(转发包)、L(发往或来自本机的包)、B(两者都使用)

-w I|O|B 默认B。指定规则应用于I(输入包)、O(输出包)、B(两者都使用)。使用代-x -X或-C 模式是使用O选项无效,使用B有效,但只检查输入包。

-l Y|N 是否记录(匹配规则的包)日志,默认N。

-f Y|N|O|H 分段控制、默认为Y(所有包)。N(未分段包)、O(只用于分段和分段头)、H(只应用于分段头和未分段)。

-t tid 指定于该规则相关的通道标识,所有匹配包都要经过此通道。不指定此项,规则只作用于非流量通道。

-i interface 指定接口卡,默认为all。

-e expiration_time 过期时间(秒)。

-x pattern 匹配模式

-X patternfile 匹配模式文件。每行一个模式

常用举例:

genfilt -v 4 -a P -s 192.168.0.1 -m 255.255.255.0 -d 192.168.0.88 -M 255.255.255.255 [-o any] [-p 0] -O eq -P 22 [-r B] [-w B] -l Y [-f Y] [-i all] -D "permit lan host visit port 22" [-e 0]

默认情况下我们加限制22端口的话,对所有的包都会进行规则匹配。可以利用默认的设置而进行简略

genfilt -v 4 -a P -s 192.168.0.1 -m 255.255.255.0 -d 192.168.0.88 -M 255.255.255.255 -O eq -P 22
genfilt -v 4 -a D -O eq -P 22

使命令生效

mkfilt -v 4|6 [-d] [-u] [-z P|D] [-g start|stop] -i

-u 激活rule table中的所有状态的规则。与-d 互斥

-d 停止表中规则。与-u 互斥

-z 使默认规则(最后一条)执行P或者D动作。

-g 日志启动与停止

-i 与-u一起使用,激活所有"active"状态规则。