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-fips-compatibility.adoc
+22-23Lines changed: 22 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ The Debian based Neo4j Docker image does *not* support FIPS compatible encryptio
40
40
41
41
To enable the OpenSSL FIPS provider, set the environment variable `NEO4J_OPENSSL_FIPS_ENABLE=true` when starting the container.
42
42
43
-
[source, shell, subs="attributes"]
43
+
[source, console, subs="attributes"]
44
44
.Example starting a Neo4j UBI9 container with FIPS enable flag set.
45
45
----
46
46
docker run -it --rm \
@@ -63,10 +63,8 @@ Skip this section if using Neo4j in Docker.
63
63
The secure networking in Neo4j is provided through the Netty library, which supports both the native JDK SSL provider as well as Netty-supported OpenSSL derivatives.
64
64
Specifically Netty's "Forked Tomcat Native" library called https://github.com/netty/netty-tcnative[netty-tcnative].
65
65
66
-
To be FIPS compatible, the dynamically linked version of `netty-tcnative` must be used, alongside a FIPS compatible installation of OpenSSL.
67
-
68
66
The `netty-tcnative` library is provided in several variants, but
69
-
to be FIPS compatible the dynamically linked version of `netty-tcnative` must be used.
67
+
to be FIPS compatible the dynamically linked version of `netty-tcnative` must be used, alongside a FIPS compatible installation of OpenSSL.
70
68
This dynamically linked library requires that the following dependencies are installedfootnote:[https://netty.io/wiki/forked-tomcat-native.html]:
71
69
72
70
* Apache Portable Runtime Library
@@ -88,15 +86,15 @@ By using the dynamic `netty-tcnative` library variant combined with a FIPS certi
88
86
The simplest way to install https://apr.apache.org[Apache Portable Runtime Library] is to use the operating system's package manager.
89
87
90
88
In Debian/Ubuntu this package is usually called `libapr1`
91
-
[source, shell, subs="attributes"]
89
+
[source, console, subs="attributes"]
92
90
.Install Apache Portable Runtime Library in Debian or Ubuntu
93
91
----
94
92
apt install -y libapr1
95
93
----
96
94
97
95
In RedHat Enterprise Linux the package is usually called `apr`:
98
96
99
-
[source, shell, subs="attributes"]
97
+
[source, console, subs="attributes"]
100
98
.Install Apache Portable Runtime Library in RedHat
101
99
----
102
100
dnf install -y apr
@@ -128,39 +126,43 @@ and on the project's Github page:
128
126
Since Neo4j 5.23.0, builds of `netty-tcnative` dynamic library are provided in
129
127
the Neo4j `lib` directory under their own subfolder called `netty-tcnative`.
130
128
131
-
Installation is just a case of copying the correct jar for the local machine's operating system and architecture into the
132
-
133
129
To install the `netty-tcnative` dynamic library:
134
130
135
131
. Locate the Neo4j `lib` directory.
136
132
+
137
133
The location of the `lib` directory is different depending on the method used to install Neo4j. Check the xref:configuration/file-locations.adoc#neo4j-lib[file locations] documentation for the correct location.
138
134
+
139
135
This location will be referred to as _<NEO4J_LIB>_.
136
+
. Make sure there are no `netty-tcnative-boringssl` libraries present in the _<NEO4J_LIB>_ folder.
. Follow the instructions in xref:security/ssl-framework.adoc#ssl-config-private-key[SSL Framework/Using encrypted private key] to configure `dbms.ssl.policy.bolt.private_key_password` to dynamically read the password from an encrypted password file. The password must NOT be set in plain text.
219
218
@@ -231,7 +230,7 @@ This section is only applicable if HTTPS is enabled.
. Follow the instructions in xref:security/ssl-framework.adoc#ssl-config-private-key[SSL Framework/Using encrypted private key] to configure `dbms.ssl.policy.https.private_key_password` to dynamically read the password from an encrypted password file. The password must NOT be set in plain text.
. Follow the instructions in xref:security/ssl-framework.adoc#ssl-config-private-key[SSL Framework/Using encrypted private key] to configure `dbms.ssl.policy.cluster.private_key_password` to dynamically read the password from an encrypted password file. The password must NOT be set in plain text.
. Follow the instructions in xref:security/ssl-framework.adoc#ssl-config-private-key[SSL Framework/Using encrypted private key] to configure `dbms.ssl.policy.backup.private_key_password` to dynamically read the password from an encrypted password file. The password must NOT be set in plain text.
0 commit comments