Katı şifreleme ile SQL Server'a bağlanma

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri

Katı bağlantı şifrelemesi iyi güvenlik uygulamalarını zorunlu kılar ve SQL Server trafiğini standart ağ gereçleri tarafından yönetilebilir hale getirir. Katı şifreleme, uçtan uca şifreleme için TDS oturumunu Aktarım Katmanı Güvenliği'nde (TLS) sarmalayan Tablosal Veri Akışı (TDS) 8.0'ı kullanır.

Bu makalede, katı bağlantı türünü kullanarak SQL Server 2022 (16.x) ve sonraki sürümlere bağlanmayı öğrenin.

Önkoşul

.NET uygulaması kullanarak SQL Server'a bağlanma

strict şifreleme türünü kullanarak SQL Server oluşturma ve SQL Server'a bağlanma hakkında bilgi için, bağlantı dizesini düzgün bir şekilde hazırlama ile ilgili olarak Bağlantı Dizesi Söz Dizimi bölümüne bakın. Yeni bağlantı dizesi özellikleri hakkında daha fazla bilgi için bkz. Bağlantı dizesi şifreleme özelliklerinde ek değişiklikler.

ODBC DSN kullanarak bağlanma

SQL Server'a ODBC DSN kullanarak bağlantı şifreleme türüyle Strict bağlantıyı test edebilirsiniz.

  1. Windows'da ODBC Veri Kaynakları uygulamasını arayın.

    O D B C veri kaynakları uygulamasının ekran görüntüsü.

  2. ODBC Veri Kaynağı Yöneticisi'nin Sürücüler sekmesine bakarak en son ODBC sürücüsüne sahip olduğunuzdan emin olun.

    Kullanılabilir sürücülerin ekran görüntüsü.

  3. Sistem DSN sekmesinde Ekle'yi seçerek DSN oluşturun. Ardından SQL Server için ODBC Sürücüsü 18'i seçin. Bitirseçin. Bağlantımızı test etmek için bunu kullanacağız.

  4. SQL Server'a Yeni Veri Kaynağı Oluştur penceresinde, bu veri kaynağı için bir ad sağlayın ve SQL Server 2022 (16.x) sunucunuzun adını Sunucu'ya ekleyin. sonrakiseçin.

    O D B C sürücüsünü kullanarak veri kaynağı oluşturma işleminin ekran görüntüsü.

  5. Bağlantı Şifrelemesi olan ekrana gelene kadar tüm ayarlar için tüm varsayılan değerleri kullanın. Katı seçin. Girdiğiniz sunucu adı sertifikadakinden farklıysa veya bunun yerine IP adresi kullanılıyorsa, sertifikadaki HostName değerini sertifikanızda kullanılan ad olarak ayarlayın. Bitirseçin.

    Sıkı şifreleme türünü gösteren ekran görüntüsü.

  6. ODBC Microsoft SQL Server Kurulumu iletişim kutusu açıldığında bağlantıyı test etmek için Veri Kaynağını Sına... düğmesini seçin. Bu, bu test için SQL Server bağlantısını zorunlu kılmalıdır strict .

Evrensel Veri Bağlantısı (UDL) ile OLE DB Sürücüsünü kullanarak şifreleme ile strict SQL Server bağlantısını da test edebilirsiniz.

  1. Bağlantınızı test etmek üzere bir UDL dosyası oluşturmak için masaüstünüzde sağ tıklayın ve YeniMetin Belgesi'ni> seçin. uzantısını txtudlolarak değiştirmeniz gerekir. Dosyaya istediğiniz adı verebilirsiniz.

    Uyarı

    Uzantıyı txt yerine udl olarak değiştirebilmek için uzantı adını görebilmeniz gerekir. Uzantıyı göremiyorsanız, Dosya Gezgini>Görünümü>Dosya adı uzantılarını> açarak uzantıyı görüntülemeyi etkinleştirebilirsiniz.

  2. Oluşturduğunuz UDL dosyasını açın ve Sağlayıcı sekmesine giderek SQL Server için Microsoft OLE DB Sürücüsü 19'u seçin. İleri'yi >>seçin.

    U D L sağlayıcı ekranının ekran görüntüsü.

  3. Bağlantı sekmesinde SQL Server sunucunuzun adını girin ve SQL Server'da oturum açmak için kullandığınız kimlik doğrulama yöntemini seçin.

    U D L bağlantı ekranının ekran görüntüsü.

  4. Gelişmiş sekmesinde Bağlantı şifrelemesi için Katı'yı seçin. Girdiğiniz sunucu adı sertifikadakinden farklıysa veya bunun yerine IP adresi kullanılıyorsa, sertifikadaki Ana bilgisayar adını sertifikanızda kullanılan ad olarak ayarlayın. İşiniz bittiğinde Bağlantı sekmesine geri dönün.

    U D L gelişmiş ekranının ekran görüntüsü.

  5. Bağlantıyı bağlantı şifrelemesiyle test etmek için Bağlantıyı Test Et'i strict seçin.

    U D L bağlantı ekranının ve test bağlantısının ekran görüntüsü.

