Deployment options:
Netezza Performance Server for Cloud Pak for Data System
Learn how to create
and enable certificates if you are on Netezza Performance Server 11.2.1.5, 11.2.2.0 and later, and
using ECDHE-ECDSA ciphers.
ECDHE-ECDSA ciphers:
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-GCM-SHA256
Before you begin
- Verify whether enable_tls_v12 is
on.show enable_tls_v12;
Example:show enable_tls_v12;
NOTICE: ENABLE_TLS_V12 is on
SHOW VARIABLE
- Ensure that the
ECDHE-ECDSA certificates are enabled in the
postgresql.conf file. For more information, see Enabling and disabling ciphers.
Procedure
- Display all of the
EC parameters names that are implemented.
openssl ecparam -list_curves
- Create
EC parameters and a private key.
openssl ecparam -out server-key.pem -name prime256v1 -genkey
- Create a certificate.
openssl req -new -key server-key.pem -x509 -nodes -days 365 -out server-cert.pem
- Change directories to /nz/kit/share/security.
cd /nz/kit/share/security
- Copy the key and certificate to /nz/kit/share/security and run the
following commands.
-
mv server-cert-sp800-131a.pem.sample server-cert-sp800-131a.pem.sample.BKP
-
mv server-key-sp800-131a.pem.sample server-key-sp800-131a.pem.sample.BKP
-
mv <new_cert_name> server-cert-sp800-131a.pem.sample
-
mv <new_key_name> server-key-sp800-131a.pem.sample
Note:
- If you downloaded and enabled the
ECDHE_ECDSA certificate with these steps but
the ECDHE_ECDSA ciphers are disabled in the postgresql.conf file,
the certificate does not work. Ensure that you enable the
ciphers or download the RSA certificate.The following
ciphers work with the default RSA certificate:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_AES_128_GCM_SHA256
- If you disabled
ECDHE-ECDSA-AES256-GCM-SHA384 or
ECDHE-ECDSA-AES128-GCM-SHA256, you must revert the certificates that you created.
If you do not revert the certificates, the ciphers cannot be disabled.
- Restart the system.
- Verify that the changes were applied.
- Run the nzsql
command.
nzsql -u admin -pw password -securityLevel onlySecured
Example: $ nzsql -u admin -pw password -securityLevel onlySecured
Welcome to nzsql, the IBM Netezza SQL interactive terminal.
Type: \h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
SSL enabled connection. Cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, protocol: TLSv1.2
- Look for the following entries in
postgres/pg.log.DEBUG: readHandshakeClientPacket ssl request=3
DEBUG: Attempting SSL_accept()
DEBUG: secure connection: protocol = TLSv1.2
DEBUG: SSL_accept succeeded with cipher = ECDHE-RSA-AES256-GCM-SHA384