SQL Server bağlantıları şifreleme

SQL Server Internet Protokolü güvenliği (IPSec) ile uyumlu ve Güvenli Yuva Katmanı (ssl) destekler.

Güvenli Yuva Katmanı (SSL)

Microsoft SQL Server can use Secure Sockets Layer (SSL) to encrypt data that is transmitted across a network between an instance of SQL Server and a client application.ssl şifreleme içinde gerçekleştirilen protokol katman ve tüm SQL Server istemciler dışındaki mdac 2, 53 ve db Kitaplığı istemcileri.

ssl istemci bağlantı isteklerinin şifreleme, sunucu doğrulaması için kullanılır.örnek , SQL Server , Bilgisayarın kimliğini bir genel sertifika yetkilisinden bir sertifika atanmış olan bir bilgisayarda çalışan ve örnek , SQL Server vouched için sertifikaların güvenilen kök yetkilisi neden zinciri tarafındanistemci uygulamasını çalıştıran bilgisayarda, kök yetkilisine güvenmeyi yapılandırılması gibi sunucu doğrulama gerektirir sertifika sunucu tarafından kullanılır.Otomatik olarak imzalanan bir sertifika ile şifreleme mümkündür ve aşağıdaki bölümde açıklanan, ancak kendinden imzalı bir sertifika yalnızca sınırlı koruma sağlar.

40-Bit veya 128-bit ssl tarafından kullanılan şifreleme düzeyni bağlıdır sürüm , Microsoft Windows işletim sistemi çalışan uygulama ve veritabanı bilgisayarlar.

Etkinleştirme ssl şifreleme örnekleri arasında ağlar üzerinden aktarılan verilerin güvenliğini artırır SQL Server ve uygulamalar.Ancak, şifreleme etkinleştirme performansı yavaşlatabilir.Ne zaman tüm trafiği arasında SQL Server ve ssl kullanarak şifrelenmiş bir istemci uygulaması, aşağıdaki ek işlem gereklidir:

  • Ek ağ gidiş gerekli bağlanmak saat.

  • Uygulamasından gönderilen paketleri örnek , SQL Server istemci Net-Library tarafından şifrelenir ve Net server tarafından şifresi-Kütüphane.

  • Gönderilen paketlerin örnek , SQL Server için uygulama sunucusu Net-Library tarafından şifrelenir ve gerekir Net istemci tarafından şifresi-Kütüphane.

ssl için yapılandırmaSQL Server

Aşağıdaki yordam için ssl yapılandırma hakkında açıklar SQL Server.

ssl yapılandırmak için

  1. Sunucu bilgisayarın Windows sertifika deposuna bir sertifika yükleyin.

  2. ' I Start, Microsoft sql Server program grubu, üzerine Yapılandırma araçlarıve i sql Server Configuration Manager.

  3. Genişletme sql Server Network Configuration, sağ tıklatın ve'i sunucu iletişim kuralları Özellikler.

    Not

    This is the Protocols for<instance_name> section in the left pane of the tool, not a specific protocol in the right pane.

  4. Üzerinde sertifika sekmesinde, yapılandırmak Veritabanı Altyapısı için kullanılacak sertifika.

  5. Üzerinde Flags sekmesi, görüntülemek veya belirtmek protokol şifreleme seçeneği.Oturum açma paket her zaman şifrelenir.

    • Zaman ForceEncryption seçenek için Veritabanı Altyapısı küme Evet, tüm istemci/sunucu iletişimi şifreli ve şifreleme destekleyemez istemciler erişim engellendi.

    • Zaman ForceEncryption seçenek için Veritabanı Altyapısı küme No, şifreleme istemci uygulama tarafından istenen, ancak gerekli değildir.

    • SQL ServerSiz değiştirdikten sonra yeniden başlatılması gerekir ForceEncryption ayarı.

    Credentials (in the login packet) that are transmitted when a client application connects to SQL Server are always encrypted.SQL Server will use a certificate from a trusted certification authority if available.Güvenilen bir sertifika yüklüyse, SQL Server , örnek başlatıldığında, kendinden imzalı bir sertifika oluşturmak ve kullanmak otomatik olarak imzalanan sertifika için şifreleme kimlik bilgileri.Bu otomatik olarak imzalanan sertifika güvenliği artırmaya yardımcı olur, ancak sunucu tarafından sızdırmaya karşı koruma sağlamaz.Otomatik olarak imzalanan sertifika kullanılıyorsa ve değeri ForceEncryption seçenek küme için Evet, arasında bir ağ üzerinden aktarılan tüm veri SQL Server ve istemci uygulaması şifreli kullanarak otomatik olarak imzalanan sertifika

    Dikkat notuDikkat

    Otomatik olarak imzalanan bir sertifika kullanılarak şifrelenmiş ssl bağlantıları güçlü bir güvenlik sağlar.Bunlar, man-in--middle saldırılarına açıktır.ssl kullanarak bir üretim ortamında otomatik olarak imzalanan sertifikalar veya Internet'e bağlı sunucularındaki güvenmemelisiniz.