SSMS ile bağlanma

Sürüm 20'den başlayarak, Sunucuya Bağlan iletişim kutusunun Oturum Açma Bilgilerisekmesindeki SQL Server Management Studio'da (SSMS) katı şifreleme uygulayabilirsiniz:

SQL Server Management Studio'da sunucuya bağlan iletişim kutusunun ekran görüntüsü.

Always On kullanılabilirlik grubuna bağlanma

SQL Server 2025 (17.x) ile başlayarak, Strict veya Mandatory bağlantı şifreleme türünü kullanarak Windows Server Yük Devretme Kümesi ile Always On kullanılabilirlik grubu replika arasındaki iletişimi şifreleyebilirsiniz. Kullanılabilirlik grubunuz yalnızca bir Windows Server Yük Devretme Kümesine dayalıysa şifrelemeyi zorunlu kılabilir. Diğer kullanılabilirlik grubu türleri katı şifrelemeyi desteklemez.

Uyarı

Veritabanı yansıtma uç noktaları için şifreleme ayrı olarak yapılandırılır ve TLS desteklenmez. Daha fazla bilgi için bkz. Kullanılabilirlik gruplarında aktarım güvenliği ve veritabanı yansıtma.

Adımlar, kullanılabilirliğinizin mevcut olup olmamasına bağlı olarak farklılık gösterir.

Yeni bir kullanılabilirlik grubuna katı şifrelemeyi zorlamak için şu adımları izleyin:

  1. Henüz yapmadıysanız, sertifika gereksinimleri tarafından tanımlandığı gibi TLS sertifikasını kullanılabilirlik grubunun her çoğaltmasına aktarın. Sertifikayı içeri aktardıktan sonra her SQL Server örneğini yeniden başlatın.
  2. Bu makalede belirtilen ve şifrelemeyi zorunlu kılan yöntemlerden birini kullanarak her SQL Server replikasına yaptığınız bağlantıları test edin.
  3. CREATE AVAILABILITY GROUP Encrypt özelliği kullanılabilirlik grubunun yan tümcesinde Strict olarak ayarlanırCLUSTER_CONNECTION_OPTIONS. Bu, kullanılabilirlik grubuna yapılan tüm bağlantıların belirtilen şifreleme türünü kullanmasını sağlar.
  4. Kullanılabilirlik grubu şu anda çevrimiçiyse, yeni şifreleme ayarlarını kullanılabilirlik grubuna uygulamak için kullanılabilirlik grubunu ikincil çoğaltmaya devredin. Kullanılabilirlik grubu çevrimiçi duruma gelmezse, bunun nedeni ClusterConnectionOptions öğesinin doğru ayarlanmamış olması olabilir. Kümenin SQL Server çoğaltmasına bağlanamamasıyla ilgili ODBC hataları için cluster.log denetleyin. İsteğe bağlı olarak, yeni ikincil çoğaltma çevrimiçi olduktan ve kullanılabilirlik grubuna bağlandıktan sonra kullanılabilirlik grubunu özgün birincil çoğaltmaya geri döndürebilirsiniz.
  5. (İsteğe bağlı) Her çoğaltma için bağlantı protokolünde şifrelemeyi daha da zorlamak için SQL Server Yapılandırma Yöneticisi özelliklerinde Yes seçeneğini olarak ayarlayabilirsiniz. Bu ayar, kullanılabilirlik grubu çoğaltmalarına yönelik tüm bağlantıların katı şifreleme kullanmasını sağlar. Bu ayarı değiştirdikten sonra her SQL Server çoğaltmasını yeniden başlatın.

