TLS Certificate Verification for Loader File Connections (CSV, FBV, LOCAL files)

Details

Detail name Value
Changelog Number 16273
Type Improvement
Status Resolved
Fix Versions Exasol 8.32.0
Resolution Date 2024-11-08

Background

The loader did not verify TLS certificates for its file connections (CSV, FBV, LOCAL files) except AZURE BLOBSTORAGE, leaving users potentially vulnerable to man-in-the-middle attacks, and there was no option available to enable certificate verification for IMPORT and EXPORT statements.

Improvement

  • TLS Certificate Verification for External Connections
    The loader now supports verification of TLS certificates for all file connections, such as HTTPS and FTPS. This ensures enhanced security for all data transfers.
  • Customizable Certificate Validation
    Users can control certificate validation using both database parameters and SQL syntax, enabling a flexible approach to security:
  • Database Parameter:
  • SQL Syntax Options:
    Users can enable or disable certificate verification directly in the IMPORT and EXPORT statements. Options include:
  • -etlCheckCertsDefault=1: Enables certificate checking by default.
  • -etlCAPath=<Path to CA>: Allows users to specify the path to the certificate authority (CA) file or directory on data nodes.
  • VERIFY CERTIFICATE: Activates certificate verification.
  • IGNORE CERTIFICATE: Deactivates certificate verification.
  • PUBLIC KEY 'sha256//*******': Specifies the public key for certificate verification.

Example SQL Syntax

-- Activate certificate verification and provide a public key
IMPORT INTO Test.DB FROM CSV AT 'https://localhost:8511/' VERIFY CERTIFICATE PUBLIC KEY 'sha256//sdfsef' FILE 'Test.csv';

-- Deactivate certificate verification
IMPORT INTO Test.DB FROM CSV AT 'https://localhost:8511/' IGNORE CERTIFICATE FILE 'Test.csv';

-- Provide only a public key for certificate validation
IMPORT INTO Test.DB FROM CSV AT 'https://localhost:8511/' PUBLIC KEY 'sha256//sdfsef' FILE 'Test.csv';

Note: If a public key is provided, it takes precedence over other certificate verification settings.

Default Behavior

  • TLS certificate verification is deactivated by default. However, users can enable it using the database parameter or the SQL syntax if required.

Additional Information

For detailed SQL syntax and configuration options, please refer to the following documentation pages: