配置 TLS 加密.note
1、配置 rsyslog TLS 加密:
(1)安装TLS软件包:
apt install -y rsyslog rsyslog-gnutls(2)生成证书:
openssl req -out newreq.pem -newkey rsa:2048 -keyout newkey.pem -days 365 -subj "/CN=ds01.wsc2026.sh" -addext "subjectAltName=DNS:ds01.wsc2026.sh"
/usr/lib/ssl/misc/CA.pl -sign(3)rsyslog 监听 TLS端口,并调用证书:
在 RFC-5425中定义的 rsyslog TLS端口为 6514
vim /etc/rsyslog.conf
# 必须要安装 rsyslog-gnutls这个协议还可以设置为 udp,将上面的 module load=imudp 开起来,然后type改为 imudp,就能将端口改为udp
input(type="imtcp" port="6514" ruleset="remote" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="anon")
globl (
DefaultNetStreamDriver="gtls"
DefaultNetStreamDriverCAFile="/etc/ssl/ca.crt"
DefaultNetStreamDriverCertFile="/etc/ssl/log.crt"
DefaultNetStreamDriverKeyFile="/etc/ssl/log.key"
)下面的template用于定义如何接收日志

systemctl restart rsyslog

# 参数解析:
StreamDriver.Name //让rsyslog使用GnuTLS实现TLS
StreamDriver.Mode //使用tls
StreamDriver.AuthMode="anon" //不验证客户端证书(客户端不指定证书都可以)2、配置客户端发送日志:
# 必须安装 gnutls软件包:
apt install -y rsyslog-gnutls
vim /etc/rsyslog.conf
## 只需要定义action即可
# 参数解析:
StreamDriver //让rsyslog使用GnuTLS实现TLS
StreamDriverMode //使用tls
StreamDriverAuthMode="anon" //不验证服务端证书字段