TLS-connectiviteit configureren in Azure Database for PostgreSQL - Enkele server

VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server

Belangrijk

Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.

Azure Database for PostgreSQL geeft de voorkeur aan het verbinden van uw clienttoepassingen met de PostgreSQL-service met behulp van Transport Layer Security (TLS), voorheen bekend als Secure Sockets Layer (SSL). Het afdwingen van TLS-verbindingen tussen uw databaseserver en uw clienttoepassingen helpt bescherming te bieden tegen 'man-in-the-middle'-aanvallen door de gegevensstroom tussen de server en uw toepassing te versleutelen.

De PostgreSQL-databaseservice is standaard geconfigureerd om tls-verbinding te vereisen. U kunt ervoor kiezen om het vereisen van TLS uit te schakelen als uw clienttoepassing tls-connectiviteit niet ondersteunt.

Belangrijk

SSL-tussenliggende certificaten worden vanaf 31 januari 2024 bijgewerkt (01-31-2024). Een tussenliggend certificaat is een onderliggend certificaat dat is uitgegeven door een vertrouwde basis om certificaten voor eindentiteit uit te geven. Het resultaat is een certificaatketen die begint bij de vertrouwde basis-CA, via de tussenliggende CA (of CA's) en eindigt met het SSL-certificaat dat aan u is uitgegeven. Het vastmaken van certificaten is een beveiligingstechniek waarbij alleen geautoriseerde of vastgemaakte certificaten worden geaccepteerd bij het tot stand brengen van een beveiligde sessie. Pogingen om een beveiligde sessie tot stand te brengen met behulp van een ander certificaat, worden geweigerd. In tegenstelling tot vertrouwde basis-CA, die we al volledig hebben bijgewerkt tijdens het huidige jaar, en waar het certificaat kan worden vastgemaakt met behulp van verify-ca of verify-full verbindingsreeks clientrichtlijn, is er geen standaard, goed gevestigde manier om tussenliggende CA vast te maken. Er is echter een theoretische mogelijkheid om een aangepaste verbindingsstack te maken waarmee tussenliggende certificaten aan de client worden vastgemaakt in verschillende programmeertalen. Zoals hierboven is uitgelegd, kunt u in het onwaarschijnlijke scenario dat u de tussenliggende certificaten vastmaken met aangepaste code, worden beïnvloed door deze wijziging. Als u wilt bepalen of u CA's vastmaken, raadpleegt u Certificaatpinning en Azure-services

TLS-verbindingen afdwingen

Voor alle Azure Database for PostgreSQL-servers die zijn ingericht via Azure Portal en CLI, is het afdwingen van TLS-verbindingen standaard ingeschakeld.

Op dezelfde manier bevatten verbindingsreeks die vooraf zijn gedefinieerd in de instellingen 'Verbinding maken ion Strings' onder uw server in Azure Portal de vereiste parameters voor algemene talen om verbinding te maken met uw databaseserver met behulp van TLS. De TLS-parameter varieert op basis van de connector, bijvoorbeeld 'ssl=true' of 'sslmode=require' of 'sslmode=required' en andere variaties.

Afdwingen van TLS configureren

U kunt het afdwingen van TLS-connectiviteit desgewenst uitschakelen. Microsoft Azure raadt aan om de instelling SSL-verbinding afdwingen altijd in te schakelen voor verbeterde beveiliging.

Met behulp van Azure Portal

Ga naar uw Azure Database for PostgreSQL-server en selecteer Verbinding maken ionbeveiliging. Gebruik de wisselknop om de instelling SSL-verbinding afdwingen in of uit te schakelen. Selecteer vervolgens Opslaan.

Verbinding maken ionbeveiliging : TLS/SSL afdwingen uitschakelen

U kunt de instelling bevestigen door de overzichtspagina weer te geven om de statusindicator ssl af te dwingen.

Azure CLI gebruiken

U kunt de parameter ssl-afdwinging in- of uitschakelen met EnabledDisabled respectievelijk waarden in Azure CLI.

az postgres server update --resource-group myresourcegroup --name mydemoserver --ssl-enforcement Enabled

Status van SSL-verbindingen bepalen

U kunt ook alle informatie verzamelen over het SSL-gebruik van uw Azure Database for PostgreSQL - Single Server-exemplaar per proces, client en toepassing met behulp van de volgende query:

SELECT datname as "Database name", usename as "User name", ssl, client_addr, application_name, backend_type
   FROM pg_stat_ssl
   JOIN pg_stat_activity
   ON pg_stat_ssl.pid = pg_stat_activity.pid
   ORDER BY ssl;

Zorg ervoor dat uw toepassing of framework TLS-verbindingen ondersteunt

Sommige toepassingsframeworks die PostgreSQL voor hun databaseservices gebruiken, schakelen TLS niet standaard in tijdens de installatie. Als uw PostgreSQL-server TLS-verbindingen afdwingt, maar de toepassing niet is geconfigureerd voor TLS, kan de toepassing geen verbinding maken met uw databaseserver. Raadpleeg de documentatie van uw toepassing voor meer informatie over het inschakelen van TLS-verbindingen.

Toepassingen waarvoor certificaatverificatie is vereist voor TLS-connectiviteit

In sommige gevallen is voor toepassingen een lokaal certificaatbestand vereist dat is gegenereerd op basis van een vertrouwd CA-certificaatbestand (Certificate Authority) om veilig verbinding te maken. Het certificaat om verbinding te maken met Azure Database for PostgreSQL-server bevindt zich op https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem. Download het certificaatbestand en sla het op de gewenste locatie op.

Zie de volgende koppelingen voor certificaten voor servers in onafhankelijke clouds: Azure Government, Microsoft Azure beheerd door 21Vianet en Azure Duitsland.

Verbinding maken met behulp van psql

In het volgende voorbeeld ziet u hoe u verbinding maakt met uw PostgreSQL-server met behulp van het opdrachtregelprogramma psql. Gebruik de sslmode=verify-full verbindingsreeks-instelling om verificatie van TLS/SSL-certificaten af te dwingen. Geef het pad naar het lokale certificaatbestand door aan de sslrootcert parameter.

De volgende opdracht is een voorbeeld van de psql-verbindingsreeks:

psql "sslmode=verify-full sslrootcert=BaltimoreCyberTrustRoot.crt host=mydemoserver.postgres.database.azure.com dbname=postgres user=myusern@mydemoserver"

Tip

Controleer of de waarde die is doorgegeven aan sslrootcert overeenkomt met het bestandspad voor het certificaat dat u hebt opgeslagen.

TLS-afdwinging in Azure Database for PostgreSQL Enkele server

Azure Database for PostgreSQL - Enkele server ondersteunt versleuteling voor clients die verbinding maken met uw databaseserver met behulp van Transport Layer Security (TLS). TLS is een standaardprotocol dat zorgt voor beveiligde netwerkverbindingen tussen uw databaseserver en clienttoepassingen, zodat u aan de nalevingsvereisten kunt voldoen.

TLS-instellingen

Azure Database for PostgreSQL enkele server biedt de mogelijkheid om de TLS-versie af te dwingen voor de clientverbindingen. Als u de TLS-versie wilt afdwingen, gebruikt u de instelling voor de optie Minimale TLS-versie . De volgende waarden zijn toegestaan voor deze optieinstelling:

Minimale TLS-instelling Ondersteunde TLS-versie van client
TLSEnforcementDisabled (standaard) Geen TLS vereist
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 en hoger
TLS1_1 TLS 1.1, TLS 1.2 en hoger
TLS1_2 TLS-versie 1.2 en hoger

Als u bijvoorbeeld deze minimale TLS-instellingsversie instelt op TLS 1.0, betekent dit dat uw server verbindingen toestaat van clients die TLS 1.0, 1.1 en 1.2+ gebruiken. Als u dit instelt op 1.2, betekent dit dat u alleen verbindingen van clients toestaat met BEHULP van TLS 1.2+ en alle verbindingen met TLS 1.0 en TLS 1.1 worden geweigerd.

Notitie

Standaard dwingt Azure Database for PostgreSQL geen minimale TLS-versie (de instelling TLSEnforcementDisabled) af.

Zodra u een minimale TLS-versie afdwingt, kunt u het afdwingen van minimale versies later niet meer uitschakelen.

Als u wilt weten hoe u de TLS-instelling instelt voor uw Azure Database for PostgreSQL Enkele server, raadpleegt u TLS-instelling configureren.

Ondersteuning voor codering door Azure Database for PostgreSQL Enkele server

Als onderdeel van de SSL/TLS-communicatie worden de coderingssuites gevalideerd en kunnen alleen coderingspakken met de databaseserver communiceren. De validatie van de coderingssuite wordt beheerd in de gatewaylaag en niet expliciet op het knooppunt zelf. Als de coderingssuites niet overeenkomen met een van de onderstaande suites, worden binnenkomende clientverbindingen geweigerd.

Ondersteunde coderingssuite

  • 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

Volgende stappen

Bekijk verschillende opties voor toepassingsconnectiviteit in Verbinding maken ionbibliotheken voor Azure Database for PostgreSQL.