Verursacht die Verwendung von SSL einen erheblichen Leistungseinbruch?

7

Ich versuche zu entscheiden, ob SSL für eine Webanwendung verwendet werden soll. Es verarbeitet keine Kreditkarten oder Finanzdaten, speichert jedoch Informationen, die aus persönlichen / sozialen Gründen privat sein sollten. Es gibt auch die üblichen Benutzerregistrierungs- und Anmeldefunktionen, die möglicherweise geschützt werden sollten.

Ich weiß, dass es bei SSL zu Leistungseinbußen kommen wird, da Server und Client verschlüsselt und entschlüsselt werden. Soweit ich weiß, werden verschlüsselte Daten nicht so stark komprimiert, sodass Apache mod_deflatewahrscheinlich nicht so gut funktioniert.

Wie bedeutend ist der voraussichtliche Leistungseinbruch? Ich habe vor, einige Tests durchzuführen, aber ich würde mich trotzdem für Kommentare interessieren, die auf Erfahrung basieren.

Agvorth
quelle
4
mod_deflate komprimiert HTTP-Antworten, die sich auf einer höheren Ebene als die SSL-Verschlüsselung befinden. Der Server komprimiert also einfache Daten und verschlüsselt sie erst dann , was bedeutet, dass sie immer noch so effektiv sind, wie sie sein sollten (und auch sicherer).
Benutzer1686

Antworten:

3

Bei jeder Verbindung tritt ein spürbarer Leistungseinbruch für den PKI-Overhead auf. Die eigentliche Datenübertragung mit symmetrischen Schlüsseln hat relativ wenig Aufwand. Genaue Verhältnisse und Kosten hängen von Ihrem speziellen Hardware- / Software-Stack ab.

Im Allgemeinen ist der Aufwand für die Übertragung vieler Daten gering. Der Aufwand für viele kleine Verbindungen (z. B. https für viele kleine Bilder) ist viel größer. Sie können Teile einer Seite auswählen, um sie zu schützen. Es muss nicht alles oder nichts sein.

Wenn Sie Ihre Tests und Benchmarks durchführen, werden Sie vermutlich feststellen, dass der allgemeine Leistungseinbruch gering und erträglich ist.

mpez0
quelle
7

Wenn Sie sich Sorgen um die Leistung machen, sollte SSL nur von Ihrer Gesamtstrategie getrennt sein. Ich verwalte mehrere Websites für einige Fortune-5-Unternehmen, die Millionen von Treffern pro Tag und Tausende von eindeutigen Besuchern sehen, und wir verwenden kein SSL beim Laden. Wir haben festgestellt, dass sich die meisten unserer Bedenken hinsichtlich des Ladens auf die Codebasis und die von uns verwendeten Bibliotheken von Drittanbietern konzentrieren (hauptsächlich .NET, Java).

Wenn Sie also Bedenken hinsichtlich der SSL-Auslastung haben, sollten Sie dies nicht tun, es sei denn, Sie haben auch Bedenken hinsichtlich anderer Aspekte wie der Codeleistung bei starkem Datenverkehr, mit dem Sie sich ebenfalls befassen. Und Laden bedeutet hier wirklich Speicherbedarf und CPU ... Es ist einfach, Verkehrslasten zu beheben. Es sind diese anderen Lasten, die meistens wichtig sind oder zuerst ins Spiel kommen.

Kilo
quelle
Stellen Ihre Websites mehr HTTP- oder HTTPS-Antworten bereit? Ja, es gibt andere Engpässe (schlechter Code möglicherweise der schlimmste), aber die vollständige Verschlüsselung / Entschlüsselung auf jeder Seite ist wichtiger als Sie vermuten. Bsc.es/media/389.pdf - Codeoptimierung ist teurer als Netzwerkhardware schlagen die OP-Stresstests vor.
Andy
2

Ja, es verursacht einen gewissen Grad an Last und es lohnt sich, auf einen Load Balancer mit installierten SSL-Modulen zu verlagern. Allerdings , wenn Sie einen Server verwenden müssen, jede Last , die es erstellt wert sein Gewicht , wenn Sie es zu tun jeden sensiblen Daten, obwohl , ob persönliche Daten als sensibel ist eine andere Frage ist (abgesehen von Login, soziale Netzwerke neigen nicht https zu verwenden) .

Versuchen Sie ab für Stresstests über HTTP und HTTPS, um den Unterschied festzustellen, und aktivieren Sie mod_ssl nur in den Abschnitten: 443 in Ihrem vhost.confusw.

verschlüsselte Daten werden nicht so stark komprimiert

SSL verfügt über eigene Komprimierungsprotokolle , deren Client-Nutzung Sie überwachen können. Verwenden Sie zum Erhöhen der Anforderungsgeschwindigkeit unbedingt das SSL-Sitzungs-Caching

Andy
quelle
1

Es wird einen leichten Leistungseinbruch geben, weshalb die meisten Websites normalerweise nur SSL in den Registrierungs- und Anmeldeformularen benötigen, um sicherzustellen, dass die Daten sicher gesendet werden. Danach wird das Surfen ohne SSL fortgesetzt.

gekkz
quelle
1
... und ist anfällig für Sitzungsentführungen
Jakub Narębski