Aracılığıyla paylaş


Genişletilmiş Koruma İlkesi

Bu makalede ExtendedProtection örneği açıklanmaktadır.

Genişletilmiş Koruma, ortadaki adam (MITM) saldırılarına karşı korunmaya yönelik bir güvenlik girişimidir. MITM saldırısı, BIR MITM'nin istemcinin kimlik bilgilerini alıp bir sunucuya ilettiği bir güvenlik tehdididir.

Tartışma

Uygulamalar HTTPS kullanarak Kerberos, Özet veya NTLM kullanarak kimlik doğrulaması yaparken, önce bir Aktarım Düzeyi Güvenliği (TLS) kanalı oluşturulur ve ardından güvenli kanal kullanılarak kimlik doğrulaması gerçekleştirilir. Ancak, SSL tarafından oluşturulan oturum anahtarı ile kimlik doğrulaması sırasında oluşturulan oturum anahtarı arasında bir bağlama yoktur. Herhangi bir MITM, istemci ile sunucu arasında kendisini kurabilir ve aktarım kanalının kendisi güvenli olsa bile istemciden gelen istekleri iletmeye başlayabilir, çünkü sunucunun güvenli kanalın istemciden mi yoksa MITM'den mi kurulduğunu bilmesi mümkün değildir. Bu senaryoda çözüm, dış TLS kanalını iç kimlik doğrulama kanalına bağlamaktır, böylece sunucu bir MITM olup olmadığını algılayabilir.

Uyarı

Bu örnek yalnızca IIS'de barındırıldığında çalışır.

Uyarı

Aşağıdaki adımlar Windows 7'ye özeldir.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Denetim Masası, Program Ekle/Kaldır, Windows Özellikleri'nden Internet Information Services'ı yükleyin.

  2. Windows Özellikleri, Internet Information Services, World Wide Web Services, Güvenlik ve Windows Kimlik Doğrulaması'nda Windows Kimlik Doğrulamasını yükleyin.

  3. Windows Özellikleri içinde, Microsoft .NET Framework 3.5.1 ve Windows Communication Foundation HTTP Etkinleştirme'ye Windows Communication Foundation HTTP Etkinleştirme'yi yükleyin.

  4. Bu örnek, istemcinin sunucuyla güvenli bir kanal oluşturmasını gerektirdiğinden, Internet Information Services (IIS) Yöneticisi'nden yüklenebilen bir sunucu sertifikasının varlığını gerektirir.

    1. IIS Yöneticisi'ni açın. Kök düğüm (makine adı) seçildiğinde Özellik Görünümü sekmesinde görünen Sunucu sertifikaları'nı açın.

    2. Bu örneği test etme amacıyla otomatik olarak imzalanan bir sertifika oluşturun. Tarayıcının sertifikanın güvenli olmadığını size sormasını istemiyorsanız, sertifikayı Güvenilen Sertifika Kök yetkili deposuna yükleyin.

  5. Varsayılan Web sitesinin Eylemler bölmesini açın. Siteyi Düzenle, Bağlamalar'a tıklayın. HTTPS'i tür olarak, henüz yoksa 443 numaralı bağlantı noktasıyla ekleyin. Önceki adımda oluşturulan SSL sertifikasını atayın.

  6. Hizmeti oluşturun. Bu, IIS'de bir sanal dizin oluşturur ve hizmetin Web'de barındırılması için gereken .dll, .svc ve .config dosyalarını kopyalar.

  7. IIS Yöneticisi'ni açın. Önceki adımda oluşturulan sanal dizine (ExtendedProtection) sağ tıklayın. Uygulamaya Dönüştür'ü seçin.

  8. Bu sanal dizin için IIS Yöneticisi'nde Kimlik Doğrulama modülünü açın ve Windows Kimlik Doğrulamasını etkinleştirin.

  9. Bu sanal dizin için Windows Kimlik Doğrulaması altında Gelişmiş Ayarlar'ı açın ve Gerekli olarak ayarlayın.

  10. Tarayıcı penceresinden HTTPS URL'sine erişerek hizmeti test edebilirsiniz (Tam nitelikli bir etki alanı adı sağlayın). Bu URL'ye uzak bir makineden erişmek istiyorsanız, güvenlik duvarının tüm gelen HTTP ve HTTPS bağlantıları için açıldığından emin olun.

  11. İstemci yapılandırma dosyasını açın ve <<full_machine_name>> yerine, istemci veya uç nokta adresi özniteliği için tam nitelikli bir alan adı sağlayın.

  12. İstemciyi çalıştırın. İstemci, güvenli bir kanal oluşturan ve genişletilmiş koruma kullanan hizmetle iletişim kurar.