You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/security/ssl-framework.adoc
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1108,6 +1108,48 @@ Beware that the SSL debug option logs a new statement every time a client connec
1108
1108
To avoid that scenario, make sure this setting is only enabled for a short term duration.
1109
1109
====
1110
1110
1111
+
[role=label--new-2025.03]
1112
+
[[certificate-rotation]]
1113
+
== Certificates rotation
1114
+
1115
+
It is considered best practice to use certificates with reasonably short duration.
1116
+
This, however, requires the periodic rotation of certificates whereby old certificates are removed and the new ones are installed.
1117
+
Previous versions of Neo4j required a database restart for changes to be applied.
1118
+
Starting from 2025.03, new certificates can be rotated in, and SSL configuration can be updated without requiring a restart.
1119
+
This reduces undesirable effects of transient loss of cluster members.
1120
+
1121
+
The following steps outline the process for certificates rotation.
1122
+
1123
+
. Enable the dynamic reloading of certificates on all cluster members.
1124
+
It is best to do this when the cluster is deployed as changing this configuration requires a restart:
1125
+
1126
+
[source, properties]
1127
+
----
1128
+
dbms.security.tls_reload_enabled=true (default is false)
1129
+
----
1130
+
1131
+
. Replace old certificates either by overwriting them on the filesystem or by copying them to a new location.
1132
+
Then update the required SSL configuration for each effected scope.
1133
+
+
1134
+
New and old certificates may co-exist on the filesystem, but only one can be referenced in the configuration.
1135
+
New certificates need to be copied to all cluster members as required.
1136
+
1137
+
. Make necessary changes to any of the SSL configuration and/or replace certificates for effected scopes.
1138
+
1139
+
. Connect to each cluster member in turn with Cypher Shell using a <<ssl-bolt-connect,`bolt` URI scheme>> and run the reload procedure:
1140
+
1141
+
[source]
1142
+
----
1143
+
dbms.security.reloadTLS()
1144
+
----
1145
+
1146
+
. New settings will take effect immediately; however, existing connections will not be preemptively terminated.
1147
+
This means that while new connections will use new certificates, the existing connections (established before the update) will continue using the old certificates.
1148
+
Even if a certificate expires, active connections remain unaffected because the certificates are only used during the initial connection handshake.
1149
+
1150
+
. Verify that the intra-cluster communication is still encrypted using external tooling, such as Nmap, described in <<ssl-cluster-config, Configuring SSL for intra-cluster communications>>.
0 commit comments