Een basiscertificaat instellen voor serververificatie

IMPORTANT
De TLS/SSL-certificaten op productieomgevingen voor de API voor interactieve posters van Query Service zijn op woensdag 24 januari 2024 vernieuwd.
Hoewel dit een jaarlijks vereiste is, is het wortelcertificaat in de ketting ook veranderd aangezien de Adobe TLS/SSL certificaatleverancier hun certificaathiërarchie heeft bijgewerkt. Dit kan gevolgen hebben voor bepaalde klanten van Postgres als hun lijst van de Autoriteiten van het Certificaat de wortelcert mist. Een PSQL CLI-client moet bijvoorbeeld de basiscertificaten toevoegen aan een expliciet bestand ~/postgresql/root.crt , anders kan dit resulteren in een fout. Bijvoorbeeld psql: error: SSL error: certificate verify failed . Zie de officiële documentatie PostgreSQLvoor meer informatie over deze kwestie.
het wortelcertificaat om toe te voegen kan van https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pemworden gedownload.

Om een veilige verbinding te verzekeren, moet SSL gebruik op zowel de cliënt als de server worden gevormd alvorens de verbinding wordt gemaakt. Als SSL slechts op de server wordt gevormd, zou de cliënt gevoelige informatie zoals wachtwoorden kunnen verzenden alvorens het wordt gevestigd dat de server hoge veiligheid vereist.

Standaard voert PostgreSQL geen verificatie van het servercertificaat uit. Als u de identiteit van de server wilt verifiëren en een beveiligde verbinding wilt garanderen voordat vertrouwelijke gegevens worden verzonden (als onderdeel van de SSL verify-full -modus), moet u een basiscertificaat (zelfondertekend) op uw lokale computer (root.crt ) en een bladcertificaat dat is ondertekend door het basiscertificaat op de server plaatsen.

Als de parameter sslmode is ingesteld op verify-full , controleert libpq of de server betrouwbaar is door de certificaatketen tot aan het basiscertificaat te controleren dat op de client is opgeslagen. Vervolgens wordt gecontroleerd of de hostnaam overeenkomt met de naam die is opgeslagen in het servercertificaat.

Als u verificatie met servercertificaten wilt toestaan, moet u een of meer basiscertificaten (root.crt) in het PostgreSQL -bestand in de thuismap plaatsen. Het bestandspad lijkt op ~/.postgresql/root.crt .

Verifiëren-volledige SSL-modus inschakelen voor gebruik met een Query Service -verbinding van derden

Als u een strikter beveiligingsbeheer nodig hebt dan sslmode=require , kunt u de gemarkeerde stappen volgen om een client van een derde te verbinden met Query Service via de SSL-modus verify-full .

NOTE
Er zijn veel opties beschikbaar om een SSL-certificaat te verkrijgen. Vanwege de toenemende trend in schurkencertificaten wordt DigiCert in deze handleiding gebruikt omdat deze wereldwijd een vertrouwde leverancier zijn van hoogwaardige TLS/SSL-, PKI-, IoT- en ondertekeningsoplossingen.
  1. Ga aan de lijst van beschikbare DigiCert wortelcertificaten

  2. Zoek naar "DigiCert Global Root G2"van de lijst van beschikbare certificaten.

  3. Selecteer PEM van de Download om het dossier aan uw lokale machine te downloaden.
    de lijst van beschikbare DigiCert wortelcertificaten met benadrukte Download PEM.

  4. Wijzig de naam van het beveiligingscertificaatbestand in root.crt .

  5. Kopieer het bestand naar de map PostgreSQL . Het vereiste bestandspad is afhankelijk van uw besturingssysteem. Als de map nog niet bestaat, maakt u de map.

    • Als u macOS gebruikt, is het pad /Users/<username>/.postgresql
    • Als u Windows gebruikt, is het pad %appdata%\postgresql
TIP
Om uw %appdata% dossierplaats op een werkend systeem van Vensters te vinden, druk ⊞ Win + R en input %appdata% in het onderzoeksgebied.

Nadat het DigiCert Global Root G2 CRT-bestand beschikbaar is in de PostgreSQL -map, kunt u verbinding maken met Query Service via de optie sslmode=verify-full of sslmode=verify-ca .