[步骤] 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 console 口显示日志的设置

正文:

内容一:日志消息的优先级

级别关键字描述 内容
0 EMERG 致命级 (KERN_EMESG) 紧急,系统本身已经无法再运行必须马上拯救
1 ALERT 警戒级 (KERN_ALERT) 警报,系统出现了重大错误必须马上处理的情况
2 CRIT 临界级 (KERN_CRIT) 严重,系统出现了严重的情况
3ERR 错误级 (KERN_ERR) 错误,系统出现了错误的情况
4 WARNING告警级 (KERN_WARN) 警告,系统出现了需要警告的情况
5 NOTICE 注意级 (KERN_NOTICE) 注意,系统出现了需要注意的情况
6 INFO 通知级 (KERN_INFO) 信息,系统出现了一些情况
7 DEBUG 调试级 (KERN_DEGUG) 调试,系统出现了程序或服务调试的情况

内容二:查看 console 口显示日志的设置

# cat /proc/sys/kernel/printk
4       4       1       7


补充:
1) 第 1 个 4 代表只有比等级为 4 的日志更紧急的日志会显示在 console 口
2) 第 2 个 4 代表当某条日志没有等级时默认会将其日志等级设置为 4
3) 第 3 个 1 代表会显示在 console 口上的日志的最高紧急度 (在这个文件中 1 已经是所有等级中紧急度最高的等级了)
4) 第 4 个 7 代表当系统启动时,启动时所产生的日志默认的紧急等级

内容三:修改 console 口显示日志的等级

3.1 修改 console 口显示日志的等级

# sysctl -w kernel.printk=3

或者:

# echo "3" > /proc/sys/kernel/printk

(补充:这里以设置把等级为 3 或者更紧急的日志显示在 console 口为例)

3.2 查看修改 console 口显示日志的等级

# cat /proc/sys/kernel/printk
3       4       1       7


补充:
1) 第 1 个 3 代表只有比等级为 4 的日志更紧急的日志会显示在 console 口
2) 第 2 个 4 代表当某条日志没有等级时默认会将其日志等级设置为 4
3) 第 3 个 1 代表会显示在 console 口上的日志的最高紧急度 (在这个文件中 1 已经是所有等级中紧急度最高的等级了)
4) 第 4 个 7 代表当系统启动时,启动时所产生的日志默认的紧急等级

参考文献:

https://linuxconfig.org/introduction-to-the-linux-kernel-log-levels