Correzione della vulnerabilità BEAST su Apache 2.0 in esecuzione su RHEL 4


11

Ho un server web che esegue Apache 2.0 su RHEL4. Questo server ha recentemente fallito una scansione PCI.

Motivo: protocollo SSLv3.0 / TLSv1.0 vulnerabilità della modalità CBC debole Soluzione: questo attacco è stato identificato nel 2004 e versioni successive del protocollo TLS che contengono una correzione per questo. Se possibile, eseguire l'aggiornamento a TLSv1.1 o TLSv1.2. Se l'aggiornamento a TLSv1.1 o TLSv1.2 non è possibile, la disabilitazione delle crittografie in modalità CBC rimuoverà la vulnerabilità. L'uso della seguente configurazione SSL in Apache mitiga questa vulnerabilità: SSLHonorCipherOrder Su SSLCipherSuite RC4-SHA: ALTO:! ADH

Soluzione semplice, ho pensato. Ho aggiunto le linee alla configurazione di Apache e non ha funzionato. Apparentemente
"SSLHonorCipherOrder On" funzionerà solo su Apache 2.2 e versioni successive. Ho provato ad aggiornare Apache, presto mi sono imbattuto in un inferno di dipendenza e sembra che dovrò aggiornare l'intero sistema operativo per aggiornare ad Apache 2.2. Ritireremo questo server tra qualche mese, quindi non ne vale la pena.

La soluzione dice "Se l'aggiornamento a TLSv1.1 o TLSv1.2 non è possibile, la disabilitazione delle crittografie in modalità CBC rimuoverà la vulnerabilità".

Come lo farei su Apache 2.0? È possibile? In caso contrario, ci sono altre soluzioni?


3
Poiché il supporto di aggiornamento esteso per RHEL4 (.7) è terminato un anno fa, suggerisco forse di ritirare il server prima piuttosto che dopo. Altrimenti, probabilmente dovrai creare apache 2.2 dal sorgente.
DerfK,

Il nuovo server è pronto ma non possiamo migrare fino a dicembre. Sì, la compilazione e l'installazione di Apache 2.2 dai sorgenti è l'ultima opzione per ora. Mi chiedevo se c'è un modo più semplice per aggirare?
Debianuser

Risposte:


11

Oltre a compilare manualmente un Apache più recente, l'unica cosa che mi viene in mente sarebbe quella di rendere RC4-SHA l' unico codice supportato (testato con openssl ciphers RC4-SHAl'attuale openssl per assicurarsi che stampi solo un codice, potresti voler fare lo stesso per assicurarti che non corrisponda a qualche strano vecchio codice sul tuo vecchio openssl):

SSLCipherSuite RC4-SHA

MS Windows XP dice Suports TLS_RSA_WITH_RC4_128_SHA quindi non dovreste avere problemi di compatibilità.


1
Esattamente quello che stavo cercando. Ho provato con successo usando beast-check.googlecode.com/files/beast.pl . Pianificherò una scansione PCI e ti farò sapere una volta fatto.
Debianuser

Posso confermare che ha funzionato. Il server ha superato una scansione PCI. Grazie mille.
Debianuser

6

Esistono solo due modi per "correggere" BEAST a livello di server.

L'opzione migliore è aggiornare la libreria SSL del tuo server a una che supporti TLS v1.1 o successive (e assicurati che anche i tuoi client lo supportino, così puoi costringerli ad usarlo).

L'altra opzione è disabilitare qualsiasi algoritmo di crittografia CBC (Cypher-Block-Chaining) e passare al crittografo ECB (Electronic Code Book) o qualcosa di simile a RC4 (gli algoritmi ECB sono teoricamente "meno sicuri" perché un determinato input in testo semplice crittografato su un determinato key si ricollega sempre allo stesso testo cifrato che rende più semplice la rottura con noti attacchi in chiaro, ma in termini pratici questo non è probabilmente un grosso problema. Google (come esempio) usa ancora RC4).

Poiché il server che stai eseguendo è morto, sepolto e in decomposizione, questo probabilmente non vale la quantità di sforzo necessaria per costruire un Apache con patch (dovrai ricostruire Apache e OpenSSL in isolamento, in modo da non sconvolgere nulla che richiede la versione di OpenSSL installata sul tuo sistema di default - Se stai facendo così tanto lavoro potresti anche aggiornare l'intero sistema a qualcosa che è effettivamente supportato), in modo che ti lasci praticamente con "Passa a Cyphers ECB" come la tua soluzione praticabile.


Al giorno d'oggi BEAST è davvero un attacco di niente: tutti i browser più diffusi (IE, Chrome, Safari, Opera) hanno implementato una soluzione efficace e, a causa del modo in cui l'attacco funziona , è piuttosto difficile da implementare al di fuori di un browser (così apte yumsono ancora abbastanza sicuri).

Adam Langley di Google ha tenuto un eccellente discorso all'inizio di quest'anno che delinea alcuni dei punti dolenti su cui dovresti concentrarti in merito a: SSL e sicurezza - Mentre BEAST ha guadagnato una menzione, era quasi in fondo all'elenco delle cose di cui preoccuparsi.


RC4 non è un codice in modalità BCE. L'uso della modalità ECB sarebbe un grosso errore e ci sono buone ragioni per cui TLS non ha supportato le suite di cifratura della BCE. L'uso di un codice di flusso come RC4 è un'idea molto meno negativa, anche se i risultati recenti indicano che sembra meno bello di quanto non fosse isg.rhul.ac.uk/tls
armb

4

L'unica soluzione che ho trovato che ti consentirà di superare il test ssllabs.com è aggiungere le seguenti quattro righe al tuo apache httpd.conf e ai tuoi file ssl.conf:

SSLHonorCipherOrder On

Protocollo SSL -all + TLSv1 + SSLv3

SSLCipherSuite RC4-SHA: HIGH:! MD5:! ANULL:! EDH:! ADH

SSLInsecureRenegotiation off

Assicurarsi di non avere nessuna di queste impostazioni pubblicate due volte nel file ssl.conf.

Ora i miei siti passano con una A.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.