Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede SQL Server için sertifika gereksinimleri ve bir sertifikanın bu gereksinimleri karşılayıp karşılamadığı nasıl denetlenir açıklanmaktadır.
SQL Server şifrelemesi için sertifika gereksinimleri
SQL Server şifrelemesi için Aktarım Katmanı Güvenliği'ni (TLS) kullanmak için aşağıdaki koşulları karşılayan bir sertifika (üç dijital türden biri) sağlamanız gerekir:
Sertifika yerel bilgisayar sertifika deposunda veya SQL Server hizmet hesabı sertifika deposunda olmalıdır. SQL Server başlangıç hesabı değişiklikleriyle sertifikaların yeniden yapılandırılmasını önlediğinden yerel bilgisayar sertifika deposu önerilir.
SQL Server hizmet hesabının TLS sertifikasına erişmek için gerekli izne sahip olması gerekir. Daha fazla bilgi için bkz. Sertifikayı içeri aktararak SQL Server bağlantılarını şifreleme.
Geçerli sistem zamanı, özellik "Geçerli başlangıç" değerinden sonra ve özellik "Geçerli bitiş" değerinden önce olmalıdır. Daha fazla bilgi için bkz. Süresi Dolan Sertifikalar.
Uyarı
Sertifika, sunucu kimlik doğrulaması için tasarlanmalıdır. Bu, Sunucu Kimlik Doğrulaması (1.3.6.1.5.5.7.3.1)belirtmek için sertifikanın Gelişmiş Anahtar Kullanımı özelliğini gerektirir.
Sertifika,
KeySpecAT_KEYEXCHANGEseçeneği kullanılarak oluşturulmalıdır. Bu, özel anahtarı depolamak için eski Şifreleme Depolama Sağlayıcısı kullanan bir sertifika gerektirir. Genellikle sertifikanın anahtar kullanım özelliği (KEY_USAGE) anahtar şifrelemesi (CERT_KEY_ENCIPHERMENT_KEY_USAGE) ve dijital imza (CERT_DIGITAL_SIGNATURE_KEY_USAGE) içerir.Konu Alternatif Adı, istemcilerinizin bir SQL Server örneğine bağlanmak için kullanabileceği tüm adları içermelidir.
İstemcinin sunucu tarafından kullanılan sertifikanın sahipliğini doğrulayabilmesi gerekir. İstemci, sunucu sertifikasını imzalayan sertifika yetkilisinin ortak anahtar sertifikasına sahipse, başka yapılandırma gerekmez. Microsoft Windows, birçok sertifika yetkilisinin ortak anahtar sertifikalarını içerir. Sunucu sertifikası, istemcinin ortak anahtar sertifikasına sahip olmadığı bir ortak veya özel sertifika yetkilisi tarafından imzalandıysa, SQL Server'a bağlanacak her istemciye sunucu sertifikasını imzalayan sertifika yetkilisinin ortak anahtar sertifikasını yüklemeniz gerekir.
Önemli
SQL Server, bilgisayar sertifika deposunda sadece yukarıdaki listedeki bazı gereksinimleri karşılayan bir sertifika varsa ve bu sertifika SQL Server Configuration Manager veya kayıt defteri girdileri aracılığıyla kullanım için el ile yapılandırılmış ise başlatılamaz. Tüm gereksinimleri karşılayan başka bir sertifika seçin veya sql server tarafından oluşturulan otomatik olarak imzalanan sertifikalar açıklandığı gibi, gereksinimleri karşılayan bir sertifika sağlayana veya kendi kendine oluşturulan bir sertifikayı kullanana kadar sertifikayı SQL Server tarafından kullanılmaktan kaldırın.
AlwaysOn kullanılabilirlik grubu
SQL Server örneğiniz Always On kullanılabilirlik grubunun parçasıysa, sertifikanızı oluşturmak için aşağıdaki yöntemlerden birini kullanabilirsiniz:
Yöntem 1: Kullanılabilirlik grubunun tüm çoğaltmalarında bir sertifika kullanın. Ortak ad keyfi olarak seçilebilir, bu nedenle herhangi bir yer tutucu bir değer olabilir. Kullanılabilirlik grubundaki tüm SQL Server çoğaltmalarının konak adı ve FQDN'sinin ve kullanılabilirlik grubu dinleyici adlarının sertifikanın Konu Alternatif Adı'na eklenmesi gerekir. Özgün sertifika oluşturulduktan sonra kullanılabilirlik grubuna ek çoğaltmalar eklenirse, sertifikanın tüm çoğaltmaların adlarıyla yeniden oluşturulması ve her çoğaltmaya yeniden aktarılması gerekir. Sertifika, genel veya resmi bir Sertifika Yetkilisi (CA) tarafından imzalanmadığı sürece, kullanılabilirlik grubu çoğaltmasına veya kullanılabilirlik grubu dinleyicisine bağlanan tüm istemcilerde sertifika deposuna da aktarılmalıdır. Kullanılabilirlik grubu çoğaltmalarını ve dinleyici adlarını sertifikaya eklemezseniz, kullanılabilirlik grubuna bağlanırken bağlantı dizesinin değerlerinden birini veya sertifikanın yolunu
HostNameInCertificatedeğerlerine eklemeniz gerekir. Önerilen yaklaşım, sertifikada adların belirtilmesidir.Aşağıda,
test1.<your company>.comvetest2.<your company>.comadlı iki sunucuya veaglistener.<your company>.comadlı bir kullanılabilirlik grubu dinleyicisine sahip bir kullanılabilirlik grubu için doğru yapılandırılmış bir sertifikayı tanımlayan özelliklere bir örnek verilmiştir:CN = <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name = aglistener.<your company>.com DNS Name = test1.<your company>.com DNS Name = test2.<your company>.com DNS Name = aglistener DNS Name = test1 DNS Name = test2Yöntem 2: Kullanılabilirlik grubunun her çoğaltması için ayrı bir sertifika kullanın. Bir sertifika oluşturulduktan sonra kullanılabilirlik grubuna çoğaltma eklemek, ayrı sertifikalar kullanırken daha kolaydır, ancak var olan tüm çoğaltmalardaki tüm sertifikaları değiştirmek yerine yalnızca yeni çoğaltma için bir sertifika oluşturmanız gerekir. Ortak ad keyfi olarak seçilebilir, bu nedenle herhangi bir yer tutucu bir değer olabilir. İlgili SQL Server örneğinin ana bilgisayar adı ve FQDN'sinin ve kullanılabilirlik grubu dinleyici adlarının ilgili her çoğaltma için sertifikanın Konu Alternatif Adı'na eklenmesi gerekir. Her sertifikayı ilgili çoğaltmasına aktarın ve sertifika bir genel veya resmi Sertifika Yetkilisi (CA) tarafından imzalanmadığı sürece, tüm sertifikaları çoğaltmalara veya kullanılabilirlik grubu dinleyicisine bağlanan tüm istemcilerdeki tüm sertifika depolarına aktarın.
İki örnek
test1.<your company>.comvetest2.<your company>.comileaglistener.<your company>.comadında bir kullanılabilirlik grubu dinleyicisine sahip bir kullanılabilirlik grubu için doğru yapılandırılmış sertifikaları tanımlayan özelliklere şu örnekler verilebilir:Test1'de sertifika:
CN= <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name= test1.<your company>.com DNS Name= aglistener.<your company>.com DNS Name= aglistener DNS Name= test1Test2'de sertifika:
CN= <hostname is recommended but not required when certificates are configured using SQL Server Configuration Manager> DNS Name= test2.<your company>.com DNS Name= aglistener.<your company>.com DNS Name= aglistener DNS Name= test2
Yük devretme kümesi örneği
SQL Server bir yük devretme kümesi örneği olarak yapılandırılmışsa, sunucu sertifikasını konak adıyla veya sanal sunucunun tam DNS adıyla (FQDN) yük devretme kümesindeki tüm düğümlere yüklemeniz gerekir. ve sertifikaların yük devretme kümesinin tüm düğümlerinde sağlanması gerekir. Örneğin, ve test1.<your company>.comadlı test2.<your company>.com düğümleri olan iki düğümlü bir kümeniz varsa ve virtsql adlı bir sanal sunucunuz varsa, her iki düğüme de için virtsql.<your company>.com bir sertifika yüklemeniz gerekir.
Bağlantıları şifrelemek için SQL Server Veritabanı Altyapısını Yapılandırma bölümünde belgelenen sırayla sertifikayı yük devretme kümesine aktarın.
Aşağıda, bir yük devretme kümesi örneği için doğru yapılandırılmış bir sertifika tanımlayan özelliklere bir örnek verilmiştir:
CN = virtsql.<your company>.com
DNS Name = virtsql.<your company>.com
DNS Name = virtsql
SQL kümeleri hakkında daha fazla bilgi için bkz. Yük Devretme Kümelemesini Yüklemeden Önce.
Sertifikanın gereksinimleri karşılayıp karşılamadiğini denetleme
SQL Server 2019 (15.x) ve sonraki sürümlerinde SQL Server Configuration Manager, yapılandırma aşamasının kendisi sırasında tüm sertifika gereksinimlerini otomatik olarak doğrular. Bir sertifika yapılandırdıktan sonra SQL Server başarıyla başlatılırsa, SQL Server'ın bu sertifikayı kullanabileceğinin iyi bir göstergesidir. Ancak bazı istemci uygulamalarının şifreleme için kullanılabilecek sertifikalar için başka gereksinimleri olabilir ve kullanılan uygulamaya bağlı olarak farklı hatalarla karşılaşabilirsiniz. Bu senaryoda, konu hakkında daha fazla bilgi için istemci uygulamasının destek belgelerini denetlemeniz gerekir.
SQL Server ile kullanmak üzere sertifikanın geçerliliğini denetlemek için aşağıdaki yöntemlerden birini kullanabilirsiniz:
sqlcheck aracı :
sqlcheck, geçerli bilgisayar ve hizmet hesabı ayarlarını inceleyen ve Konsol penceresine çeşitli bağlantı hatalarını gidermek için yararlı olan bir metin raporu oluşturan bir komut satırı aracıdır. Çıktı, sertifikalarla ilgili olarak aşağıdaki bilgilere sahiptir:Details for SQL Server Instance: This Certificate row in this section provides more details regarding the certificate being used by SQL Server (Self-generated, hard-coded thumbprint value, etc.). Certificates in the Local Computer MY Store: This section shows detailed information regarding all the certificates found in the computer certificate store.Aracın özellikleri hakkında daha fazla bilgi ve indirme yönergeleri için CSS_SQL_Networking_Tools wikisayfasına bakın.
certutil aracı:
certutil.exe, Sertifika Hizmetleri'nin bir parçası olarak yüklenen bir komut satırı programıdır. sertifika bilgilerini dökümü ve görüntülemek için certutil.exe kullanabilirsiniz. Ayrıntılı bilgi almak için-vseçeneğini kullanın. Daha fazla bilgi için bkz. certutil.Sertifikalar ek bileşeni: Bilgisayardaki çeşitli sertifika depolarındaki sertifikalar hakkında daha fazla bilgi görüntülemek için Sertifikalar ek bileşeni penceresini de kullanabilirsiniz. Ancak bu araç
KeySpecbilgileri göstermez. MMC ek bileşeniyle sertifikaları görüntüleme hakkında daha fazla bilgi için bkz. nasıl yapılır: MMC ek bileşeniyle sertifikaları görüntüleme .
Ana bilgisayar adına farklı bir ada sahip bir sertifikayı içeri aktarma
Şu anda, yalnızca sertifikanın konu adı bilgisayarın ana bilgisayar adıyla eşleşiyorsa SQL Server Configuration Manager'ı kullanarak sertifikayı içeri aktarabilirsiniz.
Farklı bir konu adına sahip bir sertifika kullanmak istiyorsanız şu adımları izleyin:
Sertifikalar ek bileşenini kullanarak sertifikayı yerel bilgisayar sertifika deposuna aktarın.
SQL Server Configuration Manager'da SQL Server Ağ Yapılandırması'nı genişletin, SQL Server örneğine sağ tıklayın ve özellikler'i seçerek instance_name< Özellikleri için >Protokoller iletişim kutusunu açın.
Sertifika sekmesinde, Sertifika açılan listesinden sertifika deposuna içeri aktardığınız sertifikayı seçin:
Farklı bir ada sahip bir sertifikanın ana bilgisayar adına aktarılması aşağıdaki hata iletisiyle sonuçlanır.
The selected certificate name does not match FQDN of this hostname. This property is required by SQL Server
Certificate name: random-name
Computer name: sqlserver.domain.com
Süresi dolan sertifikalar
SQL Server yalnızca yapılandırma sırasında sertifikaların geçerliliğini denetler. Örneğin, süresi dolmuş bir sertifika sağlamak için SQL Server 2019 (15.x) ve sonraki sürümlerde SQL Server Configuration Manager'ı kullanamazsınız. Sertifikanın süresi zaten sağlandıktan sonra dolarsa SQL Server sorunsuz çalışmaya devam eder. Ancak, Power BI gibi bazı istemci uygulamaları her bağlantıda sertifikanın geçerliliğini denetler ve SQL Server örneği şifreleme için süresi dolmuş bir sertifika kullanacak şekilde yapılandırılmışsa bir hata oluşturur. SQL Server şifrelemesi için süresi dolmuş bir sertifika kullanmamanızı öneririz.