Domanda:
Come correggere SSL 2.0 e BEAST su IIS
Dinis Cruz
2012-04-30 17:14:51 UTC
view on stackexchange narkive permalink

Come puoi vedere in questo post TeamMentor.net vulnerabile a BEAST e SSL 2.0, e adesso? l'app che sto attualmente sviluppando è stata contrassegnata per SSL 2.0 e BEAST da SSL Labs.

Utilizzo IIS 7.0 con le ultime patch e non riesco a trovare le risposte a queste domande:

  • Qual è l'impatto sul rischio di questa vulnerabilità su un sito come http://teammentor.net?
  • Quali sono gli scenari di exploit?
  • C'è qualche mitigazione (o meno) dall'uso di IIS 7.0?
  • Come posso risolvere questo problema in IIS 7.0?
  • Si può fare qualcosa a livello di applicazione?

Per riferimento ecco un paio di altre domande di security.stackexchange.com su questo argomento:

Indipendentemente da ciò che fai riguardo a BEAST, disattiva SSLv2.
Qualche suggerimento su come risolvere questo problema in IIS 6.0?
Cinque risposte:
#1
+28
Josh
2012-08-22 01:45:16 UTC
view on stackexchange narkive permalink

In IIS 7 (e 7.5), ci sono due cose da fare:

  1. Vai a: Start> "gpedit.msc"> Configurazione computer> Modelli amministratore> Rete> Impostazioni di configurazione SSL> Ordine SSL Cipher Suite (nel riquadro di destra, fare doppio clic per aprire). Lì, copiare e incollare il seguente (le voci vengono separati da una virgola, assicurarsi che non c'è alcuna linea di confezionamento):

    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. Esegui i seguenti comandi PowerShell come amministratore (copia-incolla in Blocco note, Salva con nome 'fix-bestia-in- iis.ps1 'ed eseguito con privilegi elevati):

      #make TSL 1.2 protocol reg keysmd "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 "# Abilita TLS 1.2 per client e server SCHANNEL comunicazioni
    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 "-valore 0 -PropertyType "DWord" # Crea e abilita TLS 1.1 per client e server SCHANNEL communicationsmd "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 \ Prot ocols \ TLS 1.1 \ Client "new-itemproperty -path" HKLM: \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.1 \ Server "-name" Abilitato "-valore 1 -PropertyType" DWord "new-itemproperty - percorso "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" # Disabilita 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 " 

Dopo aver eseguito lo script, puoi eseguire "regedit" e assicurarti che le chiavi nello script siano state effettivamente create correttamente. Quindi riavvia per rendere effettive le modifiche.

ATTENZIONE: nota che non ho disattivato SSL 3.0, il motivo è dovuto al fatto che, piaccia o no, ci sono ancora persone là fuori utilizzando Windows XP con IE 6/7. Senza SSL 3.0 abilitato, non ci sarebbe alcun protocollo a cui queste persone possano ricorrere. Anche se potresti ancora non ottenere un risultato perfetto su una scansione Qualys SSL Labs, la maggior parte dei buchi dovrebbe essere chiusa seguendo i passaggi precedenti. Se desideri una conformità PCI assoluta, puoi copiare le righe dalla sezione Disabilita SSL 2.0 dello script Powershell, incollarle alla fine dello script e modificarle come segue:

  # Disable SSL 3.0 (conformità PCI) 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 " 

Quindi, quando esegui lo script, disabiliti SSL 2.0, SSL 3.0 e abiliti TLS 1.1 e 1.2.

Bella risposta. Sembra familiare (http://derek858.blogspot.com/2010/06/enable-tls-12-aes-256-and-sha-256-in.html).
[IISCrypto] (https://www.nartac.com/Products/IISCrypto/Default.aspx) è un ottimo strumento per configurare IIS / TLS
Gli utenti WinXP possono installare Firefox o Chrome per ottenere il supporto TLS, no?
#2
+19
Jeff
2012-12-12 22:19:03 UTC
view on stackexchange narkive permalink

Ho appena pubblicato un aggiornamento a IIS Crypto che è uno strumento gratuito che imposta le chiavi di registro schannel e mette RC4 in cima all'ordine della suite di crittografia SSL con un solo clic. Questo mitiga l'attacco BEAST su Windows Server 2008 e 2012.

Adoro questo strumento! Molto più facile che scherzare con le voci del registro,
#3
+2
Yoav Aner
2012-04-30 18:43:14 UTC
view on stackexchange narkive permalink

Per quanto riguarda i rischi effettivi , sembra difficile da dire. Sebbene strumenti come SSL Labs lo segnalino come priorità alta, non sono a conoscenza di alcun attacco reale che lo sfrutti in natura e dalla mia (molto limitata) comprensione di come funziona l'attacco, è piuttosto complicato da eseguire e ci sono molti pre -requisiti per renderlo una vera minaccia. Hai già collegato a molte risorse, quindi non ha senso ripetere ciò che è già trattato.

Per quanto riguarda la configurazione di IIS 7 per utilizzare RC4, forse questo pdf può essere d'aiuto?

#4
+1
Konstantin Salavatov
2016-01-14 14:38:25 UTC
view on stackexchange narkive permalink

disabilitando tutto "RC4" con IIS Crypto ha consentito di superare il test di conformità PCI su Server 2008 / IIS 7.0

#5
  0
david_k
2016-01-14 18:41:08 UTC
view on stackexchange narkive permalink

Il seguente file di registro disabiliterà SSLv2 & SSLv3 sulla maggior parte delle implementazioni di Windows.

Crea un file .reg con i seguenti dettagli ed esegui.

  Versione dell'editor del registro di Windows 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" = HKEYMACH0001 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 \ CurrentContret 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  

Il modo più semplice per verificare è u cantare di nuovo SSL labs o testare utilizzando OpenSSL. Non vale nulla che alcune versioni di OpenSSL non supportino SSL Versione 2.

OpenSSL 0.9.8t lo supporta ed è la versione che uso per i test.

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

Questo è il mio comando go to per verificare la presenza di cifrari a blocchi a catena usando openssl. L'idea è che non dovremmo ottenere una connessione con nessuno di questi.

openssl s_client -connect subdomain.domain.tld: 443 -tls1 -cipher 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



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...