Jeder, der WordPress nutzt, weiß, wie bequem dieses Blog-CMS ist: Man hat schier unendlich viele Plugins zur Auswahl, vieles lässt sich automatisieren, Spamschutz und Statistiken sind schnell eingerichtet und dann kann es auch schon losgehen mit dem fröhlichen Bloggen.
Doch leider ist es auch so, dass in vielen Plugins und auch in WordPress selbst eine Menge IPs gespeichert werden. Darunter fallen vor allem die IPs von Kommentatoren, aber auch die von allen Besuchern, die durch verschiedene Statistik-Plugins getrackt werden – oft auch mit zusätzlichen Infos wie Header. Im Endeffekt sind dann an vielen Stellen in der Datenbank verschiedenste Infos über Blogbesitzer und Besucher zu finden. Doch nicht nur das! Zusätzlich vollführen viele bekannte Plugins Auswertungen von Besucherdaten auf eigenen Servern durch, wodurch viele Daten auch noch extern gespeichert werden – ein Fiasko für den sicherheitsbewussten Blogger.
Auch mir war dieses Dilemma ein Dorn im Auge, also hab ich mich mal an mögliche Lösungen rangesetzt und hoffe, hier eine für viele angemessene Lösung bzw die nötigen Anregungen dazu liefern zu können. In den folgenden Abschnitten werde ich jeweils auf die häufigsten Bedürfnisse von Bloggern eingehen und erläutern, wie man das auch anonym für sich und seine Leser mit möglichst wenigen Abstrichen lösen kann.
Kommentare
Als Blogger möchte man gerne Feedback bekommen und als Leser einfach auch gern mal seinen Senf zu einem Artikel ablassen, daher sind Comments auf Blogs oftmals essentiell. Doch zusätzlich zum normalen Text, dem Namen, der E-Mail und der optionalen Homepage wird bei WordPress standardmäßig auch die komplette IP-Adresse mitgeschickt und in der Datenbank in der Tabelle <prefix>_comments unter der Spalte comment_author_IP gespeichert. Diese IP wird auch in der Administrationsoberfläche und – wenn eingestellt – in der Infomail angezeigt.
Ich halte diese Praxis für relativ unnötig, auch zum Spamschutz taugt sie wenig, da die meisten Spamcomments nicht von geblacklisteten IPs, sondern von unfreiwilligen Botnet-Zombies kommen. Zudem werde ich für den Spamschutz nachher eine wesentlich effektivere Alternative vorstellen.
Wir können dieses Logging also ohne schlechtes Gewissen deaktivieren. Dafür nutzen wir einfach ein Plugin, welches alle Comment-IPs ab der Aktivierung des Plugins mit 127.0.0.1 überschreibt. Dieses nennt sich Remove IP und ist über das offizielle WordPress-Pluginverzeichnis erhältlich. Es arbeitet enorm schlank, bietet keine großartigen Einstellungsmöglichkeiten und tut genau das, was es verspricht. Doch es hat ein Manko: Es überschreibt nicht die IPs der bisherigen Kommentare, sodass diese immer noch in der Datenbank liegen.
Deswegen müssen wir einen SQL-Query bemühen, der alle IPs der bisherigen Comments überschreibt. Im Falle von MySQL lautet dieser
[php]
UPDATE <prefix>_comments SET comment_author_IP = „127.0.0.1“;
[/php]
und kann z.B. in PHPMyAdmin ausgeführt werden. Natürlich muss <prefix> an das bei der Installation vergebenes Präfix angepasst werden! Ab nun sind schonmal alle Kommentar-IPs überschrieben.
Spamschutz
Wenn von Spamschutz in WordPress die Rede ist, ist der Name Akismet nicht fern. Dieses Plugin ist unbestritten das meistgenutzte AntiSpam-Plugin in WordPress, da es keine nervigen Captchas, Rechenaufgaben oder manuelle Kommentarfreischaltungen benötigt (und seit 2.0 auch gleich mit WP mitgeliefert wird). Denn wer pro Tag an die 20 Spamcomments reinbekommt, weiß, wie lästig das ist und wie oft 08/15-Captchas umgangen werden können. Akismet hingegen analysiert die Spamcomments aller an dem Netzwerk teilnehmenden Blogs und pflegt somit seinen Filter. Um Akismet nutzen zu können, muss zuerst ein Account auf wordpress.com angelegt und der API-Key von Akismet geholt werden – schon dabei müssen einige eigentlich unnötige Daten angegeben werden.
Ein weiteres Ärgernis ist, dass einige Daten zu den Akismetservern in die USA geschickt werden, um den Spam dort zu analysieren. Selbst innerhalb der WordPressreihen wird darüber heftigst diskutiert, doch eine Lösung ist noch nicht wirklich in Sicht. Doch das wirklich unverständliche ist, dass Akismet nichtmal der beste Spamschutz ist, viele False-Positives vorweist und viel zu oft eindeutigen Spam einfach auf die Pendinglist schiebt. Zudem werden bei einigen Aktionen in der Datenbank IPs von Kommentatoren gespeichert, auch von Nichtspammern.
Doch auch dafür gibt es eine funktionale und dennoch angenehme Alternative: AntiSpamBee. Wer das Plugin noch nicht kennt oder ein paar weitere Informationen und/oder einen schnellen Überblick sucht, dem sei der kürzlich geschriebene Blogpost von J0hn.X3r ans Herz gelegt.
Das tolle an diesem Plugin im Hinblick auf Datenschutz/Anonymität ist vor allem, dass keine IPs gespeichert werden und keine Daten auf externen Servern gespeichert werden. Zudem ist es auch für kommerzielle Unternehmen kostenlos und erfordert keine Registrierung. Auch AntiSpamBee arbeitet optional mit einer Filter-API und man kann auch genau einstellen, welche Daten des Kommentators auf Spam hin untersucht werden. Seit einigen Wochen verwende ich das Plugin nun und bisher gab es keinen einzigen fälschlich zugelassenen Spamkommentar und auch keinen false-positive – sehr beachtlich und nur zu empfehlen!
Statistiken
Ab einer gewissen Größe des eigenen Projektes wollen viele Blogger auch gerne Statistiken über ihren Blog haben. Dies kann verschiedene Gründe haben: Die einen wollen gerne herausfinden, über welche Quellen die Leser an den Blog gekommen sind (Suchmaschinen, Foren, Bloglists, Partnerblogs), die anderen interessieren sich mehr für die technischen Aspekte (verwendete Browser) und wieder andere interessieren sich dafür, welche Artikel besonders beliebt sind, wie lang die User durchschnittlich auf dem Blog verweilen und so weiter. Kurz: Es gibt haufenweise interessante Infos, die aus einer ausführlichen Statistik gewonnen werden können.
Doch natürlich werden auch hierfür massenhaft IPs gesammelt und gespeichert, um etwa die Herkunftsländer der Leser feststellen zu können oder nicht versehentlich den selben Besucher mehrfach zu zählen.
Sehr oft wird für Statistiken WordPress.com Stats verwendet. Das sieht zwar recht schick aus und macht, was es tun soll, ist aber 1. nicht wirklich umfangreich und 2. werden auch achtlos komplette IPs ohne Kürzung o.ä. gespeichert und extern verarbeitet.
Wir werden als Alternative Piwik in Kombination mit WP-Piwik und dem in Piwik mitgelieferten AnonymizeIP verwenden. Das gute an Piwik ist, dass es zum einen sehr feine Einstellungsmöglichkeiten hat, eine große Userschaft besitzt und wahnsinnig viele Informationen ohne Beeinträchtigung der Leser liefert. Die Installation ist dadurch auch etwas ausführlicher, aber nach ein bisschen Einarbeitung und mit der Readme als Leitfaden funktioniert das alles recht problemlos.
Bei Statistiken stehen wir leider vor dem Dilemma, dass IPs v.a. für die Bestimmung der Herkunftsländer recht wichtig sind und Mehrfachzählungen vermeiden. Dennoch wollen wir natürlich dem Datenschutz gerecht werden und nicht unnötig viele Informationen in der Datenbank speichern. Das hat auch Piwik akzeptiert und liefert seit einiger Zeit das Piwik-Plugin AnonymizeIP standardmäßig mit, jedoch deaktiviert. Dieses ermöglicht das Überschreiben von Oktetts mit einer 0. So wird aus 123.45.67.89 die IP 123.45.67.0. In den allermeisten Fällen reicht dies zur groben Standortbestimmung aus, da ein Großteil der Provider ganze /24-Ranges für ein bestimmtes Gebiet reservieren.
Um AnonymizeIP zu aktivieren, gehen wir in Piwik-Oberfläche (also z.B. meinblog.com/piwik) auf Einstellungen, Plugins und aktivieren dort in der Liste das Plugin. Damit wird standardmäßig das letzte Oktett überschrieben, doch wer noch ein bisschen weiter gehen will, kann auch mehrere Oktetts verschleiern. Dazu öffnen wir im Piwik-Verzeichnis die Datei config/global.ini.php und suchen nach der Zeile ip_address_mask_lenght. Mit dem Wert 1 wird das letzte Oktett verschleiert, mit 2 die beiden letzten und so weiter. Erfahrungsgemäß reichen für detaillierte Statistiken auch die ersten beiden Oktetts, also ip_address_mask_length = 1.
Zusätzlich zu Piwik empfehle ich noch das WordPress-Plugin WP-Piwik, welches den notwendigen Trackingcode von Piwik automatisch in jede Blogseite einbaut und im Dashboard übersichtliche Schnellinfos liefert.
Fazit
Somit haben wir schonmal die größten Datensammler sinnvoll umgangen und mit der Deinstallation von Akismet und WordPress.com Stats verschwinden auch deren Informationen aus der Datenbank. Es gibt sicherlich noch etliche andere loggende Plugins, aber oft liefert auch Google gute Workarounds oder es gibt eine bessere und anonyme Alternative. Wenn das alles nichts hilft, gibt es für solche Fälle auch Foren oder ihr könnt hier in den Comments (ohne eure IP zu hinterlassen :P) euer Anliegen schildern.
Schlussendlich ist Logging in einem Blog wirklich nicht gerade sinnvoll, zumal es auch ohne Einschränkungen oder großartige Umgewöhnungen ohne diese Datenkraken geht. Je früher man auf diese datenschutzkonformen und anonymen Alternativen umsteigt, desto besser. Denn wer weiß, ob nicht bald durch einen blöden Unfall, eine Lücke oder einen korrupten Hoster die Blogdatenbank in falsche Hände gerät…
Ein Kommentar
CyborgX
Neue Domain : http://buntspecht.so/2011/04/02/wordpress-ip-logging-deaktiveren/