Konfigurera TLS-anslutning i Azure Database for PostgreSQL – enskild server
Azure Database for PostgreSQL föredrar att ansluta dina klientprogram till PostgreSQL-tjänsten med hjälp av Transport Layer Security (TLS), tidigare kallat Secure Sockets Layer (SSL). Framtvingande av TLS-anslutningar mellan databasservern och klientprogrammen hjälper till att skydda mot "man-in-the-middle"-attacker genom att kryptera dataströmmen mellan servern och ditt program.
Som standard är PostgreSQL-databastjänsten konfigurerad för att kräva TLS-anslutning. Du kan välja att inaktivera TLS om klientprogrammet inte stöder TLS-anslutning.
Anteckning
Baserat på feedback från kunder har vi utökat rotcertifikatutfasningen för vår befintliga Baltimore Root CA till den 15 februari 2021 (2021-02-15).
Viktigt
SSL-rotcertifikatet upphör att gälla från och med 15 februari 2021 (2021-02-15). Uppdatera programmet så att det använder det nya certifikatet. Mer information finns i planerade certifikatuppdateringar
Framtvinga TLS-anslutningar
För alla Azure Database for PostgreSQL-servrar som etablerats via Azure Portal CLI är tillämpning av TLS-anslutningar aktiverat som standard.
På samma sätt innehåller anslutningssträngar som är fördefinierade i inställningarna för "anslutningssträngar" under din server i Azure Portal de parametrar som krävs för att vanliga språk ska kunna ansluta till databasservern med TLS. TLS-parametern varierar beroende på anslutningsappen, till exempel "ssl=true" eller "sslmode=require" eller "sslmode=required" och andra varianter.
Konfigurera tillämpning av TLS
Du kan också inaktivera framtvingande av TLS-anslutning. Microsoft Azure rekommenderar att du alltid aktiverar inställningen Framtvinga SSL-anslutning för ökad säkerhet.
Använda Azure Portal
Besök din Azure Database for PostgreSQL server och klicka på Anslutningssäkerhet. Använd växlingsknappen för att aktivera eller inaktivera inställningen Framtvinga SSL-anslutning. Klicka sedan på Spara.
Du kan bekräfta inställningen genom att gå till översiktssidan för att se SSL-indikatorn för framtvinga status.
Använda Azure CLI
Du kan aktivera eller inaktivera parametern ssl-enforcement Enabled med hjälp av värdena respektive i Azure Disabled CLI.
az postgres server update --resource-group myresourcegroup --name mydemoserver --ssl-enforcement Enabled
Se till att ditt program eller ramverk stöder TLS-anslutningar
Vissa programramverk som använder PostgreSQL för sina databastjänster aktiverar inte TLS som standard under installationen. Om PostgreSQL-servern tillämpar TLS-anslutningar men programmet inte har konfigurerats för TLS kan det hända att programmet inte kan ansluta till databasservern. Läs programmets dokumentation för att lära dig hur du aktiverar TLS-anslutningar.
Program som kräver certifikatverifiering för TLS-anslutning
I vissa fall kräver program en lokal certifikatfil som genereras från en certifikatfil för betrodd certifikatutfärdare för att ansluta på ett säkert sätt. Certifikatet för att ansluta till en Azure Database for PostgreSQL server finns på https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem . Ladda ned certifikatfilen och spara den på önskad plats.
Se följande länkar för certifikat för servrar i nationella moln: Azure Government, Azure Kinaoch Azure Tyskland.
Ansluta med psql
I följande exempel visas hur du ansluter till PostgreSQL-servern med kommandoradsverktyget psql. Använd inställningen sslmode=verify-full för anslutningssträng för att framtvinga TLS/SSL-certifikatverifiering. Skicka den lokala certifikatfilens sökväg till sslrootcert parametern .
Följande kommando är ett exempel på psql-anslutningssträngen:
psql "sslmode=verify-full sslrootcert=BaltimoreCyberTrustRoot.crt host=mydemoserver.postgres.database.azure.com dbname=postgres user=myusern@mydemoserver"
Tips
Bekräfta att värdet som skickades till sslrootcert matchar filsökvägen för det certifikat som du sparade.
TLS-tvingande i Azure Database for PostgreSQL enskild server
Azure Database for PostgreSQL – Enskild server stöder kryptering för klienter som ansluter till databasservern med hjälp av Transport Layer Security (TLS). TLS är ett branschstandardprotokoll som säkerställer säkra nätverksanslutningar mellan databasservern och klientprogram, så att du kan följa efterlevnadskraven.
TLS-inställningar
Azure Database for PostgreSQL enskild server ger möjlighet att framtvinga TLS-versionen för klientanslutningarna. Om du vill framtvinga TLS-versionen använder du alternativinställningen Lägsta TLS-version. Följande värden tillåts för den här alternativinställningen:
| Lägsta TLS-inställning | Klientens TLS-version stöds |
|---|---|
| TLSEnforcementDisabled (standard) | Ingen TLS krävs |
| TLS1_0 | TLS 1.0, TLS 1.1, TLS 1.2 och senare |
| TLS1_1 | TLS 1.1, TLS 1.2 och senare |
| TLS1_2 | TLS version 1.2 och senare |
Om du till exempel anger den här lägsta TLS-inställningsversionen till TLS 1.0 innebär det att servern tillåter anslutningar från klienter som använder TLS 1.0, 1.1 och 1.2+. Om du anger 1.2 innebär det också att du bara tillåter anslutningar från klienter som använder TLS 1.2+ och att alla anslutningar med TLS 1.0 och TLS 1.1 avvisas.
Anteckning
Som standard Azure Database for PostgreSQL inte en lägsta TLS-version (inställningen TLSEnforcementDisabled ).
När du har tillämpat en lägsta TLS-version kan du inte senare inaktivera lägsta version.
Information om hur du anger TLS-inställningen för din Azure Database for PostgreSQL enskild server finns i Så här konfigurerar du TLS-inställningen.
Chifferstöd från Azure Database for PostgreSQL enskild server
Som en del av SSL/TLS-kommunikationen verifieras chiffersviterna och endast stöd för chifferdräkter tillåts kommunicera med databasservern. Valideringen av chiffersviten styrs i gatewaylagret och inte uttryckligen på själva noden. Om chiffersviterna inte matchar något av de paket som anges nedan avvisas inkommande klientanslutningar.
Chiffersvit som stöds
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Nästa steg
Granska olika alternativ för programanslutning i Anslutningsbibliotek för Azure Database for PostgreSQL.
- Lär dig hur du konfigurerar TLS