TLS-kapcsolat konfigurálása az Önálló Azure Database for PostgreSQL-ben

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló

Fontos

Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?

Az Azure Database for PostgreSQL szívesebben csatlakoztatja az ügyfélalkalmazásokat a PostgreSQL szolgáltatáshoz a Transport Layer Security (TLS) használatával, amely korábban Secure Sockets Layer (SSL) néven ismert. Az adatbázis-kiszolgáló és az ügyfélalkalmazások közötti TLS-kapcsolatok kényszerítése segít védelmet nyújtani a "középen belüli" támadások ellen a kiszolgáló és az alkalmazás közötti adatfolyam titkosításával.

Alapértelmezés szerint a PostgreSQL adatbázis-szolgáltatás TLS-kapcsolatra van konfigurálva. Ha az ügyfélalkalmazás nem támogatja a TLS-kapcsolatot, letilthatja a TLS-t.

Fontos

Az SSL köztes tanúsítványai 2024. január 31-től frissülnek (2024. 01. 31.). A köztes tanúsítvány egy olyan alárendelt tanúsítvány, amelyet egy megbízható főtanúsítvány állít ki, kifejezetten a végfelhasználói tanúsítványok kiállításához. Az eredmény egy tanúsítványlánc, amely a megbízható legfelső szintű hitelesítésszolgáltatónál kezdődik a köztes hitelesítésszolgáltatón (vagy hitelesítésszolgáltatón) keresztül, és az Ön számára kibocsátott SSL-tanúsítvánnyal végződik. A tanúsítvány-rögzítés egy olyan biztonsági technika, amely csak engedélyezett vagy rögzített tanúsítványokat fogad el egy biztonságos munkamenet létrehozásakor. A rendszer elutasít minden olyan kísérletet, amely egy másik tanúsítvány használatával próbál biztonságos munkamenetet létrehozni. Ellentétben a megbízható legfelső szintű hitelesítésszolgáltatóval, amelyet az aktuális évben már teljes mértékben frissítettünk, és ahol a tanúsítvány a verify-ca vagy a verify-full kapcsolati sztring ügyfélirányelv használatával rögzíthető, nincs szabványos, jól bevált módszer a köztes hitelesítésszolgáltató rögzítésére. Létezik azonban egy elméleti lehetőség az egyéni kapcsolati verem létrehozására, amely köztes tanúsítványokat rögzít az ügyfél számára számos programozási nyelven. A fentiekben leírtak szerint a köztes tanúsítványok egyéni kóddal való rögzítésének valószínűtlen forgatókönyvében ez a változás befolyásolhatja Önt. Annak megállapításához, hogy a hitelesítésszolgáltatókat rögzíti-e, tekintse meg a tanúsítvány-rögzítést és az Azure-szolgáltatásokat

TLS-kapcsolatok kényszerítése

Az Azure Portalon és a PARANCSSOR-on keresztül kiépített összes Azure Database for PostgreSQL-kiszolgáló esetében alapértelmezés szerint engedélyezve van a TLS-kapcsolatok kényszerítése.

Hasonlóképpen, kapcsolati sztring a kiszolgáló "Csatlakozás ion-sztringek" beállításaiban előre definiált kapcsolati sztring az Azure Portalon tartalmazzák az adatbázis-kiszolgálóhoz TLS használatával való csatlakozáshoz szükséges paramétereket. A TLS paraméter az összekötőtől függően változik, például "ssl=true" vagy "sslmode=required" vagy "sslmode=required" és egyéb változatok.

A TLS kényszerítésének konfigurálása

Opcionálisan letilthatja a TLS-kapcsolatok kényszerítését. A Microsoft Azure azt javasolja, hogy a fokozott biztonság érdekében mindig engedélyezze az SSL-kapcsolat kényszerítése beállítást.

Az Azure Portal használatával

Látogasson el az Azure Database for PostgreSQL-kiszolgálóra, és válassza a Csatlakozás ion security lehetőséget. Az SSL-kapcsolat kényszerítése beállítás engedélyezéséhez vagy letiltásához használja a váltógombot. Ezt követően válassza a Mentés lehetőséget.

Csatlakozás ion Security – TLS/SSL kényszerítése letiltása

A beállítást az Áttekintés lapon ellenőrizheti az SSL kényszerítési állapotjelzőjének megtekintéséhez.

Az Azure parancssori felület használata

Az SSL-kényszerítési paramétert engedélyezheti vagy letilthatja az Azure CLI-ben megadott értékekkel vagy értékekkel EnabledDisabled.

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

SSL-kapcsolatok állapotának meghatározása

Az Azure Database for PostgreSQL – Egykiszolgálós példány SSL-használatára vonatkozó összes információt a következő lekérdezéssel gyűjtheti össze folyamat, ügyfél és alkalmazás szerint:

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;

Győződjön meg arról, hogy az alkalmazás vagy keretrendszer támogatja a TLS-kapcsolatokat