Yük devretme kümesi örneğine bağlanma

SQL Server 2025 (17.x) ile başlayarak, veya Strict bağlantı şifreleme türünü kullanarak Windows Server Yük Devretme Kümeniz ile bir Mandatory arasındaki iletişimi şifreleyebilirsiniz. Bunu yapmak için şu adımları izleyin:

  1. Henüz yapmadıysanız TLS sertifikasınısertifika gereksinimleriyle tanımlandığı gibi yük devretme kümesinin her düğümüne aktarın. Sertifikayı içeri aktardıktan sonra SQL Server örneğini yeniden başlatın.
  2. Şifrelemeyi zorunlu kılan bu makalede belirtilen yöntemlerden birini kullanarak yük devretme kümesi örneğine yönelik bağlantıları test edin.
  3. ALTER SERVER CONFIGURATION CLUSTER_CONNECTION_OPTIONS yan tümcesiyle, Encrypt özelliğini Mandatory veya Strict olarak ayarlamak için. Bu, yük devretme kümesi örneğine yapılan tüm bağlantıların belirtilen şifreleme türünü kullanmasını sağlar.
  4. Yeni şifreleme ayarlarını yük devretme kümesi örneğine uygulamak için örneği ikincil düğüme devredin. Yük devretme kümesi örneği çevrimiçi duruma gelemezse, bunun nedeni ClusterConnectionOptions öğesinin doğru ayarlanmamış olması olabilir. Kümenin SQL Server örneğine bağlanamamasıyla ilgili ODBC hataları için cluster.log denetleyin. İsteğe bağlı olarak, yeni ikincil düğüm çevrimiçi olduktan ve yük devretme kümesi örneğine bağlandıktan sonra örneği özgün birincil düğüme geri döndürebilirsiniz.
  5. (İsteğe bağlı) Kümedeki her düğüm için bağlantı protokolü için SQL Server Yapılandırma Yöneticisi özelliklerinde Yes Zorla seçeneğini ayarlayarak şifrelemeyi daha da zorlayabilirsiniz. Bu ayar, yük devretme kümesi örneğine yapılan tüm bağlantıların katı şifreleme kullanmasını sağlar. İkincil düğümde bu değişikliği yapın, örneğin yükünü ona devredin ve ardından değişikliği birincil düğümde yapın.

SQL Server Agent bağlantı şifrelemesi

SQL Server 2025 (17.x) ile başlayarak SQL Server Agent, TDS 8.0 ve TLS 1.3'i destekleyen SQL Server için Microsoft ODBC Sürücüsü 18'i kullanır. SQL Server Agent, bağlantı şifrelemesini SQL Server örneğinin yapılandırıldığı şekilde otomatik olarak ayarlar.

SQL Server Agent şifrelemeyi nasıl belirler?

SQL Server Agent başlatıldığında, SQL Server için yapılandırılan şifreleme düzeyini belirlemek üzere yerel makinede aşağıdaki kayıt defteri anahtarlarını sorgular:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceEncryption
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\ForceStrict
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.<InstanceName>\MSSQLServer\SuperSocketNetLib\SubjectAlternativeName(SQL Server 2025 (17.x) sürümünde yeni eklendi)

Bu değerlere bağlı olarak SQL Server Agent bağlantı modunu seçer:

  • Sıkı Şifrelemeyi Zorla etkinleştirilirse, SQL Server Agent strict (TDS 8.0) kullanarak bağlanır.
  • Şifrelemeyi Zorla etkinleştirildiyse SQL Server Agent, mandatory (TDS 7.x) kullanarak bağlanır.
  • Hiçbiri etkin değilse, SQL Server Agent, optional (TDS 7.x) kullanarak bağlanır.

