Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir:SQL Server - Yalnızca Windows
SQL Server'a gelen tüm bağlantıları şifreleyebilir veya yalnızca belirli bir istemci kümesi için şifrelemeyi etkinleştirebilirsiniz. Bu senaryolardan birinde, verileri şifrelemek için sunucu bilgisayarda veya istemci bilgisayarlarda ek adımlar uygulamadan önce SQL Server için Sertifika gereksinimlerini karşılayan bir sertifika kullanmak üzere SQL Server'ı yapılandırmanız gerekir.
Not
Bu makale, Windows üzerinde SQL Server için geçerlidir. Linux'ta SQL Server'ı bağlantıları şifrelemek üzere yapılandırmak için bkz. TLS ayarlarını belirtme.
Bu makalede, sertifikalar için SQL Server'ın nasıl yapılandırıldığı (1. Adım) ve SQL Server örneğinin şifreleme ayarlarının nasıl değiştireceği (Adım 2) açıklanmaktadır. Genel bir ticari yetkiliden sertifika kullanırken SQL Server'a gelen tüm bağlantıları şifrelemek için her iki adım da gereklidir. Diğer senaryolar için bkz. SQL Serverbağlantıları şifrelemeye yönelik özel durumlar.
SQL Server içinSertifika gereksinimleri bölümünde açıklanan sertifikaları kullanmak üzere SQL Server'ı yapılandırmak için şu adımları izleyin:
SQL Server bilgisayarında erişiminiz olan SQL Server Configuration Manager sürümüne bağlı olarak, SQL Server örneğini yüklemek ve yapılandırmak için aşağıdaki yordamlardan birini kullanın.
SQL Server 2019 (15.x) ve sonraki sürümlerinde, sertifika yönetimi SQL Server Configuration Manager ile tümleştirilir ve SQL Server'ın önceki sürümleriyle kullanılabilir. Tek bir SQL Server örneğine, yük devretme kümesi yapılandırmasına veya kullanılabilirlik grubu yapılandırmasına sertifika eklemek için bkz. Sertifika yönetimi (SQL Server Configuration Manager). Configuration Manager, sertifikayı yükleme ve SQL Server'ı yalnızca birkaç adımda yüklü sertifikayı kullanmak üzere yapılandırarak sertifika yönetimini büyük ölçüde basitleştirir.
Sertifikalar, bilgisayardaki kullanıcılar için yerel olarak depolanır. KULLANıLACAK SQL Server sertifikasını yüklemek için SQL Server Configuration Manager'ı yerel yönetici ayrıcalıklarına sahip bir hesapla çalıştırmanız gerekir.
Tümleşik sertifika yönetimini destekleyen SQL Server Configuration Manager'ı kullanmak için SQL Server 2019'un (15.x) Express sürümünü veya sonraki bir sürümünü geçici olarak yükleyebilirsiniz.
SQL Server 2017 (14.x) veya önceki bir sürümü kullanıyorsanız ve SQL Server 2019 için SQL Server Configuration Manager (15.x) kullanılamıyorsa, sertifikayı SQL Server bilgisayarına yüklemek ve yapılandırmak için şu adımları izleyin:
Not
Kullanılabilirlik grubu yapılandırmasına sertifika yüklemek için, birincil düğümden başlayarak kullanılabilirlik grubunuzdaki her düğümde önceki yordamı yineleyin.
Önemli
SQL Server hizmet hesabının, SQL Server örneğinde şifrelemeyi zorlamak için kullanılan sertifika üzerinde okuma izinlerine sahip olması gerekir. Ayrıcalıklı olmayan bir hizmet hesabı için, sertifikaya okuma izinleri eklenmelidir. Bunun yapılmaması SQL Server hizmetinin yeniden başlatılmasının başarısız olmasına neden olabilir.
SQL Server tarafından bağlantıları şifrelemek için kullanılan sertifika aşağıdaki kayıt defteri anahtarında belirtilir:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate
Bu anahtar, sunucudaki her sertifikayı tanımlayan parmak izi olarak bilinen sertifikanın bir özelliğini içerir. Kümelenmiş bir ortamda, depoda doğru sertifika mevcut olsa bile bu anahtar Null
olarak ayarlanır. Bu sorunu çözmek için, sertifikayı her düğüme yükledikten sonra küme düğümlerinizin her birinde şu ek adımları gerçekleştirmeniz gerekir:
Tam etki alanı adı (FQDN) sertifikasının depolandığı sertifika deposuna gidin. Sertifikanın özellikler sayfasında Ayrıntılar sekmesine gidin ve sertifikanın parmak izi değerini bir Not Defteri penceresine kopyalayın.
Not Defteri'ndeki parmak izi değerinde bulunan hex karakterler arasındaki boşlukları kaldırın.
Kayıt Defteri Düzenleyicisi'ni başlatın, aşağıdaki kayıt defteri anahtarına gidin ve 2. Adım'dan değeri yapıştırın:
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<instance>\MSSQLServer\SuperSocketNetLib\Certificate
SQL sanal sunucusu şu anda bu düğümdeyse, kümenizdeki başka bir düğüme yük devredin ve kayıt defteri değişikliğinin gerçekleştiği düğümü yeniden başlatın.
Bu yordamı tüm düğümlerde yineleyin.
Uyarı
Kayıt defterinin yanlış düzenlenmesi sisteminize ciddi zarar verebilir. Kayıt defterinde değişiklik yapmadan önce, bilgisayardaki değerli verileri yedeklemenizi öneririz.
Not
SQL Server 2008 R2 (10.50.x) ve SQL Server 2008 R2 (10.50.x) Yerel İstemcisi (SNAC) joker karakter sertifikalarını destekler. SNAC o zamandan beri kullanım dışı bırakılmıştır ve yerine SQL Server için Microsoft OLE DB Sürücüsü ve SQL Server için Microsoft ODBC Sürücüsü. Diğer istemciler joker karakter sertifikalarını desteklemeyebilir.
SQL Server Configuration Manager kullanılarak joker sertifika seçilemiyor. Joker sertifika kullanmak için HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\SuperSocketNetLib
kayıt defteri anahtarını düzenlemeniz ve sertifikanın parmak izini boşluk olmadan Sertifika değerine girmeniz gerekir.
Not
Şifrelemeyi bir yük devretme kümesiyle kullanmak için, yük devretme kümesindeki tüm düğümlere sanal sunucunun tam DNS adıyla sunucu sertifikasını yüklemeniz gerekir. SQL Server Ağ Yapılandırması özelliği kutusundaki Protokolleri virtsql için ForceEncryption seçeneğinin değerini Evetolarak ayarlayabilirsiniz.
Azure Sanal Makinesinde SQL Server üzerinde bir Azure Search dizinleyici için şifrelenmiş bağlantılar oluştururken, Azure sanal makinesindeki SQL Server örneğine dizin oluşturucu bağlantıları için bölümüne bakın.
Aşağıdaki adımlar yalnızca tüm istemciler için şifreli iletişimleri zorlamak istiyorsanız gereklidir:
Not
Bazı sertifika senaryoları, istemci ile sunucu arasındaki şifreli bağlantıları sağlamak için istemci bilgisayarda ve istemci uygulamanızda ek adımlar uygulamanızı gerektirebilir. Daha fazla bilgi için bkz. SQL Serverbağlantılarını şifrelemek için özel durumlar.
Yüksek düzeyde, bir SQL Server istemci uygulaması ile SQL Server arasındaki ağ trafiğinde iki tür paket vardır: kimlik bilgileri paketleri (oturum açma paketleri) ve veri paketleri. Şifrelemeyi yapılandırdığınızda (sunucu tarafı veya istemci tarafı), her iki paket türü de her zaman şifrelenir. Ancak, şifrelemeyi yapılandırmasanız bile, bir istemci uygulaması SQL Server'a bağlandığında iletilen kimlik bilgileri (oturum açma paketinde) her zaman şifrelenir. SQL Server, varsa güvenilen bir sertifika yetkilisinden gelen sertifika gereksinimlerini karşılayan bir sertifika kullanır. Bu sertifika, daha önce makalede açıklanan yordamlardan biri kullanılarak sistem yöneticisi tarafından el ile yapılandırılır veya SQL Server bilgisayarındaki sertifika deposunda bulunur.
SQL Server, oturum açma paketlerini şifrelemek için kullanılabilirse güvenilen bir sertifika yetkilisinden bir sertifika kullanır. Güvenilir bir sertifika yüklü değilse, SQL Server başlatma sırasında otomatik olarak imzalanan bir sertifika (geri dönüş sertifikası) oluşturur ve kimlik bilgilerini şifrelemek için otomatik olarak imzalanan sertifikayı kullanır. Bu otomatik olarak imzalanan sertifika güvenliği artırmaya yardımcı olur, ancak sunucu tarafından kimlik sahtekarlığına karşı koruma sağlamaz. Otomatik olarak imzalanan sertifika kullanılırsa ve Zorla Şifreleme seçeneğinin değeri Evet olarak ayarlanırsa, SQL Server ile istemci uygulaması arasında bir ağ üzerinden iletilen tüm veriler otomatik olarak imzalanan sertifika kullanılarak şifrelenir.
Otomatik olarak imzalanan bir sertifika kullandığınızda, SQL Server hata günlüğüne aşağıdaki iletiyi günlüğe kaydeder:
Şifreleme için otomatik olarak oluşturulan bir sertifika başarıyla yüklendi.
SQL Server 2016 (13.x) ve önceki sürümler SHA1 algoritmasını kullanır. Ancak, SHA1 algoritması ve birçok eski algoritma SQL Server 2016 (13.x) sürümünden itibaren kullanım dışı bırakılmıştır. Daha fazla bilgi için bkz. SQL Server 2016 (13.x) Kullanım Dışı Veritabanı Altyapısı özellikleri.
Bu ortamlarda, SQL Server tarafından yalnızca ön oturum açma el sıkışması veya tüm sunucu-istemci iletişimlerini şifrelemek için otomatik olarak oluşturulan otomatik olarak imzalanan sertifikayı kullanıyorsanız, güvenlik açığı algılama yazılımınız veya güvenlik yazılımı ya da şirket ilkeleriniz bu kullanımı bir güvenlik sorunu olarak işaretleyebilir. Bu senaryolar için aşağıdaki seçeneklere sahipsiniz:
AŞAĞıDAKI kod parçacığı, SQL Server çalıştıran bir bilgisayarda otomatik olarak imzalanan bir sertifika oluşturmak için kullanılabilir. Sertifika, tek başına SQL Server örneği için şifreleme gereksinimlerini karşılar ve yerel bilgisayarın sertifika deposuna kaydedilir (PowerShell yönetici olarak başlatılmalıdır):
# Define parameters
$certificateParams = @{
Type = "SSLServerAuthentication"
Subject = "CN=$env:COMPUTERNAME"
DnsName = @("$($env:COMPUTERNAME)", $([System.Net.Dns]::GetHostEntry('').HostName), 'localhost')
KeyAlgorithm = "RSA"
KeyLength = 2048
HashAlgorithm = "SHA256"
TextExtension = "2.5.29.37={text}1.3.6.1.5.5.7.3.1"
NotAfter = (Get-Date).AddMonths(36)
KeySpec = "KeyExchange"
Provider = "Microsoft RSA SChannel Cryptographic Provider"
CertStoreLocation = "cert:\LocalMachine\My"
}
# Call the cmdlet
New-SelfSignedCertificate @certificateParams
Ağ şifrelemesinin başarıyla yapılandırıldığını ve etkinleştirildiğini doğrulamak için aşağıdaki Transact-SQL sorgusunu çalıştırın:
USE [master];
GO
SELECT DISTINCT (encrypt_option)
FROM sys.dm_exec_connections
WHERE net_transport <> 'Shared memory';
GO
encrypt_option
sütunu, bu bağlantı için şifrelemenin etkinleştirilip etkinleştirilmediğini gösteren bir Boole değeridir. değer TRUE
ise bağlantı güvenli bir şekilde şifrelenir. Değer FALSE
ise bağlantı şifrelenmez.
AŞAĞıDAKI koşulların tümü doğruysa SQL Server hizmeti sertifikayı otomatik olarak şifreleme için algılar ve kullanır:
Bu kullanım, sertifika SQL Server Configuration Manager'da seçili olmasa bile gerçekleşir.
Bu davranışı değiştirmek için şunları yapın:
SQL Server Configuration Manager'da kullanılacak başka bir sertifika yapılandırma
veya
istenmeyen sertifika için SQL Server hizmet hesabı izinlerini kaldırma
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunEğitim
Sertifikasyon
Microsoft Sertifikalı: Azure Veritabanı Yöneticisi Uzmanlık - Certifications
Microsoft PaaS ilişkisel veritabanı tekliflerini kullanarak bulut, şirket içi ve karma ilişkisel veritabanları için SQL Server veritabanı altyapısını yönetme.
Belgeler
Sertifika prosedürleri - SQL Server
SQL Server sertifikasını dışarı aktarmayı ve güvenilen Kök Sertifika Yetkilileri sertifika deposuna özel bir sertifika yetkilisi eklemeyi öğrenin.
İstemci Bilgisayar ve Uygulamayı Şifreleme için Yapılandırma - SQL Server
İstemci bilgisayarı ve uygulamayı, SQL Server tarafından otomatik olarak verilen bir sertifika ve kendinden imzalı sertifikalar kullanarak şifreleme için nasıl yapılandıracağınızı öğrenin.