Inhaltsverzeichnis

Eine äußert wichtige und berechtigte Frage! Von mir erstellte Plugins, in denen personenbezogene oder vertrauliche Daten eingegeben werden, enthalten immer eine Methode um diese auf sichere Weise verschlüsselt abzulegen. Lass mich das kurz genauer beschreiben.

Vorbemerkung

Hierbei geht es nicht um die Erstellung von Backups. Das Thema dieses Beitrag ist eine Beschreibung, wie von mir entwickelte Plugins mit schützenswerten Daten umgehen. Für die Sicherung der Daten deiner Website bist du als Website-Betreiber verantwortlich.

Grundgedanken

Es gibt verschiedene Methoden um Verschlüsselungen umzusetzen. Das deutsche Bundesministerium für Sicherheit hat hier dazu einen Artikel bereitgestellt: https://www.bsi.bund.de/DE/Themen/Verbraucherinnen-und-Verbraucher/Informationen-und-Empfehlungen/Cyber-Sicherheitsempfehlungen/Daten-sichern-verschluesseln-und-loeschen/Datenverschluesselung/datenverschluesselung_node.html

Sie empfehlen den Einsatz des Advanced Encryption Standard (AES), was nach aktuellen Erkenntnissen der Weg ist den man hierfür gehen sollte. Allerdings reicht das alleine nicht aus, da man nicht nur an die Verschlüsselungsmethode denken sollte sondern auch daran, wo der dafür nötige Schlüssel gesichert wird.

Einsatz in meinen Plugins

In jedem meiner Plugins, die dies benötigen, ist daher eine Komponente enthalten, die auf Basis von PHPPHP PHP ist eine Skriptsprache mit einer an C und Perl angelehnten Syntax, die hauptsächlich zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird. https://de.wikipedia.org/wiki/PHP-eigenen Funktionen eine Verschlüsselung nach AES bereitstellt. In Hosting, in denen OpenSSL vorhanden ist, wird dieses auch verwendet. Wenn OpenSSL nicht vorhanden ist, wird Sodium verwendet. Die verschlüsselten Daten werden in der WordPress-eigenen Datenbank abgelegt.

Für beide Verfahren sind Schlüssel notwendig. Diese werden weder in Dateien meiner Plugins abgelegt noch in der Datenbank des Projektes, sondern in der wp-config.php vom Projekt. Sollte die wp-config.php nicht beschreibbar sein, wird ein Must Use Plugin erzeugt, in dem der Schlüssel enthalten ist.

Somit sind die verschlüsselten Daten und der Schlüssel zum Entschlüsseln logisch getrennt. Das entspricht nach meinen Recherchen dem Standard ISO/IEC 27002.

Vorteile dieses Weges

Anders als bei anderen Lösungen, muss sich der Anwender des Plugins nicht um diese Absicherung kümmern. Meine Plugins machen das vollautomatisch im Hintergrund. Der Aufwand zur Einrichtung ist dadurch sprichwörtlich nicht vorhanden.

Nachteile

Auch über die Nachteile muss man natürlich sprechen. Sollte der Schlüssel abhanden kommen, sind die verschlüsselten Daten nicht mehr entschlüsselbar. Der Website-Betreiber sollte daher unbedingt darauf achten, die wp-config.php und/oder das Must Use-Plugin in seine Datensicherung mit einzubeziehen. Nur so kann er bei unerwarteten Problemen mit einer der Dateien den verwendeten Schlüssel wiederherstellen und auf seine Daten zugreifen.

Interessiert?

Der Code für das oben beschrieben ist, ist als GPL-Lizenz in den betreffenden kostenfreien Plugins mit enthalten. Ein Beispiel wäre hier zu finden: https://github.com/threadi/wp-personio-integration-light/blob/master/app/Plugin/Crypt.php

Bei Fragen dazu gerne bei mir melden 🙂

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Frage nicht beantwortet?