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?
quelle
Antworten:
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-SHA
dem 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):MS sagt Windows XP suports TLS_RSA_WITH_RC4_128_SHA , so dass Sie keine Kompatibilitätsprobleme haben sollte.
quelle
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
apt
undyum
sind 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.
quelle
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:
Stellen Sie sicher, dass keine dieser Einstellungen zweimal in der Datei ssl.conf veröffentlicht wurde.
Jetzt bestehen meine Websites mit einem A.
quelle