Az önálló Azure Database for PostgreSQL-kiszolgáló legfelső szintű hitelesítésszolgáltatójának változásainak ismertetése
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 önálló Azure Database for PostgreSQL-kiszolgáló 2022. decemberétől (2022.12 .) tervezi a főtanúsítvány módosítását a standard karbantartási és biztonsági ajánlott eljárások részeként. Ez a cikk további részleteket tartalmaz a módosításokról, az érintett erőforrásokról és az alkalmazás adatbázis-kiszolgálóhoz való kapcsolódásának biztosításához szükséges lépésekről.
Miért van szükség a főtanúsítvány frissítésre?
Az Azure Database for PostgreSQL-felhasználók korábban csak az előre meghatározott tanúsítványt használhatták az itt található PostgreSQL-kiszolgálójukhoz való csatlakozáshoz. A hitelesítésszolgáltató (CA) böngészőfóruma azonban nemrég közzétette a hitelesítésszolgáltató által kiadott több tanúsítványról szóló jelentéseket, amelyek nem megfelelőek.
Az iparág megfelelőségi követelményeinek megfelelően a hitelesítésszolgáltatói gyártók megkezdték a hitelesítésszolgáltatói tanúsítványok visszavonását a nem megfelelő hitelesítésszolgáltatók számára, megkövetelve, hogy a kiszolgálók a megfelelő hitelesítésszolgáltatók által kibocsátott tanúsítványokat használják, és a megfelelő hitelesítésszolgáltatók által aláírt hitelesítésszolgáltatói tanúsítványokat használják. Mivel az Azure Database for PostgreSQL ezen nem megfelelő tanúsítványok egyikét használta, a tanúsítványt a megfelelő verzióra kellett forgatni, hogy minimálisra csökkentsük a Postgres-kiszolgálókat fenyegető potenciális fenyegetést.
Az új tanúsítványt 2022. decemberétől (2022.12.02.) kezdjük el.
Milyen módosítást ütemeztek 2022 decemberétől (2022.12.12.)?
2022 decemberétől a BaltimoreCyberTrustRoot főtanúsítványt a DigiCertGlobalRootG2 főtanúsítványnak megfelelő verzióra cserélik. Ha az alkalmazások az sslmode paraméter értékeként kihasználják a verify-ca vagy a verify-full értéket az adatbázis-ügyfélkapcsolatban, az utasításokat követve új tanúsítványokat kell hozzáadniuk a tanúsítványtárolóhoz a kapcsolat fenntartásához.
Módosítani kell az ügyfelemet a kapcsolat fenntartása érdekében?
Az ügyféloldalon nem szükséges kód- vagy alkalmazásmódosítás. Ha az alábbi tanúsítványfrissítési javaslatot követi, továbbra is csatlakozhat, amíg a BaltimoreCyberTrustRoot tanúsítvány nem lesz eltávolítva a kombinált hitelesítésszolgáltatói tanúsítványból. Javasoljuk, hogy a BaltimoreCyberTrustRoot tanúsítványt ne távolítsa el a kombinált hitelesítésszolgáltatói tanúsítványból, amíg a kapcsolat fenntartása érdekében további értesítés nem történik.
Módosítani kell az ügyféltanúsítványokat?
Alapértelmezés szerint a PostgreSQL nem végzi el a kiszolgálótanúsítvány ellenőrzését. Ez azt jelenti, hogy elméletileg még mindig lehetséges a kiszolgálóidentitás hamisítása (például egy DNS-rekord módosításával vagy a kiszolgáló IP-címének átvételével) az ügyfél tudta nélkül. A hamisítás megakadályozása érdekében SSL-tanúsítvány-ellenőrzést kell használni az ügyfélen. Az ilyen ellenőrzés az alkalmazásügyfél kapcsolati sztring ssl módértékkel állítható be – verify-ca vagy verify-full. Ha ezek az SSL-módú értékek vannak kiválasztva, kövesse a következő szakaszban szereplő utasításokat.
Ügyféltanúsítvány-frissítési javaslat
Töltse le a BaltimoreCyberTrustRoot & DigiCertGlobalRootG2 gyökér ca-t az alábbi hivatkozásokról:
A jövőbeli fennakadások elkerülése érdekében a következő gyökereket is ajánlott hozzáadni a megbízható tárolóhoz:
- DigiCert Global Root G3 (ujjlenyomat: 7e04de896a3e666d00e687d33ffad93be83d349e)
- Microsoft RSA főtanúsítvány-szolgáltató 2017 (ujjlenyomat: 73a5e64a3bff8316ff0edccc618a906e4eae4d74)
- Microsoft ECC főtanúsítvány-szolgáltató 2017 (ujjlenyomat: 999a64c37ff47d9fab95f14769891460eec4c3c5)
A BaltimoreCyberTrustRoot és a DigiCertGlobalRootG2 tanúsítványokkal együtt létrehoz egy összevont hitelesítésszolgáltatói tanúsítványtárolót.
A DefaultJavaSSLFactoryt használó Java (PostgreSQL JDBC) felhasználók esetében hajtsa végre a következőt:
keytool -importcert -alias PostgreSQLServerCACert -file D:\BaltimoreCyberTrustRoot.crt.pem -keystore truststore -storepass password -noprompt
keytool -importcert -alias PostgreSQLServerCACert2 -file D:\DigiCertGlobalRootG2.crt.pem -keystore truststore -storepass password -noprompt
Ezután cserélje le az eredeti kulcstárfájlt az új létrehozott fájlra:
- System.setProperty("javax.net.ssl.trustStore";"path_to_truststore_file");
- System.setProperty("javax.net.ssl.trustStorePassword";"password");
A Windows .NET (Npgsql) felhasználói számára győződjön meg arról, hogy a Baltimore CyberTrust Root és a DigiCert Global Root G2 egyaránt létezik a Windows Tanúsítványtárolóban, megbízható legfelső szintű hitelesítésszolgáltatóknál. Ha nem léteznek tanúsítványok, importálja a hiányzó tanúsítványt.
A Linuxon SSL_CERT_DIR használó .NET-felhasználók számára győződjön meg arról, hogy a BaltimoreCyberTrustRoot és a DigiCertGlobalRootG2 is megtalálható a SSL_CERT_DIR által jelzett könyvtárban. Ha nem léteznek tanúsítványok, hozza létre a hiányzó tanúsítványfájlt.
Más PostgreSQL-ügyfélfelhasználók esetében az alábbi formátumhoz hasonló hitelesítésszolgáltatói tanúsítványfájlokat egyesíthet
-----BEGIN TANÚSÍTVÁNY-----
(legfelső szintű CA1: BaltimoreCyberTrustRoot.crt.pem)
-----END TANÚSÍTVÁNY-----
-----BEGIN TANÚSÍTVÁNY-----
(fő CA2: DigiCertGlobalRootG2.crt.pem)
-----END TANÚSÍTVÁNY-----
Cserélje le az eredeti legfelső szintű hitelesítésszolgáltatói pem-fájlt az egyesített legfelső szintű hitelesítésszolgáltatói fájlra, és indítsa újra az alkalmazást/ügyfelet.
A jövőben a kiszolgálóoldalon üzembe helyezett új tanúsítvány után a ca pem-fájlt DigiCertGlobalRootG2.crt.pem fájlra módosíthatja.
Feljegyzés
A tanúsítvány módosításáig ne ejtse le vagy módosítsa a Baltimore-tanúsítványt . A módosítás után küldünk egy közleményt, amely után biztonságosan elvetik a Baltimore-tanúsítványt.
Mi történik, ha eltávolítottuk a BaltimoreCyberTrustRoot tanúsítványt?
Csatlakozási hibákat kaphat az Azure Database for PostgreSQL-kiszolgálóhoz való csatlakozás során. A kapcsolat fenntartásához újra konfigurálnia kell az SSL-t BaltimoreCyberTrustRoot tanúsítvánnyal.
Gyakori kérdések
1. Ha nem SSL-t/TLS-t használok, frissíteni kell a legfelső szintű hitelesítésszolgáltatót?
Ha nem SSL-t/TLS-t használ, nincs szükség műveletekre.
2. Ha SSL/TLS protokollt használok, újra kell indítani az adatbázis-kiszolgálót a legfelső szintű hitelesítésszolgáltató frissítéséhez?
Nem, nem kell újraindítania az adatbázis-kiszolgálót az új tanúsítvány használatának megkezdéséhez. Ez egy ügyféloldali változás, és a bejövő ügyfélkapcsolatoknak az új tanúsítvány használatával kell biztosítaniuk, hogy csatlakozni tudjanak az adatbázis-kiszolgálóhoz.
3. Hogyan tudom, hogy SSL/TLS-t használok-e főtanúsítvány-ellenőrzéssel?
A kapcsolati sztring áttekintésével megállapíthatja, hogy a kapcsolatok ellenőrzik-e a főtanúsítványt.
- Ha a kapcsolati sztring tartalmazza
sslmode=verify-ca
vagysslmode=verify-full
, frissítenie kell a tanúsítványt. - Ha a kapcsolati sztring tartalmazza
sslmode=disable
a tanúsítványokatsslmode=allow
,sslmode=prefer
sslmode=require
akkor nem kell frissítenie a tanúsítványokat. - Ha a kapcsolati sztring nem adja meg az sslmode-t, nem kell frissítenie a tanúsítványokat.
Ha olyan ügyfelet használ, amely elvonja a kapcsolati sztring, tekintse át az ügyfél dokumentációját, hogy ellenőrizze-e a tanúsítványokat. A PostgreSQL sslmode megismeréséhez tekintse át az SSL-mód leírását a PostgreSQL dokumentációjában.
4. Milyen hatással van az App Service és az Azure Database for PostgreSQL használata?
Az Azure App Services esetében, amely az Azure Database for PostgreSQL-hez csatlakozik, két lehetséges forgatókönyvünk lehet, és attól függ, hogyan használja az SSL-t az alkalmazással.
- Ez az új tanúsítvány platformszinten lett hozzáadva az App Service-hez. Ha az alkalmazás App Service-platformján található SSL-tanúsítványokat használja, akkor nincs szükség műveletre.
- Ha kifejezetten bele van adva az SSL-tanúsítványfájl elérési útja a kódba, akkor le kell töltenie az új tanúsítványt, és frissítenie kell a kódot az új tanúsítvány használatához. Erre a forgatókönyvre jó példa, ha egyéni tárolókat használ az App Service-ben az App Service dokumentációjában megosztott módon
5. Mi a hatása az Azure Kubernetes Services (AKS) és az Azure Database for PostgreSQL használata esetén?
Ha az Azure Kubernetes Services (AKS) használatával próbál csatlakozni az Azure Database for PostgreSQL-hez, az hasonló a dedikált ügyfelek gazdagépkörnyezetéből való hozzáféréshez. Tekintse meg az itt leírt lépéseket.
6. Milyen hatással van az Azure Data Factory az Azure Database for PostgreSQL-hez való csatlakozásra?
Az Azure Integration Runtime-t használó összekötők esetében az összekötő a Windows Tanúsítványtárban található tanúsítványokat használja az Azure által üzemeltetett környezetben. Ezek a tanúsítványok már kompatibilisek az újonnan alkalmazott tanúsítványokkal, ezért nincs szükség műveletre.
A saját üzemeltetésű integrációs modult használó összekötők esetében, ahol explicit módon szerepel az SSL-tanúsítványfájl elérési útja a kapcsolati sztring, le kell töltenie az új tanúsítványt, és frissítenie kell a kapcsolati sztring a használatához.
7. Terveznem kell az adatbázis-kiszolgáló karbantartási állásidejét ehhez a változáshoz?
Szám Mivel a módosítás csak az ügyféloldalon van az adatbázis-kiszolgálóhoz való csatlakozáshoz, a módosításhoz nincs szükség karbantartási állásidőre az adatbázis-kiszolgáló számára.
8. Ha 2022. november 30. után hozok létre új kiszolgálót, az hatással lesz rá?
A 2022. november 30. után létrehozott kiszolgálók esetében továbbra is a BaltimoreCyberTrustRoot és az adatbázis ügyfél SSL-tanúsítványtárolójában található új DigiCertGlobalRootG2 főtanúsítványokkal együtt fogja használni a BaltimoreCyberTrustRoot-t, hogy az alkalmazások SSL használatával csatlakozzanak.
9. Milyen gyakran frissíti a Microsoft a tanúsítványait, vagy mi a lejárati szabályzat?
Az Azure Database for PostgreSQL által használt tanúsítványokat megbízható hitelesítésszolgáltatók (CA) biztosítják. Ezért ezeknek a tanúsítványoknak a támogatása a hitelesítésszolgáltató által támogatott tanúsítványokhoz van kötve. A BaltimoreCyberTrustRoot tanúsítványa 2025-ben lejár, ezért a Microsoftnak a lejárat előtt tanúsítványmódosítást kell végrehajtania. Abban az esetben is, ha előre nem látható hibák lépnek fel ezekben az előre definiált tanúsítványokban, a Microsoftnak a tanúsítványváltást a 2021. február 15-én végrehajtott módosításhoz hasonlóan kell elvégeznie, hogy a szolgáltatás mindig biztonságos és megfelelő legyen.
10. Ha olvasási replikákat használok, ezt a frissítést csak az elsődleges kiszolgálón vagy az olvasási replikákon kell elvégezni?
Mivel ez a frissítés egy ügyféloldali változás, ha az ügyfél adatokat olvas be a replikakiszolgálóról, a módosításokat is alkalmaznia kell ezekre az ügyfelekre.
11. Rendelkezünk kiszolgálóoldali lekérdezést annak ellenőrzéséhez, hogy ssl van-e használatban?
Annak ellenőrzéséhez, hogy SSL-kapcsolatot használ-e a kiszolgálóhoz való csatlakozáshoz, tekintse meg az SSL-ellenőrzést.
12. Szükség van műveletet, ha már szerepel a DigiCertGlobalRootG2 a tanúsítványfájlban?
Szám Nincs szükség műveletre, ha a tanúsítványfájlban már szerepel a DigiCertGlobalRootG2.
13. Hogyan ellenőrizhetim a kiszolgáló által küldött tanúsítványt?
Számos eszköz használható. A DigiCert például egy hasznos eszközzel rendelkezik, amely megjeleníti a kiszolgálónév tanúsítványláncát. (Ez az eszköz nyilvánosan elérhető kiszolgálóval működik, és nem tud csatlakozni a virtuális hálózatban (VNET) található kiszolgálóhoz. Egy másik használható eszköz az OpenSSL a parancssorban. Ezt a szintaxist használhatja a tanúsítványok ellenőrzéséhez:
openssl s_client -starttls postgres -showcerts -connect <your-postgresql-server-name>:5432
14. Mi a teendő, ha további kérdéseim vannak?
Kérdés esetén közösségi szakértőink örömmel állnak rendelkezésére a Microsoft Q&A oldalán. Ha rendelkezik támogatási csomaggal, és technikai segítségre van szüksége, hozzon létre egy támogatási kérést:
- A Probléma típusa beállításnál válassza a Technical (Műszaki) lehetőséget.
- Előfizetés esetén válassza ki az előfizetést.
- Szolgáltatás esetén válassza a Saját szolgáltatások lehetőséget, majd az Azure Database for PostgreSQL – Single Server lehetőséget.
- Problématípus esetén válassza a Biztonság lehetőséget.
- A Probléma altípus esetében válassza az Azure Encryption és az Infrastruktúra dupla titkosítása lehetőséget