WordPress Sicher machen – Das Theme

Der zweite Teil aus der Reihe “WordPress sicher machen”  – Das Theme

Vor Kurzem haben wir uns im Büro gefragt: Ist WordPress sicher? Mein Standpunkt dazu ist, dass jedes WordPress “unsicher” ist. Allerdings ist es genauso unsicher, sich im Straßenverkehr zu bewegen. Also stellten wir uns die Frage: Wie kann man WordPress sicher machen?

Natürlich ist WordPress nach der Installation sicher! Jedoch kann man einiges dafür tun, um das Maß an Sicherheit zu erhöhen. Um noch einmal den Vergleich zum Straßenverkehr zu ziehen: Moderne Autos haben alle einen Gurt, Airbag und einige Assistenten, die das Fahren sicherer machen sollen. Und ständig kommen weitere Verbesserungen hinzu.

So gibt es auch bei WordPress einige Punkte, die man tun kann, um sein persönliches Maß an Sicherheit zu erfüllen. Dabei reicht die Spanne dessen, was man tun kann von dem Zeitpunkt der Installation, über die Pflege bis hin zum Benutzer selbst. So habe ich folgende List zusammengestellt.

 

  • Die Installation von WordPress
  • Das verwendete Theme
  • Die verwendeten Plugins
  • Pflege und Wartung von WordPress
  • Der Benutzer
  • Die Wahl des richtigen Hostinganbieters für WordPress

 

Da WordPress nun installiert ist, wenden wir unseren Blick heute auf das verwendete Theme. Die Spanne der Punkte, wie man ein WordPress Theme sicher gestalten kann, ist recht groß, da sie verschiedenen Einflüssen unterworfen ist. Diese reichen von WordPress eigenen Funktionen bis hin zu Dingen die man bei der Programmierung beachten kann oder besser sollte. Los gehts!

Auswahl und Quelle des Themes

Als ich vor vielen Jahren WordPress für mich entdeckt habe, hat mich der schier unerschöpfliche Pool an Themes, die man direkt bei WordPress.org bekommen kann, fast erschlagen und im gleichen Maße begeistert.

Dann kam der Zeitpunkt, da haben mir die Themes nicht mehr gereicht. Mal galt es Farben, Bilder oder sonstiges Styles anzupassen bzw. eben auch neue Bereiche einzufügen. Am Ende dieser Entwicklung stand das Theme komplett selbst zu schreiben.

Inzwischen kaufe ich auch gerne fertige Themes. Der Vorteil dabei ist: sie gefallen mir, bringen oft viele nützliche Dinge mit und sind eben schon fertig. Diese werden nach persönlichen Anforderungen und Wünschen angepasst.

 

Kostenfreie Themes

Oft, nicht immer, sind diese von Hobby-Theme-Autoren erstellt. Dabei ist meine Beobachtung, dass diese Themes einen gewissen Stand der Technik erreichen und dann dort für Jahre verweilen. Und darin sehe ich auch die Gefahr für ein WordPress-Projekt, welches mit einem solchen Theme ausgestattet ist. Was gestern gut und richtig war, muss es morgen nicht mehr sein.

 

Selbst entwickelte Themes

Wenn man ein Theme selbst entwickelt, sollte man dabei ein paar Dinge beachten. Eine der einfachsten Dinge dabei ist sicherlich folgenden Code in die functions.php einzufügen.

remove_action(‘wp_head’, ‘wp_generator’);

Dies sehe ich zwar heute nicht mehr als ein wirkliches Sicherheitsfeature an, kann für einen Angreifer aber ein kleiner Stolperstein werden. Denn jede WordPress Version hat ihre eigenen kleinen “Macken”. Und mit dem Snippet entfernt man im Header die Ausgabe der Versionsnummer von WordPress.

Das Gute: dieses kleine Snippet lässt sich schnell in jedes Theme einfügen, sollte es nicht schon vorhanden sein. Auch gibt es Plugins, die einem diese Aufgabe abnehmen.

Am besten schützen natürlich regelmässige Updates. Dazu werde ich später noch mehr schreiben.

 

Standardpfade anpassen

Ein weiterer Weg, sein WordPress Projekt etwas sicherer zu machen, ist die Standard-Pfade zu ändern. Auch hier helfen Plugins weiter. Wer es selbst schreib will findet im codex zu WordPress ein paar Snippets dazu.

Aus /wp-admin wird /geheimer-pfad – so wirds gemacht

  1. Folgenden Code in die wp-config.php eintragen
  2. define(‘WP_ADMIN_DIR’, ‘geheim’);
    define( ‘ADMIN_COOKIE_PATH’, SITECOOKIEPATH . WP_ADMIN_DIR);
  3. Der folgenden Filter muss in der functions.php abgelegt werden.
  4. add_filter(‘site_url’,  ‘wpadmin_filter’, 10, 3);
    function wpadmin_filter( $url, $path, $orig_scheme ) {
    $old  = array( “/(wp-admin)/”);
    $admin_dir = WP_ADMIN_DIR;
    $new  = array($admin_dir);
    return preg_replace( $old, $new, $url, 1);
    }
  5. Anpassen der .htaccess
  6. RewriteRule ^geheimer-pfad/(.*) wp-admin/$1?%{QUERY_STRING} [L]

Dies kann man auch mit den anderen Standard-Verzeichnissen von WordPress machen. Eine Anleitung dazu gibt es im codex:

http://codex.wordpress.org/Editing_wp-config.php#Moving_wp-content_folder

 

Gekaufte Themes

Bei gekauften Themes geh ich erstmal davon aus, dass – wenn jemand damit seine Brötchen verdient – sie sicher sind. Natürlich habe ich da ganz real auch andere Erfahrungen gemacht. Dabei kann man auf ein paar Dinge achten, zum Beispiel:

  • Postive Bewertungen und Kommentare. – Sind andere Käufer des Themes mit der Arbeit zufrieden?
  • Wird Support geboten?  Falls ja, hat man eine Chance, dass einem geholfen wird, wenn Probleme auftreten.
  • Wird das Theme gelegentlich oder regelmäßig weiterentwickelt?

Dreimal ja? Sehr gut!

 

Code von 3 Anbietern

Stichwort timthumb.php: Vor einiger Zeit wurden Sicherheitslücken in dem beliebten timthumb-Script bekannt. Die folge davon war, dass viele Seiten angreifbar waren und auch angegriffen wurden. Und viele WordPress Themes nutzen eben genau dieses Script. Dabei spielt es keine Rolle, ob kostenfrei, gekauft oder Eigenentwicklung. Lücke ist Lücke. Wichtig ist, dass sie geschlossen wird. Und damit sind wir wieder bei Weiterentwicklung und Updates.

 

Zum Ende noch ein paar nützliche Links für Theme-Autoren die sich dem Thema Sicherheit etwas mehr widmen möchten. – Unvollständig.

http://themeshaper.com/2012/10/30/secure-your-wordpress-theme/

http://codex.wordpress.org/Data_Validation

http://wp.tutsplus.com/tutorials/creative-coding/data-sanitization-and-validation-with-wordpress/

Gruß aus dem Maschinenraum

... wo sonst findet die Wartung statt ;)

*“ zeigt erforderliche Felder an

Name
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Schreibe einen Kommentar

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

Deine Daten in der Kommentarfunktion werden nur für diese verwendet. Weitere Informationen findest du in der Datenschutzerklärung.
Nach oben