Aracılığıyla paylaş


OLE DB'de şifreleme ve sertifika doğrulama

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

OLE DB sürücüsünü indirme

SQL Server oturum açma işlemiyle ilişkilendirilmiş ağ paketlerini her zaman şifreler. Başlatıldığında sunucuda herhangi bir sertifika sağlanmamışsa, SQL Server oturum açma paketlerini şifrelemek için kullanılan otomatik olarak imzalanan bir sertifika oluşturur.

Otomatik olarak imzalanan sertifikalar güvenliği garanti etmez. Şifreli el sıkışma NT LAN Manager'ı (NTLM) temel alır. Güvenli bağlantı için SQL Server'da doğrulanabilir bir sertifika sağlamanız önemle tavsiye edilir. Aktarım Güvenlik Katmanı (TLS) yalnızca sertifika doğrulaması ile güvenli hale getirilebilir.

Uygulamalar ayrıca bağlantı dizesi anahtar sözcüklerini veya bağlantı özelliklerini kullanarak tüm ağ trafiğinin şifrelenmesini isteyebilir. Anahtar sözcükler, ile bir sağlayıcı dizesi kullanılırken OLE DB için "Encrypt" veya ile bir başlatma dizesi IDbInitialize::InitializeIDataInitializekullanılırken ADO ve OLE DB için "Veri için Şifreleme Kullan" şeklindedir. Şifreleme, Protokol Şifrelemesini Zorla seçeneği kullanılarak kayıt defterindeki istemci makinede de yapılandırılabilir. Daha fazla bilgi için bkz. kayıt defteri ayarları. Varsayılan olarak, bir bağlantı için tüm ağ trafiğinin şifrelenmesi için sunucuda bir sertifikanın sağlanması gerekir. İstemcinizi sunucudaki sertifikaya güvenecek şekilde ayarladığınızda, ortadaki adam saldırılarına karşı savunmasız hale gelebilirsiniz. Sunucuda doğrulanabilir bir sertifika dağıtırsanız, sertifikaya güvenmeyle ilgili istemci ayarlarını FALSE olarak değiştirdiğinizden emin olun.

Bağlantı dizesi anahtar sözcükleri hakkında daha fazla bilgi için bkz: SQL Server için OLE DB sürücüsüyle bağlantı dizesi anahtar sözcüklerini kullanma.

Sunucuda bir sertifika sağlanmadığında şifrelemenin kullanılmasını sağlamak için, Force Protocol Encryption ve istemci Trust Server Certificate ayarlanması gerekir. Bu durumda, şifreleme, sunucuda doğrulanabilir bir sertifika sağlanmamışsa, doğrulama olmadan otomatik olarak imzalanan bir sunucu sertifikası kullanır.

Şifreleme ve sertifika doğrulama davranışı

Uygulama ayarları, kayıt defterinde ayarlanan güvenlik düzeyini hiçbir zaman azaltmaz, ancak onu güçlendirebilir. Daha fazla bilgi için bkz. kayıt defteri ayarları. Örneğin, istemci için ayarlanmamışsa Force Protocol Encryption , bir uygulama kendisi şifreleme isteğinde bulunabilir. Bir sunucu sertifikası sağlanmadığında bile şifrelemeyi garanti etmek için, bir uygulama şifreleme isteğinde bulunabilir ve TrustServerCertificate. Ancak, istemcinin kayıt defteri yapılandırmasında etkinleştirilmemişse TrustServerCertificate , sağlanan bir sunucu sertifikası yine de gereklidir.

SQL Server için OLE DB Sürücüsü'nün 19. sürümü, şifrelemeyle ilgili API'lerde hataya neden olan değişiklikler sunar. Daha fazla bilgi için bkz: Şifreleme özelliği değişiklikleri.

Ana sürüm 19

Aşağıdaki tabloda şifreleme ayarlarının değerlendirilmesi açıklanmaktadır:

Protocol Encryption istemci kayıt defteri ayarını zorla Bağlantı dizesi/bağlantı özniteliği Veriler için Şifrelemeyi Şifrele/Kullan Sonuçta ortaya çıkan şifreleme
0 (varsayılan) Hayır/İsteğe Bağlı Opsiyonel
0 (varsayılan) Evet/Zorunlu (varsayılan) Zorunlu
0 (varsayılan) Sıkı Sıkı
1 Hayır/İsteğe Bağlı Zorunlu
1 Evet/Zorunlu (varsayılan) Zorunlu
1 Sıkı Sıkı
2 Yoksayıldı Sıkı

Aşağıdaki tabloda sonuçta elde edilen şifreleme ve doğrulama açıklanmaktadır:

Şifreleme Güven Sunucusu Sertifikası istemci kayıt defteri ayarı Bağlantı dizesi/bağlantı özniteliği Güven Sunucusu Sertifikası Sonuç
Opsiyonel Mevcut Değil Mevcut Değil Şifreleme yalnızca LOGIN paketleri için gerçekleşir.
Zorunlu 0 Yoksayıldı Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
Zorunlu 1 (varsayılan) Hayır (varsayılan) Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
Zorunlu 1 (varsayılan) Evet Şifreleme her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.
Sıkı Mevcut Değil Mevcut Değil Şifreleme yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.

Uyarı

19.0 ile 19.3 arasındaki sürümlerde, yükleme sırasında, varsayılan Güvenli Sunucu Sertifikası istemci kayıt defteri ayarı, varsa sürüm 18 kayıt defteri ayarından okunur.

Dikkat

