[步骤] auditd 日志传送到远端的日志搜集服务器的设置 (auditd 版) (RHEL 版)

正文:

步骤一:在服务端上配置搜集 auditd 日志的设置

1.1 设置搜集 auditd 日志时使用的端口

(只在服务端上执行以下步骤)

# vi /etc/audit/auditd.conf

将部分内容修改如下:

......
tcp_listen_port = 1000 
......

(补充:这里以设置 TCP 端口号 1000 作为搜集 auditd 日志时使用的端口为例)

1.2 在 SELinux 上给 auditd 搜集日志时使用的端口打上 auditd SELinux 标签

(只在服务端上执行以下步骤)

# semanage port -a -t audit_port_t -p tcp 1000

(补充:这里以给 TCP 端口号 1000 打上 auditd 的 SELinux 标签为例)

1.3 让刚刚设置的配置文件生效

(只在服务端上执行以下步骤)

# service auditd restart

步骤二:在客户端将 auditd 日志传送到远端的日志搜集服务器

2.1 安装 audispd-plugins 组件 (只在 RHEL 8 和 RHEL 8 之后版本的 RHEL 上操作)

(只在客户端上执行以下步骤)

# dnf install audispd-plugins

(注意:只在 RHEL 8 和 RHEL 8 之后版本的 RHEL 上进行此操作)

2.2 将 auditd 日志传送到远端的日志搜集服务器

2.2.1 设置 auditd 日志要发送到的目标 IP 地址和目标端口

(只在客户端上执行以下步骤)

如果是 RHEL 7 和 RHEL 7 之前的版本 RHEL:

# vim /etc/audisp/plugins.d/syslog.conf

将部分内容修改如下:

......
remote_server = 192.168.0.1
......
port = 1000
......

(补充:这里以将 audit 日志发送到 IP 地址是 192.168.0.1 端口是 1000 的远端日志搜集服务器的为例)


如果是 RHEL 8 和 RHEL 8 之后版本的 RHEL:

# vim /etc/audit/plugins.d/syslog.conf

将部分内容修改如下:

......
remote_server = 192.168.0.1
......
port = 1000
......

(补充:这里以将 audit 日志发送到 IP 地址是 192.168.0.1 端口是 1000 的远端日志搜集服务器的为例)

2.2.2 设置 auditd 日志发送到远端日志搜集服务器的其它信息

(只在客户端上执行以下步骤)

如果是 RHEL 7 和 RHEL 7 之前的版本 RHEL:

# vim /etc/audisp/plugins.d/syslog.conf

将部分内容修改如下:

......
active = yes
direction = out
path = /sbin/audisp-remote
type = always
#args =
format = string
......

如果是 RHEL 8 和 RHEL 8 之后版本的 RHEL:

# vim /etc/audit/plugins.d/syslog.conf

将部分内容修改如下:

......
active = yes
direction = out
path = /sbin/audisp-remote
type = always
#args =
format = string
......

2.3 让刚刚修改的 auditd 配置文件生效

(只在客户端上执行以下步骤)

# service auditd restart

步骤三:检测 auditd 日志是否传送到了远端的日志搜集服务器

3.1 在本地生成 auditd 日志用于检测

(只在客户端上执行以下步骤)

# auditctl -m "This is a test auditd message from client"

(补充:这里以在 auditd 日志里写入 1 条内容是 “This is a test auditd message from client” 的日志为例)

3.2 在远端的日志搜集服务器检测是否收到 auditd 日志

(只在服务端上执行以下步骤)

(步骤略)

参考文献:

https://access.redhat.com/solutions/28676

[步骤] auditd 日志传送到远端的日志搜集服务器的设置 (rsyslog 版) (RHEL 版)

正文:

步骤一:将 auditd 日志转换为系统日志

1.1 安装 audispd-plugins 组件 (只在 RHEL 8 和 RHEL 8 之后版本的 RHEL 上操作)

# dnf install audispd-plugins

(注意:只在 RHEL 8 和 RHEL 8 之后版本的 RHEL 上进行此操作)

1.2 将 auditd 日志转换为系统日志

如果是 RHEL 7 和 RHEL 7 之前的版本 RHEL:

# vim /etc/audisp/plugins.d/syslog.conf

将部分内容修改如下:

......
active = yes
......
args = LOG_INFO LOG_LOCAL3
......

(补充:这里以将 auditd 日志转换成系统的 local3 日志为例)


如果是 RHEL 8 和 RHEL 8 之后版本的 RHEL:

# vim /etc/audit/plugins.d/syslog.conf

将部分内容修改如下:

......
active = yes
......
args = LOG_INFO LOG_LOCAL3
......

(补充:这里以将 auditd 日志转换成系统的 local3 日志为例)

步骤二:将系统日志中的 auditd 日志传送到远端的日志搜集服务器

# vi /etc/rsyslog.conf

添加以下内容:

......
local3.info        @remotesyslog.com
local3.info        stop

(补充:这里以将 local3 日志传送到远端的日志搜集服务器 remotesyslog.com 为例)

步骤三:让刚刚修改的 auditd 配置文件生效

如果是 RHEL 6 和 RHEL 6 之前的版本 RHEL:

# service rsyslog restart
# service auditd restart

如果是 RHEL 7 和 RHEL 7 之后版本的 RHEL:

# systemctl restart rsyslog
# service auditd restart

步骤四:检测 auditd 日志是否传送到了远端的日志搜集服务器

4.1 在本地生成 auditd 日志用于检测

# auditctl -m "This is a test auditd message from client"

(补充:这里以在 auditd 日志里写入 1 条内容是 “This is a test auditd message from client” 的日志为例)

4.2 查看本地的系统日志

# tail -f /var/log/messages
...... auditd[......]: ......

(补充:此时可以看到 /var/log/messages 系统日志里有和 auditd 相关的日志)

4.3 在远端的日志搜集服务器检测是否收到 auditd 日志

(步骤略)

参考文献:

https://access.redhat.com/solutions/28676

[步骤] Linux 命令的监控 (audit 版)

正文:

步骤一:添加监控命令的 audit 规则

1.1 添加监控命令的 audit 规则的格式

-w <command> -p x -k <search_key>


补充:
1) 这里的 <command> 是要监控的命令
2) 这里的 <search_key> 是个标识,用于简化在 audit 日志里搜索此命令

1.2 添加监控命令的 audit 规则的案例

-w /usr/bin/rm -p x -k rm_command


补充:这里以
1) 监控 /usr/bin/rm 命令
2) 标识是 rm_command 为例

步骤二:让刚刚添加的规则生效

2.1 合并新添加的 audit 规则

# augenrules

2.2 重启 auditd 服务

# service auditd restart

步骤三:查看新添加的规则

# auditctl -l

步骤四:查看某个表示的 audit 日志

# ausearch -k rm_command

(补充:这里以查看标识为 rm_command 的 audit 日志为例)

参考文献:

https://access.redhat.com/solutions/3401281