it-swarm-eu.dev

Jak opravit SSL 2.0 a BEAST na IIS

Jak vidíte na tomto příspěvku TeamMentor.net zranitelný vůči BEAST a SSL 2.0, nyní co? aplikace, kterou jsem v současné době vyvíjel, byla označena SSL SSL a BEAST laboratořemi SSL.

Používám IIS 7.0 s nejnovějšími opravami) a zdá se, že nenajdu odpovědi na tyto otázky:

  • Jaký je rizikový dopad této chyby zabezpečení na webu, jako je http://teammentor.net ?
  • Jaké jsou scénáře vykořisťování?
  • Existuje nějaké zmírnění (nebo ne) použitím IIS 7.0?
  • Jak to vyřeším v IIS 7.0?
  • Lze něco udělat na aplikační vrstvě?

Zde je několik dalších otázek security.stackexchange.com k tomuto tématu:

31
Dinis Cruz

V IIS 7 (a 7.5) je třeba udělat dvě věci:

  1. Přejděte na: Start> 'gpedit.msc'> Konfigurace počítače> Šablony správce> Síť> Nastavení konfigurace SSL> Pořadí SSL Cipher Suite (v pravém podokně otevřete dvojitým kliknutím). Tam zkopírujte a vložte následující (položky jsou odděleny jednou čárkou, ujistěte se, že není zalomení řádku):

    TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_RC4_128_MD5, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P521, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P521, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P521, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P521, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH _AES_128_CBC_SHA_P256

  2. Spusťte následující příkazy prostředí PowerShell jako správce (zkopírujte-vložte do programu Poznámkový blok, uložte jako 'fix-beast-in-iis.ps1' a spusťte se zvýšenými oprávněními):

    #make TSL 1.2 protocol reg keys
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2"
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server"
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"
    
    # Enable TLS 1.2 for client and server SCHANNEL communications
    new-itemproperty -path     "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
    
    # Make and Enable TLS 1.1 for client and server SCHANNEL communications
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1"
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server"
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" 
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -name "Enabled" -value 1 -PropertyType "DWord"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -name "Enabled" -value 1 -PropertyType "DWord"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
    
    # Disable SSL 2.0 (PCI Compliance)
    md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server"
    new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"
    

Po spuštění skriptu můžete spustit příkaz „regedit“ a ujistit se, že klíče ve skriptu byly skutečně vytvořeny správně. Poté se změna projeví.

VAROVÁNÍ: Všimněte si, že jsem nevypnul SSL 3.0 - důvodem je skutečnost, že ať už se vám to líbí nebo ne, stále jsou tam lidé používající Windows XP s IE 6/7. Bez aktivovaného SSL 3.0 nebude existovat žádný protokol, na který by se tito lidé mohli vrátit zpět. I když se vám stále nedaří získat dokonalost při kontrole SSL Labs Qualys, většina děr by měla být uzavřeno podle předchozích kroků. Pokud chcete dosáhnout absolutního souladu s PCI, můžete zkopírovat řádky z části Zakázat SSL 2.0 skriptu Powershell, vložit je na konec skriptu a změnit je na následující:

# Disable SSL 3.0 (PCI Compliance)
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server" -name Enabled -value 0 -PropertyType "DWord"

Poté při spuštění skriptu zakážete SSL 2.0, SSL 3.0 a povolíte TLS 1.1 a 1.2.

28
Josh

Právě jsem zveřejnil aktualizaci na IIS Crypto , což je bezplatný nástroj, který nastavuje klíče registru schannel a jediným kliknutím umístí RC4 na začátek objednávky sady šifrování SSL. Tím se sníží útok BEAST na Windows Server 2008 a 2012.

19
Jeff

Pokud jde o skutečná rizika, je těžké říci. I když to nástroje jako SSL Labs hlásí jako vysokou prioritu, nejsem si vědom žádných skutečných útoků, které by to zneužívaly ve volné přírodě, az mého (velmi omezeného) porozumění tomu, jak útok funguje, je provádění poměrně složité a existuje spousta předběžných - usiluje o to, aby se z něj stala skutečná hrozba. Už jste se spojili se spoustou zdrojů, takže není třeba opakovat to, co již bylo pokryto.

Pokud jde o konfiguraci IIS 7 pro použití RC4, možná tento pdf vám může pomoci?

2
Yoav Aner

zakázání všeho "RC4" pomocí IIS Crypto povoleno projít testem souladu PCI na serveru 2008/IIS 7.0)

1

Následující soubor registru zakáže SSLv2 a SSLv3 ve většině implementací systému Windows.

Vytvořte soubor REG s následujícími detaily a spusťte jej.

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
"DisabledByDefault"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000

Nejjednodušší způsob, jak si ověřit, je opětovné použití laboratoří SSL nebo testování pomocí OpenSSL. Nic nestojí za to, že některé verze OpenSSL nepodporují SSL verzi 2.

OpenSSL 0.9.8t to podporuje a jedná se o verzi, kterou používám pro testování.

openssl s_client -connect subdomain.domain.tld: 44 -ssl2

Toto je můj příkaz jít zkontrolovat šifry řetězových bloků pomocí openssl. Myšlenka je taková, že bychom s ní neměli být spojeni.

openssl s_client -connect subdoména.doména.tld: 44 -tls1 - rozlišovací SRP-DSS-AES-256-CBC-SHA: SRP-RSA-AES-256-CBC-SHA: SRP-AES- 256-CBC-SHA: PSK-AES256-CBC-SHA: SRP-DSS-AES-128-CBC-SHA: RP-RSA-AES-128-CBC-SHA: SRP-AES-128-CBC-SHA: IDEA- CBC-SHA: PSK-AES128-CBC-SHA: SRP-DSS-3DES-EDE-CBC-SHA: SRP-RSA-3DES-EDE-CBC-SHA: SRP-3DES-EDE-CBC-SHA: PSK-3DES- EDE-CBC-SHA: EDH-RSA-DES-CBC-SHA: EDH-DSS-DES-CBC-SHA: DH-RSA-DES-CBC-SHA: DH-DSS-DES-CBC-SHA: DES-CBC- SHA

0
david_k