pla*_*aux 5 certificate-authority rsyslog
我见过的关于将 TLS 与 rsyslog 结合使用的几乎所有指南都涉及生成自签名证书并使用它。如果盒子已经设置了合法签名的证书,您如何设置客户端和服务器以简单地使用它?
如果您的证书是“合法的”,那么设置此选项没有太大区别。广泛信任的证书的特点是其信任锚(也称为根证书或 CA 证书)植入操作系统或浏览器的信任存储中。
假设你有server.example.com.key和server.example.com.csr。您的 CA 会向您发回您的证书,server.example.com.crt以及导致您的证书的所有信任链(例如 ca.crt、intermediate1.crt、intermediate2.crt 或作为 chain.crt 连接在一个证书中的所有证书)。有些适合client.crt和client.key。client.crt与服务器的证书具有相同的信任链。
设置此证书与自签名证书的最大区别在于您可能必须在 CA 文件中包含中间证书。如果中间体存在于系统的信任库中,您所要做的就是将 rsyslog 指向那里(Ubuntu 上的 /etc/ssl/certs/ca-certificates.crt,YMMV)
服务器配置是这样完成的:
# make gtls driver the default
$DefaultNetstreamDriver gtls
# certificate files
$DefaultNetstreamDriverCAFile /path/to/chain.crt
$DefaultNetstreamDriverCertFile /path/to/server.example.com.crt
$DefaultNetstreamDriverKeyFile /path/to/server.example.com.key
$ModLoad imtcp # load TCP listener
$InputTCPServerStreamDriverAuthMode x509/name
$InputTCPServerStreamDriverPermittedPeer *.example.com
$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
$InputTCPServerRun 10514 # start up listener at port 10514
Run Code Online (Sandbox Code Playgroud)
客户端的配置应该如下所示:
# certificate files
$DefaultNetstreamDriverCAFile /path/to/chain.crt
$DefaultNetstreamDriverCertFile /path/to/client.crt
$DefaultNetstreamDriverKeyFile /path/to/client.key
# set up the action
$DefaultNetstreamDriver gtls # use gtls netstream driver
$ActionSendStreamDriverMode 1 # require TLS for the connection
$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer server.example.com
*.* @@(o)server.example.com:10514 # send (all) messages
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11021 次 |
| 最近记录: |