Sertifika gereksinimleri

İçin SQL Server bir ssl sertifikası yüklemek için sertifika aşağıdaki koşulları karşılaması gerekir:

  • Sertifikayı yerel bilgisayar sertifika deposuna veya geçerli kullanıcının sertifika deposunda olmalıdır.

  • Geçerli sistem saat sonra olmalıdır geçerlilik özellik ve önce için geçerli sertifika özellik.

  • Sunucu kimlik doğrulaması için sertifika amaçlı olmalıdır.Bu gerektirir Gelişmiş Anahtar kullanımı özellik sertifika belirtmek için Sunucu kimlik doğrulaması (1.3.6.1.5.5.7.3.1).

  • Sertifika kullanılarak oluşturulmasını KeySpec seçeneği at_keyexchange.Genellikle, sertifika's anahtar kullanım özellik (key_usage) anahtar şifreleme de (CERT_KEY_ENCIPHERMENT_KEY_USAGE).

  • The Subject property of the certificate must indicate that the common name (CN) is the same as the host name or fully qualified domain name (FQDN) of the server computer.If SQL Server is running on a failover cluster, the common name must match the host name or FQDN of the virtual server and the certificates must be provisioned on all nodes in the failover cluster.

  • SQL Server 2008 R2ve SQL Server 2008 R2 Native Client desteği joker sertifikalar.ado dahil olmak üzere diğer istemciler.SqlClient net, henüz destek joker karakter sertifikaları yapın.ado için joker karakter sertifikaları için destek.NET SqlClient gelecekte kabul edilir.Daha fazla bilgi için bkz: KB258858.

sql Server yerel istemci sertifika gereksinimleri

Kullanan uygulamalar "SERVER=shortname; FORCE ENCRYPTION=true" sertifika whose ile konuları tam nitelikli etki alanı adları (fqdn)'s bağlı gevşek doğrulama yüzünden geçmişte belirtin.SQL Server 2008 R2özneleri sertifikalar için tam bir eşleşme zorlamakla güvenliği geliştirir.Gevşek doğrulama kullanan uygulamalar aşağıdaki eylemlerden birini gerçekleştirmeniz gerekir:

  • fqdn bağlantı kullanmak dize.

    • Bu seçenek, derlenmesine gerektirmez SERVER bağlantı anahtar sözcük dize uygulama. dışında yapılandırılmış

    • Bu seçenek, bağlantı dizeleri kodlanmış olan uygulamalar için çalışmaz.

    • Yansıtma veritabanı yansıtma Sunucu yanıtı basit bir adla bu yana kullanan uygulamalar için bu seçeneği çalışmıyor.

  • Kısaad fqdn için eşlemek için bir diğer ad ekler.

    • Bu seçenek, bağlantı dizeleri kodlanmış olan uygulamalar için bile çalışır.

    • Bu seçeneği, alınan yerine çalışma ortak adı için diğer ad oluşturan sağlayıcıları görünmüyor bu yana kullanan veritabanı ikizleme uygulamalar için çalışmaz.

  • Sahip bir sertifika kısaad için verilmiş.

    • Bu seçenek, tüm uygulamalar için çalışır.

Bir küme üzerinde şifreleme

Yük devretme kümesi ile şifreleme kullanmak istiyorsanız, tam dns adıyla, yerine çalışma kümelenmiş sunucu sertifikasını yüklemeniz gerekir örnek yük devretme kümesindeki tüm düğümlerde.İki düğümlü bir küme düğümleri adlı varsa, örneğin, test1.şirketinizin.com ve **test2. Şirketinizin.com ve yerine çalışma kümelenmiş örnek SQL Server adlı fcisql, için bir sertifika edinmeniz gerekir fcisql.şirketinizin.com ve her iki düğümde sertifikası yükleyin.**Şifreleme için yük devretme kümesi yapılandırmak için sonra seçebilirsiniz ForceEncryption onay kutusunu iletişim kuralları için <server> özellik kutusuna sql Server Network Configuration.

Internet Protokolü güvenliği (IPSec)

SQL Server veri iletimi sırasında IPSec kullanılarak şifrelenebilir.IPSec, istemci ve sunucu işletim sistemleri tarafından sağlanan ve Hayır gerektirir SQL Server yapılandırma.IPSec hakkında daha fazla bilgi için Windows veya ağ belgelerine bakın.