Yukarıdaki tablo yalnızca farklı yapılandırmalar altındaki sistem davranışı hakkında bir kılavuz sağlar. Güvenli bağlantı için, istemcinin ve sunucunun her ikisinin de şifreleme gerektirdiğinden emin olun (sunucu tarafı yapılandırması için bkz: SQL Server'da şifreleme ayarlarını yapılandırma). Ayrıca sunucunun doğrulanabilir bir sertifikaya sahip olduğundan ve istemcideki ayarın TrustServerCertificate FALSE olarak ayarlandığından emin olun.

Uyarı

OLE DB sürücüsünün 19.2 sürümünden başlayarak, TDS 8.0 bağlantıları TLS 1.3 kullanacak şekilde yapılandırılabilir. Daha fazla bilgi için bkz. TLS 1.3 desteği.

Yeni kimlik doğrulama yöntemleriyle ana sürüm 18

18.x.x sürümlerinde, güvenliği artırmak için, yeni Kimlik Doğrulama veya Erişim Belirteci bağlantı dizesi anahtar sözcükleri (veya bunlara karşılık gelen özellikler) kullanıldığında, sürücü varsayılan şifreleme değerini olarak yesayarlayarak geçersiz kılar. Geçersiz kılma, veri kaynağı nesnesi başlatma zamanında gerçekleşir. Şifreleme, herhangi bir yolla başlatılmadan önce ayarlanırsa, değer dikkate alınır ve geçersiz kılınmaz.

Uyarı

ADO uygulamalarında ve arabirimi IDBInitializearacılığıyla elde IDataInitialize::GetDataSource eden uygulamalarda, arabirimi uygulayan Çekirdek Bileşen, şifrelemeyi açıkça varsayılan değeri olan .no Sonuç olarak, yeni kimlik doğrulama özellikleri/anahtar sözcükleri bu ayara uyar ve şifreleme değeri geçersiz kılınmaz . Bu nedenle, bu uygulamaların varsayılan değeri geçersiz kılacak şekilde açıkça ayarlanması Use Encryption for Data=true.

Güvenliği artırmak için, yeni kimlik doğrulama yöntemleri, TrustServerCertificate (ve karşılık gelen bağlantı dizesi anahtar sözcüklerine/özelliklerine) uyar. Sonuç olarak, sunucu sertifikası varsayılan olarak doğrulanır. Sürücü, sunucu sertifikasının doğrulanıp doğrulanmayacağını aşağıdaki gibi belirler:

Güven Sunucusu Sertifikası istemci ayarı Bağlantı dizesi/bağlantı özniteliği Güven Sunucusu Sertifikası Sertifika doğrulama
0 Hayır (varsayılan) Evet
0 Evet Evet
1 Hayır (varsayılan) Evet
1 Evet Hayı

Aşağıdaki tabloda şifreleme ayarlarının değerlendirilmesi açıklanmaktadır:

Zorla Protokol Şifrelemesi istemci ayarı Bağlantı dizesi/bağlantı özniteliği Veriler için Şifrelemeyi Şifrele/Kullan Sonuçta ortaya çıkan şifreleme
0 Hayır (varsayılan) Hayı
0 Evet Evet
1 Hayır (varsayılan) Evet
1 Evet Evet

Aşağıdaki tabloda sonuçta elde edilen şifreleme ve doğrulama açıklanmaktadır:

Sonuçta ortaya çıkan şifreleme Sertifika doğrulama Sonuç
Hayı Hayı Şifreleme yalnızca LOGIN paketleri için gerçekleşir.
Hayı Evet Şifreleme, yalnızca doğrulanabilir bir sunucu sertifikası varsa LOGIN paketleri için gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
Evet Hayı Tüm ağ trafiğinin şifrelenmesi her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.
Evet Evet Tüm ağ trafiğinin şifrelenmesi yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.

Eski kimlik doğrulama yöntemlerine sahip ana sürüm 18

Aşağıdaki tabloda, eski kimlik doğrulama yöntemleri için şifreleme ve doğrulama sonucu açıklanmaktadır:

Zorla Protokol Şifrelemesi istemci ayarı Güven Sunucusu Sertifikası istemci ayarı Bağlantı dizesi/bağlantı özniteliği Veriler için Şifrelemeyi Şifrele/Kullan Bağlantı dizesi/bağlantı özniteliği Güven Sunucusu Sertifikası Sonuç
0 Mevcut Değil Hayır (varsayılan) Mevcut Değil Şifreleme yalnızca LOGIN paketleri için gerçekleşir.
0 Mevcut Değil Evet Hayır (varsayılan) Tüm ağ trafiğinin şifrelenmesi yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
0 Mevcut Değil Evet Evet Tüm ağ trafiğinin şifrelenmesi her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.
1 0 Yoksayıldı Yoksayıldı Tüm ağ trafiğinin şifrelenmesi yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
1 1 Hayır (varsayılan) Mevcut Değil Tüm ağ trafiğinin şifrelenmesi her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.
1 1 Evet Hayır (varsayılan) Tüm ağ trafiğinin şifrelenmesi yalnızca doğrulanabilir bir sunucu sertifikası varsa gerçekleşir, aksi takdirde bağlantı girişimi başarısız olur.
1 1 Evet Evet Tüm ağ trafiğinin şifrelenmesi her zaman gerçekleşir, ancak otomatik olarak imzalanan bir sunucu sertifikası kullanabilir.

Ayrıca bakınız

SQL Server Özellikleri için OLE DB Sürücüsü
Başlatma ve yetkilendirme özellikleri
Bağlantı dizesi anahtar sözcükleri
Başlıca sürüm farklılıkları
Kayıt defteri ayarları