WordPress sicher machen: B2B-Shops – nur mit Zwei-Faktor-Authentifizierung

Die Nutzung von WordPress als E-Commerce-Lösung wird immer populärer. Vor allem weniger finanzstarke Unternehmen sehen hier ihre Chance, mit kostengünstig programmierten Shops oder billigen Out-of-the-box-Lösungen in den Onlinevertrieb einzusteigen. Fragen zur Anwendungs- und Datensicherheit sind dabei Themen, die häufig zugunsten der Bequemlichkeit und Kostenersparnis ausblendet werden. Wenige Kunden machen sich Gedanken über die Sicherheit ihrer Internetseite und per Gesetz verordneter Maßnahmen, die ein kommerzieller Webseitenbetreiber zu Sicherung von Kunden- und Nutzerdaten ergreifen muss.

Hier betrachten wir, wie es um die Sicherheit von WordPress im E-Commerce bestellt ist, welche potenziellen Sicherheitslücken es gibt und wie sich die Anwendungssicherheit eines B2B-Shops erhöhen lässt. Dabei richten wir besonderes Augenmerk auf eine der größten Schwachstellen von WordPress: den Login.


wordpress b2b shops, zwei-faktor-authentifizierung, wordpress shops sicher machen

Wo liegen Sicherheitsprobleme von WordPress?

WordPress brüstet sich schon lange mit seiner berühmten „5-Minuten-Installation“, die prinzipiell jeder Anwender ohne größere technische Vorkenntnisse auf einem Server ausführen kann. Bereits in der Art und Weise, wie WordPress-Daten auf einem Webserver abgelegt werden, liegen häufig die ersten Fallstricke. Im Gegensatz zu vergleichbaren CMS werden bei einer WordPress-Installation alle Anwendungsdateien in das öffentliche Webverzeichnis des Servers gespeichert. An und für sich ist das kein Problem, doch im Falle eines gelungenen Hacks stehen dem Eindringlich tatsächlich Tür und Tor offen: Er kann sich ggf. sehr schnell Zugriff auf alle relevanten Dateien, Passwörter und Datenbanken und damit auch auf sensible Kundendaten verschaffen.

Weiterhin bietet die hohe Standardisierung einer open-source-basierten WordPress-Seite nicht nur Vorteile – sie kann ebenfalls zum Sicherheitsproblem werden: Hacker können sehr leicht die Programmstrukturen und Quelltexte von WordPress und seiner Plugins auf Schwachstellen durchforsten und diese gegebenenfalls für ihre Zwecke nutzen. Eine stetige Aktualisierung der Anwendung, Themes und Plugins ist deshalb ein wichtiger Sicherheitsaspekt.

Eine große Schwachstelle von WordPress liegt im Login. Tatsächlich finden auf Login-Formularen der Software täglich Millionen botgesteuerter, illegaler Anmeldeversuche statt, die besonders das Admin-Konto aber auch weitere User-Konten im Visier haben. Aus diesem Grund ist es besonders wichtig seinen WordPress-Admin-Bereich auf dem Server mit besonders zu schützen und ungenutzte und damit unüberwachte Nutzerkonten regelmäßig zu entfernen. Idealerweise verzichtet man direkt auf den Nutzernamen „admin“ und achtet auf ein entsprechend starkes Passwort, um Hacks zu verhindern.

Allgemein gilt: Je mehr Personen an einer Website angemeldet sind, umso mehr Möglichkeiten für einen potenziellen Hack tun sich auf. WordPress-Shops, die jedem aktiven Nutzer eine Login-Möglichkeit und erweiterte Funktionen bieten, stehen nicht ohne Grund im Fokus von Angreifern.

Die Sicherheits-Problematik für B2B-Shops und E-Commerce mit WordPress

In einem B2B-Shop erhalten Geschäftspartner durch einen Login Zugriff zu ihrem Nutzerkonto, mit dem sie diverse Transaktionen und Geschäftsvorfälle abwickeln können. Es versteht sich von selbst, dass hier zahlreiche sensible und personenbezogene Daten, Transaktionsdaten und Zahlungsinformationen hinterlegt werden, die ein Portalbetreiber vor unerlaubten Zugriffen schützen muss. Gelingt es einem Hacker, sich in ein Kundenkonto einzuschleichen, kann er sehr schnell interne und vertrauliche Informationen und im schlimmsten Fall auch Zahlungsdaten abgreifen.

