Geschrieben von usa am 27.10.2014
Übersetzt von Quintus
Wir haben die Standardeinstellungen von ext/openssl in Ruby 2.1.4, Ruby 2.0.0-p594 und Ruby 1.9.3-p550 so verändert, dass unsichere SSL/TLS-Optionen nun standardmäßig deaktiviert sind. Jedoch kann es aufgrund dieser Änderung zu Problemen in der SSL-Verbindung kommen.
Details
OpenSSL implementiert aus historischen Gründen noch immer einige Protokolle und Chiffren, die aus heutiger Sicht unsicher sind, darunter etwa die Sicherheitslücke POODLE (CVE-2014-3566). Wenn Sie weiterhin diese unsicheren Features von OpenSSL nutzen, riskieren Sie die Sicherheit der Netzwerkverbindungen. Daher haben wir aufgrund der Diskussion in Bug #9424 entschieden, solch unsichere SSL/TLS-Optionen standardmäßig zu deaktivieren. Wenn Sie müssen, können Sie diese Änderung (wie unten gezeigt) durch Anwendung eines Inverspatches rückgängig machen.
Wenn Sie diese Änderung allerdings rückgängig machen, besteht das Risiko, dass Sie die Sicherheit von Netzwerkverbindungen nicht mehr garantieren können. Sie sollten daher die Folgen dieser Änderung verstehen, bevor Sie sie entfernen.
Mit Ruby verteile Bibliotheken
Diese Änderung wurde in den Bibliotheken net/http, net/imap und net/pop umgesetzt. Da DRb und WEBrick ihre Einstellungen separat erhalten, sind sie von der Änderung nicht betroffen.
Skripte, die ext/openssl direkt verwenden
Diese Änderung wird bei der Instanziierung eines
OpenSSL::SSL::SSLContext
automatisch beachtet, wenn die
Instanzmethode set_params
aufgerufen wird, wie etwa insbesondere in
folgendem Code:
Hinsichtlich der klientseitigen Nutzung von ext/openssl gehen wir davon aus, dass diese Änderung wohl keine Probleme machen wird. Wenn Sie ext/openssl allerdings serverseitig ein- und diese Änderung umsetzen, sind ältere Clients (beispielsweise Internet Explorer 6 auf Windows XP oder Browser in alten Mobiltelefonen) möglicherweise nicht mehr in der Lage, sich zum Server zu verbinden.
Es ist Ihre Entscheidung, ob Sie diese Änderung einführen oder nicht; setzen Sie sich mit den Nachteilen auseinander.
Workaround
Wenn Sie Ihr Ruby nicht aktualisieren können, aber dennoch mit unsicheren SSL/TLS-Optionen umgehen müssen, wenden Sie den folgenden Monkeypatch an:
Von dieser Änderung betroffene Versionen
- Ruby 1.9.3 patchlevel 550 und später
- Ruby 2.0.0 patchlevel 594 und später
- Ruby 2.1.4 und später
- Revision 48097 und später auf dem Trunk
Geschichte
- Erstmals veröffentlicht am 27.10.2014 12:00:00 (UTC)