The syslog-ng application is able to encrypt incoming and outgoing syslog message
flows using SSL/TLS, if the TCP transport protocol (the tcp() or
tcp6() sources or destination) is used.
![]() |
Note |
|---|---|
The format of the TLS connections used by syslog-ng is similar to using syslog-ng and stunnel, but the source IP information is not lost. |
To encrypt connections, use the tls() option in the source and
destination statements.
The tls() option can include the following settings:
| Name | Accepted values | Default | Description |
|---|---|---|---|
| ca_dir() | Directory name | none | Name of a directory, that contains a set of trusted CA certificates in PEM format. The CA certificate files has to be named after the 32-bit hash of the subject's name. This naming can be created using the c_rehash utility in openssl. |
| cert_file() | Filename | none | Name of a file, that contains an X.509 certificate in PEM format, suitable as a TLS certificate, matching the private key. |
| crl_dir() | Directory name | none | Name of a directory that contains the Certificate Revocation Lists
for trusted CAs. Similarly to ca_dir() files, use
the 32-bit hash of the name of the issuing CAs as filenames. The
extension of the files must be .r0. |
| key_file() | Filename | none | Name of a file, that contains an unencrypted private key in PEM format, suitable as a TLS key. |
| peer_verify() | optional-trusted | optional-untrusted | required-trusted | required-untrusted | required-trusted | Verification method of the peer, the four possible values is a combination of two properties of validation: whether the peer is required to provide a certificate (required or optional prefix), and whether the certificate provided needs to be trusted or not. For untrusted certificates only the existence of the certificate is checked, but it does not have to be valid — syslog-ng accepts the certificate even if it is expired, signed by an unknown CA, or its CN and the name of the machine mismatch. |
| trusted_dn() | list of accepted distinguished names | none | To accept connections only from hosts using certain certificates
signed by the trusted CAs, list the distinguished names of the accepted
certificates in this parameter. E.g., using trusted_dn("*,
O=Example Inc, ST=Some-State, C=*") will accept only
certificates issued for the Example Inc
organization in Some-State state. |
| trusted_keys() | list of accepted SHA-1 fingerprints | none | To accept connections only from hosts using certain certificates
having specific SHA-1 fingerprints, list the fingerprints of the
accepted certificates in this parameter. E.g.,
trusted_keys("SHA1:00:EF:ED:A4:CE:00:D1:14:A4:AB:43:00:EF:00:91:85:FF:89:28:8F",
"SHA1:0C:42:00:3E:B2:60:36:64:00:E2:83:F0:80:46:AD:00:A8:9D:00:15"). |
Table 8.24. List of TLS options
![]() |
Note |
|---|---|
|
When using the
|
© 2007-2008 BalaBit IT Security
Please send your comments or documentation bugs to: documentation@balabit.com