Skip to content

Commit 0c8943a

Browse files
authored
DOC: Backport syslog TLS support documentation to 1.4 (#1724)
1 parent 4454642 commit 0c8943a

File tree

1 file changed

+79
-35
lines changed

1 file changed

+79
-35
lines changed

docs/configuration/system/syslog.rst

Lines changed: 79 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -78,55 +78,99 @@ sending the messages via port 514/UDP.
7878

7979
Specify name of the :abbr:`VRF (Virtual Routing and Forwarding)` instance.
8080

81-
TLS Options
82-
^^^^^^^^^^^
81+
:abbr:`TLS (Transport Layer Security)`-encrypted remote logging
82+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8383

84-
When ``set system syslog host <address> protocol tcp`` is selected,
85-
an additional ``tls`` sub-node can be used to enable encryption and
86-
configure certificate handling. TLS is not supported over UDP and
87-
if you attempt to enable TLS while using UDP, the system will issue a warning.
84+
VyOS supports :abbr:`TLS (Transport Layer Security)`-encrypted remote logging
85+
over TCP to ensure secure transmission of syslog data to remote syslog servers.
8886

89-
.. cfgcmd:: set system syslog host <address> tls
87+
**Prerequisites**: Before configuring :abbr:`TLS (Transport Layer
88+
Security)`-encrypted remote logging, ensure you have:
9089

91-
Enable TLS for this remote syslog destination.
90+
* A valid remote syslog server address.
91+
* Valid :abbr:`CA (Certificate Authority)` and client certificates uploaded
92+
to the local :abbr:`PKI (Public Key Infrastructure)` storage.
93+
* The **remote syslog transport protocol** is set to **TCP**:
9294

93-
.. cfgcmd:: set system syslog host <address> tls ca-certificate <ca_name>
95+
.. code-block:: none
9496
95-
Reference to a :abbr:`CA (Certification Authority)` certificate stored
96-
in the :abbr:`PKI (Public Key Infrastructure)` subsystem.
97-
Used to validate the certificate chain of the remote syslog server.
98-
Required when the authentication mode is anything other than ``anon``.
97+
set system syslog remote <address> protocol tcp
9998
100-
.. cfgcmd:: set system syslog host <address> tls certificate <cert_name>
10199
102-
Reference to a client certificate stored in the PKI subsystem.
103-
Required when the server enforces client certificate authentication.
100+
.. note:: :abbr:`TLS (Transport Layer Security)`-encrypted remote logging is
101+
**not supported** over **UDP**.
104102

105-
.. cfgcmd:: set system syslog host <address> tls auth-mode <anon|fingerprint|certvalid|name>
103+
.. cfgcmd:: set system syslog remote <address> tls
106104

107-
Defines the peer authentication mode:
105+
Enable TLS-encrypted remote logging.
106+
107+
.. cfgcmd:: set system syslog remote <address> tls ca-certificate <ca_name>
108108

109-
* **anon** - allow encrypted connection without verifying peer identity
110-
(not recommended, vulnerable to :abbr:`MITM (Man-in-the-Middle)`).
111-
* **fingerprint** - verify the peer certificate against an explicitly
112-
configured fingerprint list (set with ``permitted-peer``).
113-
* **certvalid** - validate that the peer presents a certificate signed by
114-
a trusted CA, but do not check the certificate subject name
115-
(:abbr:`CN (Common Name)`).
116-
* **name** - validate that the peer presents a certificate signed by a
117-
trusted CA and that the certificate’s CN matches the value configured in
118-
``permitted-peer``. This is the recommended secure mode for production.
109+
**Configure the** :abbr:`CA (Certificate Authority)` **certificate.**
119110

120-
.. note:: The default value for the authentication mode is ``anon``.
111+
The syslog client uses the :abbr:`CA (Certificate Authority)` certificate to
112+
verify the identity of the remote syslog server.
121113

122-
.. cfgcmd:: set system syslog host <address> tls permitted-peer <peer>
114+
The :abbr:`CA (Certificate Authority)` certificate is required for **all**
115+
authentication modes except ``anon``.
123116

124-
Allowed peer certificate fingerprint or subject name (CN).
117+
.. cfgcmd:: set system syslog remote <address> tls certificate <cert_name>
118+
119+
**Configure the client certificate.**
125120

126-
* In ``fingerprint`` authentication mode: provide one or more peer
127-
certificate fingerprints (SHA1 or SHA256).
128-
* In ``name`` authentication mode: explicit list of certificate’s CN to enforce.
129-
* Ignored in ``anon`` and ``certvalid``.
121+
The remote syslog server uses the client certificate to verify the identity
122+
of the syslog client.
123+
124+
The client certificate is required if the remote syslog server enforces
125+
client certificate verification.
126+
127+
.. cfgcmd:: set system syslog remote <address> tls auth-mode <anon | fingerprint
128+
| certvalid | name>
129+
130+
**Configure the authentication mode.**
131+
132+
The authentication mode defines how the syslog client verifies the syslog
133+
server's identity.
134+
135+
The following authentication modes are available:
136+
137+
* ``anon`` **(default)**: Allows encrypted connections without verifying the syslog
138+
server's identity. This mode is **not recommended**, as it is vulnerable to
139+
:abbr:`MITM (Man-in-the-Middle)` attacks.
140+
* ``fingerprint``: Verifies the server’s certificate fingerprint against the
141+
value preconfigured with:
142+
143+
.. code-block:: none
144+
145+
set system syslog remote <address> tls permitted-peer <peer>
146+
147+
* ``certvalid``: Verifies the server certificate is signed by a trusted
148+
:abbr:`CA (Certificate Authority)`, skipping :abbr:`CN (Common Name)` check.
149+
* ``name``: Verifies that:
150+
151+
* The server’s certificate is signed by a trusted :abbr:`CA (Certificate
152+
Authority)`.
153+
* The :abbr:`CN (Common Name)` in the certificate matches the value
154+
preconfigured with:
155+
156+
.. code-block:: none
157+
158+
set system syslog remote <address> tls permitted-peer <peer>
159+
160+
This is a **recommended** secure mode for production environments.
161+
162+
.. cfgcmd:: set system syslog remote <address> tls permitted-peer <peer>
163+
164+
**Configure the peer certificate identifiers.**
165+
166+
The certificate identifier format depends on the authentication mode:
167+
168+
* ``fingerprint``: Enter the expected certificate fingerprints (SHA-1 or
169+
SHA-256).
170+
* ``name``: Enter the expected certificate :abbr:`CNs (Common Names)`.
171+
172+
For ``anon`` and ``certvalid`` authentication modes, certificate identifiers
173+
are not required.
130174

131175
Examples:
132176
^^^^^^^^^

0 commit comments

Comments
 (0)