In jeder komplexen Business-Anwendung sollte deshalb eine Zwei-Faktor-Authentifizierung Standard sein – auch in WordPress. Hier bieten sich spezielle Erweiterungen an, die gesicherte Anmeldeverfahren für Nutzer erlauben. Will man kein eigenes Plugin entwickeln (sehr teuer aber ggf. die sicherste Variante), kann man auf wordpress.org bereitgestellte Plugins nutzen. Welche Aspekte bei der Auswahl solcher Tools eine wesentliche Rolle spielen, beleuchten wir gleich. Doch zunächst ein kleiner Exkurs in die Technik:

Was bedeutet das überhaupt „Zwei-Faktor-Authentifizierung“?

Im Grunde lässt sich dies ganz einfach zusammenfassen: Wenn diese Sicherheitsmaßnahme auf einem Internetportal aktiviert ist, benötigt ein User für die Registrierung und den Login in sein Konto nicht nur einen Nutzernamen und ein Passwort, sondern zusätzlich einen zweiten Sicherheitsschlüssel den er nur von seinem Seitenbetreiber erhalten kann. Es gibt damit also eine zweite Komponente, die für den Login erforderlich ist. Meist handelt es sich hierbei um einen mehrstelligen Bestätigungscode.

Die Zwei-Faktor-Authentifizierung (2FA) wird auch als Mehr- oder Multi-Faktor-Authentifizierung (MFA) bezeichnet. Sie hat im Bereich der IT-Sicherheit in den letzten Jahren stark an Bedeutung gewonnen und ist auf vielen Onlineplattformen wie Goolge, Facebook, Twitter, Github oder PayPal etabliert. Nutzer erhalten damit eine Möglichkeit, ihre Konten vor Missbrauch zu schützen.

Prinzipiell ist es auch in einem CMS möglich, dieses Anmeldeverfahren anzuwenden. Man kann dabei nur einzelne Nutzer zu einer Zwei-Faktor-Authentifizierung verpflichten – etwa die Admin-Accounts. Alternativ können aber auch alle Nutzern oder solche mit einem besonderen Status für diese Login-Methode vorgesehen werden.

Zur Übermittlung und dem Versand von Sicherheitsschlüsseln stehen heute digitale Tools zur Verfügung. Hier kommt das Smartphone ins Spiel, das als Generator für die Erstellung sogenannter User Tokens genutzt werden kann.

Der Ablauf lässt sich so beschreiben: Ist die Verwendung von Tokens für einen Nutzer konfiguriert, kann für diesen ein SecretKey generiert werden. Dieser wird verschlüsselt auf dem Server gespeichert, um einem Diebstahl vorzubeugen. Diesen Key erhält der Nutzer dann in der Regel mittels QR-Code. Er wird über eine App auf das Smartphone gesendet, dabei wird ein Token generiert, das zur Verifikation zurück an den Server übertragen werden kann. Stimmen das erhaltenen Token des Clients und das auf dem Server generierte (verschlüsselte) Token überein, erhält der Benutzer Zutritt in die Anwendung.

Was macht die Zwei-Faktor-Authentifizierung tatsächlich sicher?

Wichtig zu wissen: Sicherheit ist nicht gleich Sicherheit. Auch für die Erstellung sogenannter One-Time-Passwords gibt es Industriestandards. Zwei solcher zertifizierten TFA- oder 2FA-Algorithmen sind TOTP oder HOTP.

HOTP steht für „HMAC-based One-time Password Algorithmus“. Der Standard ist in der Spezifikation RFC 4226 beschrieben, das Verfahren ist ereignisgesteuert. TOTP steht dagegen für „Time-based One-time Password“, es wird also ein zeitgesteuertes Einmalkennwort erzeugt. Dieses Verfahren gehört heue zu den bekanntesten MFA und ist in unterschiedlichen Lösungen in Verwendung, etwa bei Sophos Authenticator und Google Authenticator. TOTP wurde 2011 von der Internet Engineering Task Force (IETF) veröffentlicht. Die technischen Spezifikationen des Algorithmus sind unter der RFC-ID 6238 beschrieben.

Bei der Entwicklung oder bei der Auswahl eines WordPress-Plugins ist darauf zu achten, dass solche zertifizierten Verschlüsselungsalgorithmen und Verfahren genutzt werden, und natürlich müssen die Plugins für die erforderlichen Zwecke kompatibel sein.

Sicherheitslücken in der Sicherheit

