Behebung der BEAST-Sicherheitsanfälligkeit unter Apache 2.0 unter RHEL 4


11

Ich habe einen Webserver, auf dem Apache 2.0 unter RHEL4 ausgeführt wird. Dieser Server hat kürzlich einen PCI-Scan nicht bestanden.

Grund: SSLv3.0 / TLSv1.0-Protokoll Schwache Sicherheitsanfälligkeit im CBC-Modus Lösung: Dieser Angriff wurde im Jahr 2004 und in späteren Versionen des TLS-Protokolls identifiziert, die eine Korrektur für dieses Problem enthalten. Aktualisieren Sie nach Möglichkeit auf TLSv1.1 oder TLSv1.2. Wenn ein Upgrade auf TLSv1.1 oder TLSv1.2 nicht möglich ist, wird die Sicherheitsanfälligkeit durch Deaktivieren der Chiffren im CBC-Modus behoben. Die Verwendung der folgenden SSL-Konfiguration in Apache verringert diese Sicherheitsanfälligkeit: SSLHonorCipherOrder Auf SSLCipherSuite RC4-SHA: HIGH :! ADH

Einfache Lösung, dachte ich. Ich habe die Zeilen zur Apache-Konfiguration hinzugefügt und es hat nicht funktioniert. Anscheinend
funktioniert "SSLHonorCipherOrder On" nur unter Apache 2.2 und höher. Ich habe versucht, Apache zu aktualisieren, bin bald in die Abhängigkeitshölle geraten und es scheint, dass ich das gesamte Betriebssystem aktualisieren muss, um auf Apache 2.2 zu aktualisieren. Wir stellen diesen Server in ein paar Monaten außer Betrieb, es lohnt sich also nicht.

In der Lösung heißt es: "Wenn ein Upgrade auf TLSv1.1 oder TLSv1.2 nicht möglich ist, wird die Sicherheitsanfälligkeit durch Deaktivieren der Chiffren im CBC-Modus behoben."

Wie würde ich das auf Apache 2.0 machen? Ist das überhaupt möglich? Wenn nicht, gibt es noch andere Problemumgehungen?


3
Da die erweiterte Update-Unterstützung für RHEL4 (.7) vor einem Jahr beendet wurde, empfehle ich, den Server möglicherweise eher früher als später außer Betrieb zu setzen. Andernfalls müssen Sie wahrscheinlich Apache 2.2 aus dem Quellcode erstellen.
DerfK

Der neue Server ist bereit, aber wir können erst im Dezember migrieren. Ja, das Kompilieren und Installieren von Apache 2.2 aus Quellen ist derzeit die letzte Option. Haben Sie sich gefragt, ob es eine einfachere Lösung gibt?
Debianuser

Antworten:


11

Abgesehen davon, dass ich einen neueren Apache von Hand kompiliere, kann ich mir nur vorstellen, RC4-SHA zur einzigen unterstützten Verschlüsselung zu machen (getestet mit openssl ciphers RC4-SHAdem aktuellen openssl, um sicherzustellen, dass nur eine Verschlüsselung gedruckt wird. Vielleicht möchten Sie dasselbe tun um sicherzustellen, dass es nicht mit einer seltsamen alten Chiffre auf Ihrem alten openssl übereinstimmt):

SSLCipherSuite RC4-SHA

MS sagt Windows XP suports TLS_RSA_WITH_RC4_128_SHA , so dass Sie keine Kompatibilitätsprobleme haben sollte.


1
Genau das, wonach ich gesucht habe. Ich habe erfolgreich mit Beast-check.googlecode.com/files/beast.pl getestet . Ich werde einen PCI-Scan planen und Sie informieren, sobald dies abgeschlossen ist.
Debianuser

Ich kann bestätigen, dass dies funktioniert hat. Der Server hat einen PCI-Scan bestanden. Vielen Dank.
Debianuser

6

Es gibt nur zwei Möglichkeiten, BEAST auf Serverebene zu "reparieren".

Die beste Option ist, die SSL-Bibliothek Ihres Servers auf eine zu aktualisieren, die TLS v1.1 oder höher unterstützt (und sicherzustellen, dass Ihre Clients dies auch unterstützen, damit Sie sie zur Verwendung zwingen können).

Die andere Möglichkeit besteht darin, alle CBC-Verschlüsselungsalgorithmen (Cypher-Block-Chaining) zu deaktivieren und auf einen EZB-Chiffrier (Electronic Code Book) oder etwas Ähnliches wie RC4 umzuschalten (EZB-Algorithmen sind theoretisch "weniger sicher", da eine bestimmte Klartexteingabe mit einer bestimmten verschlüsselt ist key ordnet immer denselben Chiffretext zu, was es einfacher macht, mit bekannten Klartextangriffen zu brechen, aber in der Praxis ist dies wahrscheinlich kein großes Problem. Google (als Beispiel) verwendet immer noch RC4).

Da der Server, den Sie ausführen, tot und begraben ist und das Zerlegen wahrscheinlich nicht den Aufwand wert ist, der zum Erstellen eines gepatchten Apache erforderlich wäre (Sie müssen Apache und OpenSSL isoliert neu erstellen, um nichts davon zu stören erfordert die standardmäßig auf Ihrem System installierte Version von OpenSSL - Wenn Sie so viel Arbeit erledigen, können Sie auch das gesamte System auf etwas aktualisieren, das tatsächlich unterstützt wird), so dass Sie so ziemlich "Switch to ECB Cyphers" als Ihre tragfähige Lösung.


BEAST ist heutzutage wirklich ein Nichts-Burger eines Angriffs - Alle gängigen Browser (IE, Chrome, Safari, Opera) haben eine effektive Problemumgehung implementiert , und aufgrund der Funktionsweise des Angriffs ist es ziemlich schwierig, ihn außerhalb eines Browsers zu implementieren (so aptund yumsind immer noch ziemlich sicher).

Adam Langley von Google hielt Anfang dieses Jahres einen ausgezeichneten Vortrag, in dem einige der Schwachstellen beschrieben werden, auf die Sie sich konzentrieren sollten: SSL und Sicherheit - BEAST wurde zwar erwähnt, stand aber ganz unten auf der Liste der Dinge, über die Sie sich Sorgen machen sollten.


RC4 ist keine Verschlüsselung im EZB-Modus. Die Verwendung des EZB-Modus wäre ein großer Fehler, und es gibt gute Gründe, warum TLS keine EZB-Verschlüsselungssuiten unterstützt. Die Verwendung einer Stream-Verschlüsselung wie RC4 ist eine viel weniger schlechte Idee, obwohl die jüngsten Ergebnisse bedeuten, dass sie weniger gut aussieht
armb

4

Die einzige Lösung, die ich gefunden habe, um den ssllabs.com-Test zu bestehen, besteht darin, die folgenden vier Zeilen zu Ihrer Apache-Datei httpd.conf und Ihren Dateien ssl.conf hinzuzufügen:

SSLHonorCipherOrder Ein

SSLProtocol -all + TLSv1 + SSLv3

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

SSLInsecureRenegotiation aus

Stellen Sie sicher, dass keine dieser Einstellungen zweimal in der Datei ssl.conf veröffentlicht wurde.

Jetzt bestehen meine Websites mit einem A.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.