Aracılığıyla paylaş


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.

Bağlantı Güvenliği - TLS/SSL Zorlamayı Devre Dışı Bırak

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.