Sie werden es nicht glauben: Auch bei der Installation von Sicherheits-Plugins können Sicherheitslücken entstehen, beispielsweise, wenn das Plugin an sich schon fehlerhaft ist, oder, wenn ein Verfahren nicht sauber implementiert wird. Zur sicheren Implementierung der Zwei-Faktor-Authentifizierung sollte man folgende Vorgaben immer beachten:

  • Zufällig generierte Passwörter müssen kryptografisch komplex sein und mindestens 24 Stellen enthalten.
  • Für jeden Benutzer muss ein eigenes Passwort und einen individuellen Secret Key erstellt werden.
  • Zu kurze One-Time-Passwörter sind anfällig für Brute-Force-Angriffe und müssen vermieden werden.
  • Es wird nur eine eingeschränkte Anzahl von Login-Versuchen pro Intervall erlaubt.
  • Jedes One-Time-Passwort darf innerhalb eines Intervalls nur einmal verwendet werden.
  • Die Übertragung der Keys muss stets verschlüsselt erfolgen.
  • Zur Erstellung der QR-Codes dürfen keine Onlinedienste genutzt werden.

Drei interessante WordPress-Plugins für die Zwei-Faktor-Authentifizierung

Ein Plugin das die TOTP und HOTP-Protokolle und damit auch den Google Authenticator oder Authy sowie andere Apps unterstützt, ist die Erweiterung Two Factor Authentication von David Nutbourne und David Anderson.

Das Plugin bietet nutzerbezogene Aktivierungsmöglichkeiten und Frontend-Editing und erlaubt es in einer Premium Version, bestimmte User-Level für die MFA zu definieren sowie vertrauenswürdige Geräte zu bestimmen, auf denen beispielsweise ein Login-Key nur im Rahmen bestimmter Zeitabstände erforderlich ist. Wichtig für E-Commerce-Interessierte: Das Plugin unterstützt WooCommerce- und Affiliates-Login-Formulare oder WP Members und ist multisite-kompatibel. Mit einem Emergency-Code kann der Zugang bei Verlust eines Geräts gesichert werden.

Das zweite interessante Tool ist iThemes Security von iThemes. Es bietet ähnliche Features wie Two-Factor-Authenitcation und bezeichnet sich selbst als das „Sicherheits-Plugin Nummer 1“ für WordPress. Zur Zwei-Faktor-Authentifizierung nutzt diese Erweiterung ebenfalls eine mobile App wie Google Authenticator oder Authy und den zertifizierten Algorithmus TOTP. Zusätzlich bietet das Tool noch weitere Sicherheitsfeatures, etwa einen Malware-Prüfungsplan, Erhöhung der Passwortsicherheit, Zeiteinstellungen für einen Passwortverfall, eine Benutzer-Aktionenprotokollierung u.v.m.

Zuletzt ist ein kleines Plugin zu nennen, das in einer Opensource-Commuity entwickelt wird und sich alleine auf den Login-Vorgang beschränkt: Two-Factor, das aktiv auf Github entwickelt wird, nutzt ebenfalls die spezifizierten Algorithmen und TOTP. Es ist derzeit kostenlos verfügbar und eignet sich ggf., wenn man das Admin-Konto einer kleineren oder einfachen Website oder einen Blog vor unerlaubten Zugriffen schützen will, ohne weitere Sicherheits-Tools zu bemühen. Hier ist zu bedenken dass das Plugin vollständig open source entwickelt wird. Es ist nicht auszuschließen, dass dies irgendwann zu einer Sicherheitslücke werden kann, etwa, wenn die Entwicklung eingestellt werden sollte.

Allgemein gilt: Einen B2B-Shop mit WordPress ohne angemessene Sicherheitsvorkehrungen zu betreiben, ist ein No-Go. Sparen lohnt sich dabei nicht, denn im Ernstfall kann es teuer werden – vom Markenschaden einmal abgesehen. Eine gehackte Anwendung muss sofort geschlossen werden. Das bedeutet Umsatzeinbußen und verstimmte Kunden. Eingesetzte Sicherheitstools sollten deshalb hohe Qualität bieten und mehr als nur Standard-Anforderungen erfüllen. Kostenfreie Plugins, die Sicherheitsanforderungen nicht oder nur ansatzweise erfüllen, sollte man tunlichst meiden.


Wenn Sie Hilfe bei der Ausgestaltung ihrer Sicherheitsstandards im B2B-Onlinehandel benötigen, kontaktieren Sie uns. Wir helfen Ihnen gerne mit einer kompetenten Beratung weiter.

shares