Yerel T-SQL iş adımları, SQL Server Agent hizmetiyle aynı şifreleme yapılandırmasını devralır. SQL Server Agent ile strictbağlanırsa, sunucuda yerel olarak çalışan T-SQL işleri aynı seçeneği kullanır.

Important

TLS 1.3 yalnızca katı şifreleme ile çalışır. SQL Server örneğinde işletim sistemi düzeyinde yalnızca TLS 1.3 etkinleştirilmişse ancak yalnızca Zorla Şifreleme ayarlanmışsa (Katı Şifrelemeye Zorlama değil), ve mandatory modları TLS 1.3 ile uyumlu olmayan TDS 7.x gerektirdiğinden optional SQL Server Agent başlatılamaz.

TLS ve şifreleme yapılandırma matrisi

TLS sürümü etkin Yapılandırma ayarı SQL Server Agent sonucu Notlar
Yalnızca TLS 1.3 Katı Şifrelemeyi Zorla Başarıyla bağlanır TDS 8.0 katı şifreleme kullanır
Yalnızca TLS 1.3 Şifrelemeyi Zorla Bağlanılamıyor TLS 1.3 katı olmasını gerektirir
Yalnızca TLS 1.3 Hiçbiri Bağlanılamıyor TLS 1.3 katı şifreleme gerektirir
Yalnızca TLS 1.2 Katı Şifrelemeyi Zorla Başarıyla bağlanır TDS 8.0 TLS 1.2 kullanabilir
Yalnızca TLS 1.2 Şifrelemeyi Zorla Başarıyla bağlanır TDS 7.x zorunlu
Yalnızca TLS 1.2 Hiçbiri Başarıyla bağlanır İsteğe bağlı TDS 7.x
TLS 1.2 ve TLS 1.3 Katı Şifrelemeyi Zorla Başarıyla bağlanır TDS 8.0 katı şifreleme kullanır
TLS 1.2 ve TLS 1.3 Şifrelemeyi Zorla Başarıyla bağlanır TDS 7.x zorunlu
TLS 1.2 ve TLS 1.3 Hiçbiri Başarıyla bağlanır İsteğe bağlı TDS 7.x

SQL Server Agent'nin anlaşmalı şifrelemesini doğrulama

SQL Server Agent bağlandıktan sonra şifreleme modunu onaylamak için aşağıdaki sorguyu çalıştırın:

SELECT s.session_id, c.encrypt_option, s.program_name, s.client_interface_name, s.nt_user_name
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
    ON c.session_id = s.session_id
WHERE s.program_name LIKE 'SQLAgent%';

SQL Server Agent şifreleme kullanılarak bağlandığında encrypt_option sütunu TRUE değerini döndürür.

SQL Server Agent genel bakış için bkz. SQL Server Agent.

SQL Server Yapılandırma Yöneticisi ile katı şifrelemeye zorlama

SQL Server 2022 (16.x) ile başlayarak SQL Server Yapılandırma Yöneticisi'ı kullanarak katı şifreleme uygulayabilirsiniz. Bunu yapmak için şu adımları izleyin:

  1. SQL Server Yapılandırma Yöneticisi'i açın.

  2. Sol bölmede SQL Server Ağ Yapılandırması'nı genişletin ve [InstanceName] protokolleri'ni seçin.

  3. TCP/IP'ye sağ tıklayın ve Özellikler'i seçin.

  4. TCP/IP Özellikleri iletişim kutusunda Bayraklar sekmesine gidin ve Katı Şifrelemeye Zorla seçeneği için Evet'i seçin:

    SQL Server Yapılandırma Yöneticisi'da Katı Şifrelemeyi Zorla seçeneğinin ekran görüntüsü.

  5. Değişiklikleri uygulamak için bakım penceresi sırasında SQL Server örneğini yeniden başlatın.

Açıklamalar

Eğer SSL certificate validation failed görürseniz, şunları doğrulayın:

  • Sunucu sertifikası test için kullandığınız makinede geçerlidir
  • Aşağıdakilerden en az biri doğrudur:
    • Sağlayıcı SQL Server CA adıyla veya sertifikadaki DNS adlarından biriyle eşleşir.
    • HostNameInCertificate bağlantı dizesi özelliği CA adıyla veya sertifikadaki DNS adlarından biriyle eşleşir.