Konfigurace připojení TLS na jednoúčelovém serveru Azure Database for PostgreSQL
PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server
Důležité
Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?
Azure Database for PostgreSQL preferuje připojení klientských aplikací ke službě PostgreSQL pomocí protokolu TLS (Transport Layer Security), dříve označovaného jako SSL (Secure Sockets Layer). Vynucení připojení TLS mezi databázovým serverem a klientskými aplikacemi pomáhá chránit před útoky typu "man-in-the-middle" šifrováním datového proudu mezi serverem a vaší aplikací.
Ve výchozím nastavení je databázová služba PostgreSQL nakonfigurovaná tak, aby vyžadovala připojení TLS. Pokud vaše klientská aplikace nepodporuje připojení TLS, můžete se rozhodnout zakázat.
Důležité
Zprostředkující certifikáty SSL se nastaví tak, aby se aktualizovaly od 31. ledna 2024 (31. 1. 2024). Zprostředkující certifikát je podřízený certifikát vystavený důvěryhodným kořenovým certifikátem určeným speciálně k vydávání certifikátů koncových entit. Výsledkem je řetěz certifikátů, který začíná u důvěryhodné kořenové certifikační autority, prostřednictvím zprostředkující certifikační autority (nebo certifikační autority) a končí certifikátem SSL vystaveným vám. Připnutí certifikátu je technika zabezpečení, kdy se při vytváření zabezpečené relace přijímají pouze autorizované nebo připnuté certifikáty. Jakýkoli pokus o vytvoření zabezpečené relace pomocí jiného certifikátu se odmítne. Na rozdíl od důvěryhodné kořenové certifikační autority, kterou jsme už během aktuálního roku plně aktualizovali a kde je možné certifikát připnout pomocí příkazu verify-ca nebo verify-full připojovací řetězec client direktivy, neexistuje žádný standard, dobře zavedený způsob, jak připnout zprostředkující certifikační autoritu. Existuje však teoretická schopnost vytvořit vlastní zásobník připojení, který připne zprostředkující certifikáty klientovi v různých programovacích jazycích. Jak je vysvětleno výše, v nepravděpodobném scénáři , že připnete zprostředkující certifikáty s vlastním kódem, může to mít vliv na tuto změnu. Pokud chcete zjistit, jestli připnete certifikační autority, přečtěte si prosím informace o připnutí certifikátů a službách Azure.
Vynucení připojení TLS
Pro všechny servery Azure Database for PostgreSQL zřízené prostřednictvím webu Azure Portal a rozhraní příkazového řádku je ve výchozím nastavení povolené vynucení připojení TLS.
Podobně připojovací řetězec, které jsou předdefinované v nastavení připojovacích řetězců na vašem serveru na webu Azure Portal, zahrnují požadované parametry pro běžné jazyky pro připojení k databázovému serveru pomocí protokolu TLS. Parametr TLS se liší podle konektoru, například ssl=true nebo sslmode=require nebo sslmode=required a dalších variant.
Konfigurace vynucení protokolu TLS
Volitelně můžete zakázat vynucování připojení TLS. Microsoft Azure doporučuje vždy povolit nastavení vynucení připojení SSL pro lepší zabezpečení.
Pomocí webu Azure Portal
Navštivte server Azure Database for PostgreSQL a vyberte Zabezpečení připojení. Pomocí přepínače povolte nebo zakažte nastavení vynucení připojení SSL. Potom vyberte Uložit.
Nastavení můžete potvrdit zobrazením stránky Přehled a zobrazením indikátoru stavu vynucení SSL.
Použití Azure CLI
Parametr vynucení ssl můžete povolit nebo zakázat pomocí Enabled
nebo Disabled
hodnoty v Azure CLI.
az postgres server update --resource-group myresourcegroup --name mydemoserver --ssl-enforcement Enabled
Určení stavu připojení SSL
Všechny informace o využití SSL instance jednoúčelového serveru Azure Database for PostgreSQL můžete shromažďovat také pomocí následujícího dotazu:
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;
Ujistěte se, že vaše aplikace nebo architektura podporuje připojení TLS.
Některé aplikační architektury, které používají PostgreSQL pro své databázové služby, ve výchozím nastavení nepovolují protokol TLS během instalace. Pokud server PostgreSQL vynucuje připojení TLS, ale aplikace není nakonfigurovaná pro protokol TLS, nemusí se aplikace připojit k vašemu databázovému serveru. V dokumentaci vaší aplikace se dozvíte, jak povolit připojení TLS.
Aplikace, které vyžadují ověření certifikátu pro připojení tls
V některých případech aplikace k zabezpečenému připojení vyžadují místní soubor certifikátu vygenerovaný ze souboru certifikátu důvěryhodné certifikační autority (CA). Certifikát pro připojení k serveru Azure Database for PostgreSQL se nachází v souboru https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem. Stáhněte si soubor certifikátu a uložte ho do upřednostňovaného umístění.
Projděte si následující odkazy na certifikáty pro servery v suverénních cloudech: Azure Government, Microsoft Azure provozované společností 21Vianet a Azure Germany.
Připojení pomocí psql
Následující příklad ukazuje, jak se připojit k serveru PostgreSQL pomocí nástroje příkazového řádku psql. sslmode=verify-full
K vynucení ověřování certifikátu TLS/SSL použijte nastavení připojovací řetězec. Předejte do parametru sslrootcert
cestu k souboru místního certifikátu.
Následující příkaz je příkladem připojovací řetězec psql:
psql "sslmode=verify-full sslrootcert=BaltimoreCyberTrustRoot.crt host=mydemoserver.postgres.database.azure.com dbname=postgres user=myusern@mydemoserver"
Tip
Ověřte, že hodnota předaná parametru sslrootcert
odpovídá cestě k souboru uloženého certifikátu.
Vynucení protokolu TLS na jednoúčelovém serveru Azure Database for PostgreSQL
Azure Database for PostgreSQL – Jednoúčelový server podporuje šifrování pro klienty připojující se k databázovému serveru pomocí protokolu TLS (Transport Layer Security). TLS je standardní oborový protokol, který zajišťuje zabezpečená síťová připojení mezi databázovým serverem a klientskými aplikacemi, což umožňuje dodržovat požadavky na dodržování předpisů.
Nastavení protokolu TLS
Jednoúčelový server Azure Database for PostgreSQL umožňuje vynucovat verzi protokolu TLS pro připojení klientů. Pokud chcete vynutit verzi protokolu TLS, použijte nastavení minimální verze protokolu TLS. Pro toto nastavení možností jsou povoleny následující hodnoty:
Minimální nastavení protokolu TLS | Podporovaná verze protokolu TLS klienta |
---|---|
TLSEnforcementDisabled (výchozí) | Nevyžaduje se žádný protokol TLS. |
TLS1_0 | TLS 1.0, TLS 1.1, TLS 1.2 a vyšší |
TLS1_1 | TLS 1.1, TLS 1.2 a vyšší |
TLS1_2 | TLS verze 1.2 a vyšší |
Například nastavení této minimální verze nastavení PROTOKOLU TLS na TLS 1.0 znamená, že váš server povolí připojení z klientů pomocí protokolu TLS 1.0, 1.1 a 1.2 nebo novější. Pokud to nastavíte na verzi 1.2, znamená to, že povolíte připojení jenom z klientů používajících protokol TLS 1.2 nebo novější a všechna připojení s protokolem TLS 1.0 a TLS 1.1 budou odmítnuta.
Poznámka:
Azure Database for PostgreSQL ve výchozím nastavení nevynucuje minimální verzi protokolu TLS (nastavení TLSEnforcementDisabled
).
Jakmile vynutíte minimální verzi protokolu TLS, nebude možné později zakázat vynucení minimální verze.
Informace o nastavení protokolu TLS pro jednoúčelový server Azure Database for PostgreSQL najdete v tématu Postup konfigurace nastavení protokolu TLS.
Podpora šifrování jednoúčelovým serverem Azure Database for PostgreSQL
V rámci komunikace SSL/TLS jsou šifrovací sady ověřeny a podporují pouze šifrovací obleky, které mohou komunikovat s databázovým serverem. Ověřování šifrovací sady je řízeno ve vrstvě brány, nikoli explicitně na samotném uzlu. Pokud šifrovací sady neodpovídají některé z níže uvedených sad, příchozí klientská připojení budou odmítnuta.
Podporovaná sada šifer
- 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
Další kroky
Projděte si různé možnosti připojení aplikací v knihovnách připojení pro Azure Database for PostgreSQL.
- Informace o konfiguraci protokolu TLS
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro