Skip to main content

SSL/TLS Configuration

Overview

Enov8 TDM supports SSL/TLS encryption to secure database connections, ensuring confidentiality, integrity, and protection against eavesdropping and man-in-the-middle (MITM) attacks. This guide explains how to configure SSL/TLS settings using the Enov8 TDM UI.

Supported Databases for SSL/TLS Connectivity

Enov8 TDM supports SSL/TLS authentication for the following databases:

  • MySQL/MariaDB
  • MSSQL
  • Oracle
  • PostgreSQL
  • Sybase (via TLS wrapper)

Each database requires specific SSL configurations to enable encrypted connections.

Configuring SSL/TLS in the Enov8 TDM UI

The SSL/TLS settings can be configured through the database connection setup page in Enov8 TDM.

UI Field Mapping for SSL/TLS Authentication

UI FieldDescription & How to Determine the Value
Server *The hostname or IP address of the database server (e.g., dbserver.example.com). For Sybase with TLS wrapper, use the wrapper endpoint host.
Username *The database username used for authentication.
Password *The database password for authentication.
Database *The name of the database you are connecting to.
Port *The database port (default: 3306 for MySQL/MariaDB, 1433 for MSSQL, 1521 for Oracle, 5432 for PostgreSQL, 5000 for Sybase). For Sybase with TLS wrapper, use the wrapper listener port.
Certificate Authentication File PathThe path to the CA certificate file (optional). If left blank, the connection may still be encrypted but without CA verification.
Client Certificate File PathThe path to the client certificate file used for authentication.
Certificate Key File PathThe path to the client private key file required for authentication.

Database-Specific SSL/TLS Configurations

Each supported database has specific requirements for setting up SSL/TLS. Below are the details for configuring each database type in the UI.

1. MySQL/MariaDB SSL Configuration

MySQL and MariaDB use certificate-based authentication to secure connections.

Example UI Configuration for MySQL/MariaDB

UI FieldExample Value
Server10.81.0.123
Usernametestuser
Passwordsecurepassword
Databasetestdb
Port3306 (default)
Certificate Authentication File Path/var/tmp/mysql/ca-cert.pem
Client Certificate File Path/var/tmp/mysql/client-cert.pem
Certificate Key File Path/var/tmp/mysql/client-key.pem

Note: If the CA certificate is not required, leave Certificate Authentication File Path blank.

2. MSSQL SSL Configuration

MSSQL connections use default system-wide certificate stores to establish secure connections.

Default Certificate Store Locations

OS VersionCertificate Store Path
RHEL 7-9/etc/pki/tls/cert.pem
Ubuntu 18-24/etc/ssl/certs

Example UI Configuration for MSSQL

In the data source connection screen, select the required Authentication Mechanism and select SSL/TLS Connection as Yes

UI FieldExample Value
Authentication MechanismSQL Authentication
SSL/TLS ConnectionYes
Server10.81.0.123
Databasetestdb
Port1433 (default)
Schematestschema
Usernametestuser
PasswordStrongPass123

Note: Ensure MSSQL is configured to require SSL connections. Microsoft ODBC Driver handles SSL/TLS and validates certs against the OS trust store.

So when using an internal Certificate Authority:

  • Linux (Ubuntu/Debian): Copy your CA certificate to /usr/local/share/ca-certificates/ and run:
    sudo update-ca-certificates
  • Linux (RHEL/CentOS): Copy the certificate to /etc/pki/ca-trust/source/anchors/ and run:
    sudo update-ca-trust

Then from Data Source Connection screen, select "YES" for "SSL/TLS Connection".

3. Oracle SSL Configuration

Oracle databases use a combination of DSN (tnsnames.ora) and Wallet-based authentication to enable SSL.

Example UI Configuration for Oracle

UI FieldDescription & How to Determine the ValueExample Value
ServerThe Oracle database host or listener endpoint.10.81.0.123
UsernameOracle schema/user account used for authentication.testschema
PasswordPassword for the Oracle user account.SecureOraclePass
SchemaOracle service name or database identifier.testschema
PortOracle listener port (default: 1521).1521
DSNThe Oracle alias or connect descriptor for the target service.10.81.0.123/FREEPDB1

