Search code examples
sslcertificateredhatrsyslog

rsyslogd-2291: imrelp: could not activate relp listner


I'm trying to configure rsyslog tls with relp but keep getting errors. I'm using RHEL 7.2 with rsyslog 8.15. I do manage to send messages using relp + tls but without using the certificates. When I'm adding the certificates I'm getting the following error:

Jan 20 11:00:17 ip-10-0-0-114 rsyslogd-2353: imrelp[514]: error 'Failed to set certificate trust files [gnutls error -64: Error while reading file.]', object 'lstn 514' - input may not work as intended [v8.15.0 try http://www.rsyslog.com/e/2353 ] Jan 20 11:00:17 ip-10-0-0-114 rsyslogd-2291: imrelp: could not activate relp listner, code 10031 [v8.15.0 try http://www.rsyslog.com/e/2291 ]

Server conf:

module(load="imrelp" ruleset="relp")

input(type="imrelp" port="514" tls="on"
tls.caCert="/home/ec2-user/rsyslog/ca.pem"
tls.myCert="/home/ec2-user/rsyslog/server-cert.pem"
tls.myPrivKey="/home/ec2-user/rsyslog/server-key.pem"
tls.authmode="name"
tls.permittedpeer=["client.example.co"]
)

ruleset(name="relp") {
action(type="omfile" file="/var/log/relptls2")
}

The following is the client configuration:

module(load="omrelp")

action(type="omrelp" target="10.0.0.114" port="514" tls="on"
tls.caCert="/home/ec2-user/rsyslog/ca.pem"
tls.myCert="/home/ec2-user/rsyslog/client-cert.pem"
tls.myPrivKey="/home/ec2-user/rsyslog/client-key.pem"
tls.authmode="name"
tls.permittedpeer=["server.example.co"]
)

When I remove the tls cert fields from the server configration I get client error:

Jan 20 10:35:29 ip-10-0-0-206 rsyslogd-2353: omrelp[10.0.0.114:514]: error 'Failed to set certificate trust file [gnutls error -64: Error while reading file.]', object 'conn to srvr 10.0.0.114:514' - action may not work as intended [v8.15.0 try http://www.rsyslog.com/e/2353 ]

Help would be really really appreciated as I'm stack with this for long time. Thanks!!!!


Solution

  • The gnutls error -64: Error while reading file error message means either:

    1. The certificates actual path is different from what is in the configuration file
    2. Rsyslog service cannot read the certificates because of permission problem

    In case of permission issue you may move the certificates under /etc/rsyslog.d In case of path issue, just fix the path :)