[步骤] 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 命令 sftp 的使用 (通过 SFTP 协议传输文件)

正文:

案例一:显示 sftp 命令在执行过程中的详细步骤

# sftp -v 192.168.0.1

(补充:这里以使用 sftp 命令连接 IP 地址 192.168.0.1 为例)

案例二:非交互式将远处的文件拷贝到本地

# sftp eternalcenter@192.168.0.1:/tmp/test.txt

(补充:这里以通过用户 eternalcenter 登录,直接将 IP 地址 192.168.0.1 的文件 /tmp/test.txt 拷贝到本地的当前目录为例)

案例三:非交互式将本地的文件拷贝到远处

# sftp eternalcenter@192.168.0.1:/tmp/ <<< $"put test.txt"

或者:

# a=test;sftp eternalcenter@192.168.0.1:/tmp/ <<< $"put $a.txt"

(补充:这里以通过用户 eternalcenter 登录,直接将本地当前目录的 test.txt 文件拷贝到 IP 地址 192.168.0.1 的 /tmp/ 目录为例)

案例四:通过代理连接

# sftp -v -o ProxyCommand='ncat --proxy 10.0.0.1:10000 --proxy-type http 192.168.0.1 22' eternalcenter@192.168.0.1:/tmp/test.txt


补充:这里以
1) 通过代理 IP 地址 10.0.0.1 的 10000 端口,代理协议是 http,连接远程 IP 地址 192.168.0.1 的 22 端口
2) 通过用户 eternalcenter 登录
3) 直接将 IP 地址 192.168.0.1 的文件 /tmp/test.txt 拷贝到本地的当前目录
为例

参考文献:

https://www.endpointdev.com/blog/2013/04/socat-and-netcat-proxycommand-ssh
https://www.man7.org/linux/man-pages/man1/ncat.1.html