Purpose:
Complete the following steps on the AxoSyslog server:
Steps:
- 
Create an X.509 certificate for the AxoSyslog server. NoteThe subject_alt_nameparameter (or theCommon Nameparameter if thesubject_alt_nameparameter is empty) of the server’s certificate must contain the hostname or the IP address (as resolved from the syslog-ng clients and relays) of the server (for example,syslog-ng.example.com).Alternatively, the Common Nameor thesubject_alt_nameparameter can contain a generic hostname, for example,*.example.com.Note that if the Common Nameof the certificate contains a generic hostname, do not specify a specific hostname or an IP address in thesubject_alt_nameparameter.
- 
Copy the certificate (for example, syslog-ng.cert) of the AxoSyslog server to the AxoSyslog server host, for example, into the/opt/syslog-ng/etc/syslog-ng/cert.ddirectory. The certificate must be a valid X.509 certificate in PEM format.
- 
Copy the private key (for example, syslog-ng.key) matching the certificate of the AxoSyslog server to the AxoSyslog server host, for example, into the/opt/syslog-ng/etc/syslog-ng/key.ddirectory. The key must be in PEM format. If you want to use a password-protected key, see Password-protected keys.
- 
Add a source statement to the syslog-ng.confconfiguration file that uses thetls( key-file(key_file_fullpathname) cert-file(cert_file_fullpathname) )option and specify the key and certificate files. The source must use the source driver (network()orsyslog()) matching the destination driver used by the AxoSyslog client.Example: A source statement using TLSThe following source receives log messages encrypted using TLS, arriving to the 1999/TCPport of any interface of the AxoSyslog server.source demo_tls_source { network(ip(0.0.0.0) port(1999) transport("tls") tls( key-file("/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key") cert-file("/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert") ) ); };A similar source for receiving messages using the IETF-syslog protocol: source demo_tls_syslog_source { syslog(ip(0.0.0.0) port(1999) transport("tls") tls( key-file("/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key") cert-file("/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert") ) ); };
- 
Disable mutual authentication for the source by setting the following TLS option in the source statement: tls( peer-verify(optional-untrusted);If you want to authenticate the clients, you have to configure mutual authentication. For details, see Mutual authentication using TLS. For the details of the available tls()options, see TLS options.Example: Disabling mutual authenticationThe following source receives log messages encrypted using TLS, arriving to the 1999/TCPport of any interface of the AxoSyslog server. The identity of the AxoSyslog client is not verified.source demo_tls_source { network( ip(0.0.0.0) port(1999) transport("tls") tls( key-file("/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key") cert-file("/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert") peer-verify(optional-untrusted) ) ); };A similar source for receiving messages using the IETF-syslog protocol: source demo_tls_syslog_source { syslog( ip(0.0.0.0) port(1999) transport("tls") tls( key-file("/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key") cert-file("/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert") peer-verify(optional-untrusted) ) ); };Warning Do not forget to update the certificate and key files when they expire.