Egyes alkalmazás-keretrendszerek, amelyek a PostgreSQL-t használják az adatbázis-szolgáltatásaikhoz, alapértelmezés szerint nem engedélyezik a TLS-t a telepítés során. Ha a PostgreSQL-kiszolgáló TLS-kapcsolatokat kényszerít ki, de az alkalmazás nincs TLS-hez konfigurálva, előfordulhat, hogy az alkalmazás nem tud csatlakozni az adatbázis-kiszolgálóhoz. A TLS-kapcsolatok engedélyezéséről az alkalmazás dokumentációjában tájékozódhat.

A TLS-kapcsolathoz tanúsítvány-ellenőrzést igénylő alkalmazások

Bizonyos esetekben az alkalmazásoknak egy megbízható hitelesítésszolgáltatói (CA) tanúsítványfájlból létrehozott helyi tanúsítványfájlt kell létrehozniuk a biztonságos csatlakozáshoz. Az Azure Database for PostgreSQL-kiszolgálóhoz való csatlakozáshoz szükséges tanúsítvány a következő helyen található: https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem. Töltse le a tanúsítványfájlt, és mentse a kívánt helyre.

A szuverén felhők kiszolgálóihoz tartozó tanúsítványokra vonatkozó alábbi hivatkozások találhatók: Azure Government, a 21Vianet által üzemeltetett Microsoft Azure és az Azure Germany.

Csatlakozás a psql használatával

Az alábbi példa bemutatja, hogyan csatlakozhat a PostgreSQL-kiszolgálóhoz a psql parancssori segédprogrammal. A TLS/SSL-tanúsítvány ellenőrzésének kényszerítéséhez használja a sslmode=verify-full kapcsolati sztring beállítást. Adja át a helyi tanúsítványfájl elérési útját a sslrootcert paraméternek.

Az alábbi parancs egy példa a psql-kapcsolati sztring:

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

Tipp.

Győződjön meg arról, hogy az sslrootcert paraméternek átadott érték megegyezik a mentett tanúsítvány fájlútvonalával.

TLS-kényszerítés az önálló Azure Database for PostgreSQL-kiszolgálón

Azure Database for PostgreSQL – Az önálló kiszolgáló támogatja az adatbázis-kiszolgálóhoz a Transport Layer Security (TLS) használatával csatlakozó ügyfelek titkosítását. A TLS egy szabványos iparági protokoll, amely biztonságos hálózati kapcsolatokat biztosít az adatbázis-kiszolgáló és az ügyfélalkalmazások között, lehetővé téve a megfelelőségi követelmények betartását.

TLS-beállítások

Az önálló Azure Database for PostgreSQL-kiszolgáló lehetővé teszi a TLS-verzió kikényszerítését az ügyfélkapcsolatokhoz. A TLS-verzió kényszerítéséhez használja a Minimális TLS verzióbeállítást . A beállításhoz a következő értékek engedélyezettek:

Minimális TLS-beállítás Az ügyfél TLS-verziója támogatott
TL Standard kiadás nforcementDisabled (alapértelmezett) Nincs szükség TLS-re
TLS1_0 TLS 1.0, TLS 1.1, TLS 1.2 és újabb
TLS1_1 TLS 1.1, TLS 1.2 és újabb
TLS1_2 TLS 1.2-es és újabb verzió

Ha például ezt a minimális TLS-beállítási verziót TLS 1.0-ra állítja, az azt jelenti, hogy a kiszolgáló engedélyezi a TLS 1.0, 1.1 és 1.2+-t használó ügyfelek közötti kapcsolatokat. Ha ezt 1.2-re állítja, az azt jelenti, hogy csak a TLS 1.2+-t használó ügyfelek kapcsolatait engedélyezi, és a TLS 1.0 és a TLS 1.1 összes kapcsolatát a rendszer elutasítja.

Feljegyzés

Alapértelmezés szerint az Azure Database for PostgreSQL nem kényszeríti ki a minimális TLS-verziót (a beállítást TLSEnforcementDisabled).

A minimális TLS-verzió kényszerítése után később nem tilthatja le a minimális verziókényszerítést.

Ha tudni szeretné, hogyan állíthatja be a TLS-beállítást az önálló Azure Database for PostgreSQL-kiszolgálóhoz, tekintse meg a TLS-beállítások konfigurálását ismertető témakört.

Az önálló Azure Database for PostgreSQL titkosítási támogatása

Az SSL-/TLS-kommunikáció részeként a titkosítási csomagok érvényesítve vannak, és csak a támogató titkosítási öltönyök kommunikálhatnak az adatbázis-kiszolgálóval. A titkosítási csomag érvényesítése az átjárórétegben van szabályozva, és nem kifejezetten a csomóponton. Ha a titkosítócsomagok nem egyeznek az alább felsorolt csomagok egyikével, a rendszer elutasítja a bejövő ügyfélkapcsolatokat.

A titkosítási csomag támogatott

  • 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

Következő lépések

Tekintse át az Azure Database for PostgreSQL Csatlakozás ion-kódtáraiban elérhető különböző alkalmazáskapcsolati lehetőségeket.