At line 60 changed one line |
/var/opt/CrushFTP9/Java/bin/keytool -importkeystore -srckeystore intranet_local.jks -destkeystore intranet_local.p12 -srcstoretype JKS -deststoretype PKCS12 |
/var/opt/CrushFTP10/Java/bin/keytool -importkeystore -srckeystore intranet_local.jks -destkeystore intranet_local.p12 -srcstoretype JKS -deststoretype PKCS12 |
At line 84 changed one line |
vi /var/opt/CrushFTP9/Java/conf/security/java.security |
vi /var/opt/CrushFTP10/Java/conf/security/java.security |
At line 117 changed one line |
vi /var/opt/CrushFTP9/prefs.XML |
vi /var/opt/CrushFTP10/prefs.XML |
At line 120 changed one line |
locate and set the fips140 and change it from false to true. Same for fips140_sftp_client value. |
Find the "fips140" and ""fips140_sftp_client" and "fips140_sftp_server" flag and change them from false to true. The plain "fips140" applies to SSL things like FTPS/FTPES/HTTPS. The others apply to SFTP client and server items. See bottom of this guide for more SFTP items that must be done.\\ |
At line 122 changed 2 lines |
After this step, before restarting the service, log in into the Webinterface as the main admin, navigate to Preferences->Encryption->SSL page |
enter into the "Keystore Location" field the "PKCS11" literal (without the quotes), supply the PKCS11 token password, if any set in Step 2. |
After this step, before restarting the service, log in into the Webinterface as the main admin, navigate to Preferences->Encryption->SSL page, and enter into the "Keystore Location" field the "PKCS11" literal value (without the quotes). Enter the PKCS11 token password, if any set in Step 2.\\ |
At line 125 changed one line |
If this is Java 13, you can force "TLSv1.3" in both. Save.\\ |
If this is Java 13, you can force "TLSv1.3" in both instead. Save. (TLSv1.3 only works starting in Java 13+.)\\ |
At line 133 changed one line |
Normally, all SSL ports should come on line after this step ( HTTPS, FTPES, FTPS ), can test with a client application. SSL cypher assessment should reveal now only FIPS-140-2 compliant ciphers. |
Normally, all SSL ports should come on line after this step ( HTTPS, FTPES, FTPS ), can test with a client application. SSL cypher assessment should reveal now only FIPS-140-2 compliant ciphers.\\ |
At line 136 changed one line |
Warning: At this point the HTTPS port may go offline, if token password was incorrect, or the PKCS11 token bad, etc., make sure there is an plain HTTP port available for administration. In case the java.security config file has syntax errors, the Crush service may not come on line at all. |
Warning: At this point the HTTPS port may go offline, if token password was incorrect, or the PKCS11 token bad, etc., make sure there is an plain HTTP port available for administration. In case the java.security config file has syntax errors, the Crush service may not come on line at all. \\ |
---- |
Running in FIPS mode has a few drawbacks:\\ |
At line 138 changed 3 lines |
Running in FIPS mode has a few drawbacks: |
|
* online updates won't work, for our update repo server is not running in FIPS compliant mode, can only use the manual update method ( from file)\\ |
* online updates won't work, since our server is not running in FIPS compliant mode, can only use the manual update method ( from file)\\ |
At line 145 changed one line |
|
---- |
At line 159 added 19 lines |
---- |
!!SFTP FIPS additional work |
To get FIPS modules for SFTP, you need the BouncyCastle libraries added to the plugins/lib folder of CrushFTP.\\ |
[https://www.bouncycastle.org/fips_faq.html]\\ |
These are files like: |
{{{ |
bc-fips-1.0.2.jar |
bcmail-fips-1.0.1.jar |
bcpg-fips-1.0.3.jar |
bcpkix-fips-1.0.3.jar |
bcpqc-addon-fips-1.0.0.jar |
bctls-fips-1.0.9.jar |
}}} |
The SFTP port will *only* enable FIPS compatible algorithms when the port starts, and it will fail if these jars aren't there and it is unable to do so. You can no longer control your KEX and such as its locked down to the FIPS enabled items only, no controls for the server admin. |
|
{{{ |
KEX: diffie-hellman-group-exchange-sha256,diffie-hellman-group18-sha512,diffie-hellman-group17-sha512,diffie-hellman-group16-sha512,diffie-hellman-group15-sha512,diffie-hellman-group14-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521 |
KEY FORMATS: ecdsa-sha2-nistp256,ssh-rsa,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 |
}}} |