【rsyslog系列】Rsyslog TLS证书制作

前言

rsyslog版本从v5升级到v8(v8.2110.0)版本时,由于openssl版本有较大的更新,原有接口已删除,但rsyslog源码依旧依赖于openssl原有接口,导致rsyslog无法依赖于新版openssl加密,因此,依据rsyslog官网介绍,采用certtool工具制作证书。
官网链接如下:https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_summary.html
CA证书链接如下:https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_ca.html
双向证书如下:https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_machine.html

一、证书制作流程

1. 安装certtool工具

Centos: yum install -y gnutls-utils
Ubuntu: apt-get install gnutls-bin gnutls-doc

2. 制作CA证书

2.1 certtool --generate-privkey --outfile ca-key.pem --bits 2048

在这里插入图片描述

2.2 certtool --generate-self-signed --load-privkey ca-key.pem --outfile ca.pem

在这里插入图片描述
以上划线处为需要填写的配置项。
配置完之后,核对配置,尤其是证书有效期问题。
在这里插入图片描述
生成的ca.pem就是根证书。

3. 制作客户端证书与私钥

客户端证书是在日志发送端使用的证书,其中涉及的IP地址为日志发送端IPv4地址。

创建文件夹client,用于存放证书。

mkdir client

3.1 certtool --generate-provkey --outfile ./client/key.pem --bits 2048

在这里插入图片描述

3.2 certtool --generate-request --load-privkey ./client/key.pem --outfile ./client/request.pem

在这里插入图片描述
以上划线处为需要填写的配置项。

3.3 certtool --generate-certificate --load-request ./client/request.pem --outfile ./client/cert.pem --load-ca-certificate ca.pem --load-ca-privkey ca-key.pem

在这里插入图片描述
以上划线处为需要填写的配置项。
配置完之后,核对配置,尤其是CN是否为日志发送端IPv4地址、证书有效期问题。
在这里插入图片描述
文件夹client中生成的cert.pem就是客户端的本地证书,key.pem就是客户端的密钥。

4. 制作服务端证书与私钥

服务端证书是在日志接收端使用的证书,其中涉及的IP地址为日志接收端IPv4地址。

创建文件夹server,用于存放证书。

mkdir server

3.1 certtool --generate-provkey --outfile ./server/key.pem --bits 2048

在这里插入图片描述

3.2 certtool --generate-request --load-privkey ./server/key.pem --outfile ./server/request.pem

在这里插入图片描述以上划线处为需要填写的配置项。

3.3 certtool --generate-certificate --load-request ./server/request.pem --outfile ./server/cert.pem --load-ca-certificate ca.pem --load-ca-privkey ca-key.pem

在这里插入图片描述
以上划线处为需要填写的配置项。
配置完之后,核对配置,尤其是CN是否为日志发送端IPv4地址、证书有效期问题。
在这里插入图片描述
文件夹server中生成的cert.pem就是服务端的本地证书,key.pem就是服务端的密钥。

二、 常见问题定位

1. 证书路径问题

现象:
证书文件与conf文件配置正确(例如放置在/home/certtool目录),但重启rsyslog进程之后,查询rsyslog状态,显示cacert.pem证书不存在
在这里插入图片描述
解决方式:
将证书路径重新上传到/var/log/文件夹下,保证rsyslog有权限获取。
在这里插入图片描述

2. 未关闭防火墙

现象:
日志接收服务器tail -f /var/log/messages无报错打印,但日志发送端journalctl -f | grep syslog报错
在这里插入图片描述
解决方式:
关闭日志接收服务器的防火墙

systemctl stop firewalld

3. 证书有效期问题

现象: 日志接收端报错“unexpected Gnutls error -110 in nsd_gtls.c:536: The TLS connection was non-properly terminated”,且日志发送端报错“invalid cert info: peer provided 1certificates.Certificate1 info”。
日志服务接收端:
在这里插入图片描述
日志发送端:
在这里插入图片描述
问题原因:
日志发送端系统时间不在证书的有效期内。
解决方式:
使用date -s "2022-04-16 20:20:30"修改日志发送端系统时间 或 重新制作证书。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值