Share via


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:

  • 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.

      Azure Database for PostgreSQL .net cert

    • 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=disablea tanúsítványokatsslmode=allow, sslmode=prefersslmode=requireakkor 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