Flattr

Social

Plugins

Apps

Lab

Kategorien

5. August 2009 / WordPress

WordPress-Version aus dem Feed und Quelltext entfernen

WordPress gibt die Versionsnummer der Software im RSS-Feed und Metadaten aus. Verschleierung der Version erhöht die Blog-Sicherheit.

Wo die Software, da die Hacker: Je erwachsener eine Anwendung, desto magnetischer ist die Beziehung zum Einbrecher. Gewusst wie und wo, hat der eingeschleuste Winzling eine immense (Aus)Wirkung. Applikationen auf Basis von OpenSource haben Dank offenem Quelltext besonders zu leiden, werden massig zum Ziel automatisierter Attacken. Es gilt also eigene WordPress-Installationen zu schützen: Den Admin-Bereich, dito die für den Leser sichtbaren Blogseiten.

WordPress: Zeitnahe Bugfixes bei Sicherheitsrisiken
Die permanent steigende Nutzerzahl zwingt WordPress-Entwickler dazu, Aktualisierungen für gemeldete Sicherheitslöcher zügig und unbürokratisch unters Volk zu bringen. Auch wenn häufige Updates für Aufwand und Unstimmigkeiten auf der Seite der Konsumenten sorgen, werden kritische Lücken prompt und zuverlässig isoliert. Will heißen: Bestimmte Sicherheitslecks betreffen auch bestimmte WordPress-Versionen.

Angeblich für Statistiken, doch auch Angreifer machen davon Gebrauch
Angeblich für Statistiken, doch auch Angreifer machen davon Gebrauch

Um einem Provokateur die Information über das eingesetzte WordPress zu konfiszieren, wird die aktuell verwendete Versionsnummer aus dem RSS-Feed und den Metadaten des Blogs ausgeschnitten. Denn genau an diesen Stellen fügt WordPress selbsttätig den Hinweis über die installierte Instanz ein, um Statistiktools bedienen zu können. Vermisst also der böswillige Roboter die Auskunft über die vorrätige Version, so wird der Blog bestenfalls übersprungen und entgeht somit einem möglichen Angriff mit Ausnutzung einer ausdrücklichen Schwachstelle.

Der Generator lässt sich mithilfe von WordPress-Plugins gleichwertig umschreiben. Eleganter und effektiver ist es jedoch, das Merkmal gänzlich abzuschalten bzw. die Ausgabe zu unterdrücken. Nachfolgende Befehl-Zeilen übernehmen diese sicherheitsrelevante Aufgabe und werden in der lokalen functions.php eingefügt.

WordPress als Generator im RSS-Feed und Quelltext unterdrücken

<?php
function remove_wp_generator() {
  if (is_admin() || is_feed()) {
    return;
  }

  if (function_exists('the_generator')) {
    add_filter(
      'the_generator',
      create_function(
        '$x',
        'return;'
      )
    );
  }
}

add_action(
  'init',
  remove_wp_generator
);
?>

Hinweis
<?php und ?> gehören nur dann übernommen, wenn die Datei functions.php entweder neu erstellt wurde oder gänzlich leer ist.

Ausgabe des Generators im Theme
Bedauerlicherweise geben zahlreiche Themes im Template header.php die verräterische Information ebenfalls aus und steigern somit die vorhandene Gefahr. Es empfiehlt sich in der besagten Datei des ausgewählten Theme nachzuschauen und die Zeile <meta name=”generator” … /> zu löschen.

Analyse auf Vorhandensein der WP-Version in den Metadaten
Um aufzuzeigen, wie unvorsichtig deutsche Blogger mit der Bekanntgabe der Versionsnummer umgehen und Hackern Tür&Tor offen halten, wurden insgesamt 35.594 deutschsprachige Blogs ausgewertet: Der Quelltext der Startseiten wurde auf die Anzahl der Metatags mit Versionsinformationen analysiert. Mit erstaunlichen und nicht bedenkenlosen Resultaten:

WordPress nennt sich gerne als Generator in den Metadaten des Blogs
Wie oft wird WordPress als Generator in den Metatags genannt?

Sergej Müller

[Der Autor]Sergej Müller ist enthusiastischer Software Engineer mit Schwerpunkten Webentwicklung, Apps und WordPress. Seit 2007 programmiert und vertreibt er wpSEO, das zugkräftige SEO-Plugin für WordPress-Blogs.