Note: Ensure tnsnames.ora and sqlnet.ora are configured for SSL. The user should enter the alias from the tnsnames.ora file (which is configured with a wallet) into the DSN field.

DSN Format: The DSN format supported by Python oracledb driver expects one of the following formats:

  • Easy Connect format:
host:port/service_name?...
  • Net descriptor format (without JDBC prefix):
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>))
(CONNECT_DATA=
(SERVICE_NAME=<service_name>)
)
)

Oracle Quick Verification Checklist

  • Verify the DSN/alias resolves and the listener is reachable:
    • tnsping <net_service_name>
  • Test a TLS connection from the client host:
    • sqlplus user/password@<net_service_name> or use a Python oracledb test script.
  • Confirm wallet and sqlnet.ora/tnsnames.ora placement and permissions:
    • Typical locations: $TNS_ADMIN, $ORACLE_HOME/network/admin; wallet files include ewallet.p12 or cwallet.sso.
    • Ensure private key/wallet files are owner-only readable.
  • Use openssl to probe the listener certificate (optional):
    • openssl s_client -connect <host>:<port> -showcerts
  • Check certificates for expiry and validity:
    • openssl x509 -noout -enddate -in /path/to/ca.pem
  • Inspect listener and database logs for SSL-related errors (ORA- or listener messages).

4. PostgreSQL SSL Configuration

PostgreSQL allows multiple SSL modes, which determine encryption security levels.

Supported SSL Modes

SSL ModeEavesdropping ProtectionMITM ProtectionUse Case
disable❌ No❌ NoNo encryption, minimal overhead.
allow✅ Maybe❌ NoEncrypt if the server insists.
prefer✅ Maybe❌ NoEncrypt if supported, but not required.
require✅ Yes❌ NoAlways encrypt, trust network.
verify-ca✅ Yes🔄 Depends on CA policyEncrypted + trusted CA certificate.
verify-full✅ Yes✅ YesEncrypted + strict server verification.

Example UI Configuration for PostgreSQL

UI FieldExample Value
Server10.81.0.123
Databasetestdb
Port5432 (default)
Schematestschema
Usernametestuser
PasswordSecurePostgresPass
SSL Moderequire
Certificate Authentication File Path/etc/postgres/ssl/ca-cert.pem
Client Certificate File Path/etc/postgres/ssl/client-cert.pem
Certificate Key File Path/etc/postgres/ssl/client-key.pem

Recommended: Set SSL Mode to verify-full for the highest security.

5. Sybase SSL Configuration

Enov8 TDM supports SSL for Sybase through a TLS wrapper layer (for example: stunnel, sidecar proxy, or VPN).

For Sybase, run the TLS wrapper and change connection details in Enov8 TDM accordingly:

  • Set Server to the TLS wrapper endpoint host.
  • Set Port to the TLS wrapper listener port.
  • Keep Username, Password, and Database as Sybase credentials/database values.

Example UI Configuration for Sybase (TLS wrapper)

UI FieldExample Value
Server127.0.0.1
Usernamesybase_user
PasswordStrongSybasePass123
Databaseoperations_db
Port15000 (TLS wrapper listener)
Schematestschema

Note: TLS certificates and trust are handled by the wrapper/proxy layer, not in this Sybase connection table.

Best Practices for SSL/TLS Configuration

  • Use the highest security mode possible
    • For PostgreSQL, use verify-full.
    • For MSSQL, verify certificate trust.
    • For Sybase, enforce TLS policy in the wrapper/proxy layer.
  • Ensure certificates are stored in a secure location
    • Store certificates in restricted-access directories (/etc/security/ssl/).
    • Limit permissions to root or the database user.
  • Keep certificates updated
    • Regularly rotate TLS certificates.
    • Check for certificate expiration.

Final Notes

  • If client certificates are not required, leave those fields blank.
  • Ensure the database server or wrapper layer supports SSL/TLS and is configured accordingly.
  • Use trusted certificate authorities (CAs) to avoid untrusted connection errors.