Some database servers use Secure Socket Layer (SSL) when communicating with Safeguard for Privileged Passwords. Depending on the platform type, version, and configuration, the database server can either use SSL for only encrypting the session or it can use SSL for encrypting and verifying the authenticity of the database server.
ODBC Transport
The following platforms use the ODBC transport. Safeguard for Privileged Passwords installs the appropriate software driver on the appliance to communicate with the platform. The configuration data that Safeguard for Privileged Passwords uses to initialize a connection with the server is in the form of a connection string consisting of a colon-separated list of driver-specific options.
By default, the database servers encrypt the login data, but not the subsequent data passed on the connection. You must configure SSL and enable it on the database server to enable encryption for the session data.
Microsoft SQL Server
MicrosoftSQL Server is always capable of encrypting the connection with SSL. It listens on a single port for both SSL and non-SSL connections.
If you have set the Force Encryption option to yes on the SQL server, then it uses SSL to encrypt the data, regardless of whether the Safeguard for Privileged Passwords client requests it or not.
You can set the Force Encryption option to yes on the SQL server without configuring a server certificate. In this case, the SQL server transparently generates a self-signed certificate to use when a Safeguard for Privileged Passwords client requests encryption. This makes it possible for the SQL server to use SSL only to provide encryption for the session without verifying the server certificate.
Note: It is not possible from within a running session to detect whether the SQL server is using SSL for encryption.
Safeguard for Privileged Passwords Client Options | Microsoft SQL Server Configuration |
Result | ||
Use SSL Encryption | Verify SSL Cert | Force Encryption | Server Cert Configured | |
No | n/a | No | n/a | The SQL Server does not encrypt the session. |
Yes | No | n/a | No | Safeguard for Privileged Passwords requests that the SQL server encrypt the session using a generated self-signed certificate. |
Yes | No | n/a | Yes | Safeguard for Privileged Passwords requests that the SQL server encrypt the session using the server certificate. |
Yes | Yes | n/a | No | The SQL server rejects the connection as there is no certificate to verify against. |
Yes | Yes | n/a | Yes | Safeguard for Privileged Passwords requests that the SQL server encrypt the session and verify the server certificate against the trusted CA certificates in Safeguard for Privileged Passwords. |
MySQL Server
To support SSL you must compile the MySQL server software with SSL support and correctly configure it with a CA certificate and server certificate. If there is any problem with the certificate, the MySQL server may log an error and start up without SSL support. In this case the MySQL server rejects the request to enable SSL for a session as there is no certificate to verify against and does not encrypt the session. The MySQL server listens on a single port for both types of connections.
The behavior of the MySQL server depends on the server version and configuration. In some versions of MySQL, the server enables SSL by default on all Safeguard for Privileged Passwords client sessions once it is configured.
If the MySQL server defaults to using SSL, or requires SSL for a user, the MySQL server encrypts the session even if the Safeguard for Privileged Passwords client does not request it. However, the Safeguard for Privileged Passwords client cannot request to use SSL just for encryption; it can only request SSL if you have imported the correct CA certificate to Safeguard for Privileged Passwords.
Note: It is possible to detect that SSL is in use from within a session by examining the session variables. That is, the Safeguard for Privileged Passwords client can detect if a request to use SSL has not been honored and displays an error.
Safeguard for Privileged Passwords Use SSL Encryption Option | SSL Supported on MySQL Server |
Result |
---|---|---|
No | No | Unencrypted session. |
No | Yes | Determined by the MySQL server. The server encrypts the session if it defaults to using SSL or requires it for this user. |
Yes | No | Safeguard for Privileged Passwords client detects this and reports a failure. |
Yes | Yes | Safeguard for Privileged Passwords requests that the MySQL server encrypt the session and verity the server certificate against the trusted CA certificate in Safeguard for Privileged Passwords |
For more information, see Preparing MySQL servers.
Sybase ASE Server
To support SSL you must correctly configure the Sybase server with a CA certificate and server certificate. The Sybase server listens on different ports for SSL and non-SSL connections, and rejects a mismatched request from a Safeguard for Privileged Passwords client to a particular port.
The Safeguard for Privileged Passwords client cannot request to use SSL just for encryption; it can only request SSL if you have imported the correct CA certificate to Safeguard for Privileged Passwords.
Safeguard for Privileged Passwords Use SSL Encryption Option | Sybase Server Listening Port Uses SSL |
Result |
---|---|---|
No | No | Unencrypted session. |
No | Yes |
The Sybase server rejects the connection attempt. NOTE: The ODBC driver cannot detect that this is an SSL error and displays a client cannot connect error. |
Yes | No | The Sybase server rejects the session with an SSL error. |
Yes | Yes | Safeguard for Privileged Passwords requests that the Sybase server encrypt the session and verify the server certificate against the trusted CA certificates in Safeguard for Privileged Passwords. |
For more information, see Preparing Sybase (Adaptive Server Enterprise) servers.