PostgreSQL için Azure Veritabanı - Tek Sunucuda TLS bağlantısını yapılandırma
ŞUNLAR IÇIN GEÇERLIDIR: PostgreSQL için Azure Veritabanı - Tek Sunucu
Önemli
PostgreSQL için Azure Veritabanı - Tek Sunucu kullanımdan kaldırma yolundadır. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya yükseltmenizi kesinlikle öneririz. PostgreSQL için Azure Veritabanı - Esnek Sunucu'ya geçiş hakkında daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı Tek Sunucuya ne oluyor?.
PostgreSQL için Azure Veritabanı, daha önce Güvenli Yuva Katmanı (SSL) olarak bilinen Aktarım Katmanı Güvenliği'ni (TLS) kullanarak istemci uygulamalarınızı PostgreSQL hizmetine bağlamayı tercih eder. Veritabanı sunucunuzla istemci uygulamalarınız arasında TLS bağlantılarını zorunlu tutma, sunucu ile uygulamanız arasındaki veri akışını şifreleyerek "ortadaki adam" saldırılarına karşı korumaya yardımcı olur.
Varsayılan olarak, PostgreSQL veritabanı hizmeti TLS bağlantısı gerektirecek şekilde yapılandırılır. İstemci uygulamanız TLS bağlantısını desteklemiyorsa TLS gerektirmeyi devre dışı bırakabilirsiniz.
Önemli
SSL ara sertifikaları 31 Ocak 2024'den (31.01.2024) itibaren güncelleştirilecek şekilde ayarlanmıştır. Ara sertifika, özel olarak son varlık sertifikaları vermek için güvenilen bir kök tarafından verilen bir alt sertifikadır. Sonuç, ara CA (veya CA) aracılığıyla güvenilen kök CA'da başlayan ve size verilen SSL sertifikasıyla biten bir sertifika zinciridir. Sertifika Sabitleme, güvenli oturum oluşturulurken yalnızca yetkili veya sabitlenmiş sertifikaların kabul edildiği bir güvenlik tekniğidir. Farklı bir sertifika kullanarak güvenli oturum oluşturma girişimleri reddedilir. Geçerli yıl boyunca zaten tam olarak güncelleştirdiğimiz ve sertifikanın verify-ca veya verify-full bağlantı dizesi istemci yönergesi kullanılarak sabitlenebildiği güvenilen kök CA'nın aksine, ara CA'yı sabitlemenin standart, iyi oluşturulmuş bir yolu yoktur. Ancak, çeşitli programlama dillerinde ara sertifikaları istemciye sabitleyen özel bağlantı yığını oluşturmanın teorik bir özelliği vardır. Yukarıda açıklandığı gibi, ara sertifikaları özel kodla sabitlediğiniz olası olmayan senaryoda , bu değişiklik sizi etkileyebilir. CA'ları sabitleyip sabitlemediğinize karar vermek için lütfen Sertifika sabitleme ve Azure hizmetleri bölümüne bakın
TLS bağlantılarını zorunlu tutma
Azure portalı ve CLI aracılığıyla sağlanan tüm PostgreSQL için Azure Veritabanı sunucuları için TLS bağlantılarının zorunlu olması varsayılan olarak etkindir.
Benzer şekilde, Azure portalındaki sunucunuzun altındaki "Bağlantı Dizeleri" ayarlarında önceden tanımlanmış bağlantı dizesi, TLS kullanarak veritabanı sunucunuza bağlanmak için ortak diller için gerekli parametreleri içerir. TLS parametresi bağlayıcıya göre değişir; örneğin"ssl=true" veya "sslmode=require" ya da "sslmode=required" ve diğer çeşitlemeler.
TLS Zorlamayı Yapılandırma
İsteğe bağlı olarak TLS bağlantısını zorunlu kılmayı devre dışı bırakabilirsiniz. Microsoft Azure, gelişmiş güvenlik için SSL bağlantısını zorunlu kılma ayarının her zaman etkinleştirilmesini önerir.
Azure portalını kullanma
PostgreSQL için Azure Veritabanı sunucunuzu ziyaret edin ve Bağlantı güvenliği'ne tıklayın. SSL bağlantısını zorunlu kılma ayarını etkinleştirmek veya devre dışı bırakmak için iki durumlu düğmeyi kullanın. Ardından Kaydet’i seçin.
SSL zorlama durumu göstergesini görmek için Genel Bakış sayfasını görüntüleyerek ayarı onaylayabilirsiniz.
Azure CLI’yı kullanma
Azure CLI'da sırasıyla veya değerlerini kullanarak Enabled
ssl zorlama parametresini etkinleştirebilir veya Disabled
devre dışı bırakabilirsiniz.
az postgres server update --resource-group myresourcegroup --name mydemoserver --ssl-enforcement Enabled
SSL bağlantılarının durumunu belirleme
Ayrıca aşağıdaki sorguyu kullanarak işlem, istemci ve uygulamaya göre PostgreSQL için Azure Veritabanı - Tek Sunucu örneğinin SSL kullanımı hakkındaki tüm bilgileri de toplayabilirsiniz:
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;
Uygulamanızın veya çerçevenizin TLS bağlantılarını desteklediğine emin olun
Veritabanı hizmetleri için PostgreSQL kullanan bazı uygulama çerçeveleri yükleme sırasında varsayılan olarak TLS'yi etkinleştirmez. PostgreSQL sunucunuz TLS bağlantılarını zorunlu kılıyorsa ancak uygulama TLS için yapılandırılmamışsa, uygulama veritabanı sunucunuza bağlanamayabilir. TLS bağlantılarını etkinleştirmeyi öğrenmek için uygulamanızın belgelerine bakın.
TLS bağlantısı için sertifika doğrulaması gerektiren uygulamalar
Bazı durumlarda, uygulamaların güvenli bir şekilde bağlanması için güvenilen bir Sertifika Yetkilisi (CA) sertifika dosyasından oluşturulan bir yerel sertifika dosyası gerekir. PostgreSQL için Azure Veritabanı sunucusuna bağlanma sertifikası https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem konumunda bulunur. Sertifika dosyasını indirin ve tercih ettiğiniz konuma kaydedin.
Bağımsız bulutlardaki sunucular için sertifikalar için aşağıdaki bağlantılara bakın: Azure Kamu, 21Vianet tarafından sağlanan Microsoft Azure ve Azure Almanya.
psql kullanarak bağlanma
Aşağıdaki örnekte psql komut satırı yardımcı programını kullanarak PostgreSQL sunucunuza nasıl bağlandığınız gösterilmektedir. TLS/SSL sertifika doğrulamasını sslmode=verify-full
zorunlu kılmak için bağlantı dizesi ayarını kullanın. Yerel sertifika dosya yolunu parametresine sslrootcert
geçirin.
Aşağıdaki komut psql bağlantı dizesi bir örneğidir:
psql "sslmode=verify-full sslrootcert=BaltimoreCyberTrustRoot.crt host=mydemoserver.postgres.database.azure.com dbname=postgres user=myusern@mydemoserver"
İpucu
sslrootcert
hedefine geçirilen değerin, kaydettiğiniz sertifikanın dosya yolu ile eşleştiğini onaylayın.
PostgreSQL için Azure Veritabanı Tek sunucuda TLS zorlaması
PostgreSQL için Azure Veritabanı - Tek sunucu, Aktarım Katmanı Güvenliği (TLS) kullanarak veritabanı sunucunuza bağlanan istemciler için şifrelemeyi destekler. TLS, veritabanı sunucunuzla istemci uygulamaları arasında güvenli ağ bağlantıları sağlayarak uyumluluk gereksinimlerine uymanızı sağlayan endüstri standardı bir protokoldür.
TLS ayarları
PostgreSQL için Azure Veritabanı tek sunucu, istemci bağlantıları için TLS sürümünü zorunlu kılma olanağı sağlar. TLS sürümünü zorunlu kılmak için En Düşük TLS sürümü seçeneği ayarını kullanın. Bu seçenek ayarı için aşağıdaki değerlere izin verilir:
En düşük TLS ayarı | desteklenen istemci TLS sürümü |
---|---|
TLSEnforcementDisabled (varsayılan) | TLS gerekmez |
TLS1_0 | TLS 1.0, TLS 1.1, TLS 1.2 ve üzeri |
TLS1_1 | TLS 1.1, TLS 1.2 ve üzeri |
TLS1_2 | TLS sürüm 1.2 ve üzeri |
Örneğin, bu Minimum TLS ayar sürümünü TLS 1.0 olarak ayarlamak, sunucunuzun TLS 1.0, 1.1 ve 1.2+ kullanan istemcilerden gelen bağlantılara izin verileceği anlamına gelir. Alternatif olarak, bunu 1.2 olarak ayarlamak yalnızca TLS 1.2+ kullanan istemcilerden gelen bağlantılara izin verileceği ve TLS 1.0 ve TLS 1.1 ile tüm bağlantıların reddedileceği anlamına gelir.
Not
Varsayılan olarak, PostgreSQL için Azure Veritabanı en düşük TLS sürümünü (ayarıTLSEnforcementDisabled
) zorlamaz.
En düşük TLS sürümünü zorunlu kıldıktan sonra en düşük sürüm zorlamayı devre dışı bırakamazsınız.
PostgreSQL için Azure Veritabanı Tek sunucunuz için TLS ayarının nasıl ayarlandığını öğrenmek için BKz. TLS ayarını yapılandırma.
PostgreSQL için Azure Veritabanı Tek sunucu tarafından şifreleme desteği
SSL/TLS iletişiminin bir parçası olarak, şifreleme paketleri doğrulanır ve yalnızca destek şifreleme uygunlarının veritabanı sunucusuyla iletişim kurmasına izin verilir. Şifreleme paketi doğrulaması, ağ geçidi katmanında denetlenür ve düğümün kendisinde açıkça denetlenmemektedir. Şifreleme paketleri aşağıda listelenen paketlerden biriyle eşleşmiyorsa, gelen istemci bağlantıları reddedilir.
Desteklenen şifreleme paketi
- 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
Sonraki adımlar
PostgreSQL için Azure Veritabanı için Bağlantı kitaplıklarındaki çeşitli uygulama bağlantı seçeneklerini gözden geçirin.
- TLS'yi yapılandırmayı öğrenin