Verschiedene Updates, bitte auf jeden Fall die Nachträge lesen. Ganz wichtiger Hinweis schon hier oben, es gibt Abhilfe gegen das Problem mit einem Plugin. (Dank an meinen Leser Morty.)
Morgen soll sie ja kommen, die Release von WordPress 2.3, die mich jetzt schon im Vorfeld einiges an Schweiß gekostet hat. Viele Blogger, die weniger in ihrem Blog verbastelt haben, werden sicherlich gleich freudig updaten, ich habe sogar im Vorfeld einige erlebt, die sich freudestrahlend und hündisch schwanzwedelnd die Beta 3 auf den Webserver gespielt haben, als ob man nicht genug Probleme hätte.
Es gibt allerdings einen wirklich guten Grund, mit dem Update noch ein wenig zu warten. Dieser gute Grund heißt Datenschutz. Das wäre eigentlich das elfte Ding, dass jeder über WordPress 2.3 wissen sollte.
Ein neues Feature in WP 2.3 wird die automatische Überprüfung der Aktualität aller installierter Plugins sein. Das ist im Prinzip eine gute Idee, da der Blogger gleich sieht, dass sein System nicht auf dem neuesten Stand ist, dass er Plugins hat, die eventuell fehlerhaft oder gar ein Sicherheitsrisiko sind. Ich habe nichts gegen dieses Feature, ich finde sogar, dass es noch nicht weit genug geht und um eine bequeme Update-Möglichkeit direkt aus dem Internet heraus ergänzt werden sollte. Aber ich habe etwas gegen die Implementation dieses Features.
Die folgenden Angaben beziehen sich auf den kürzlich veröffentlichten RC1 von WordPress 2.3, da ich natürlich nicht den Quelltext der Release vorliegen habe.
Bei der Überprüfung der Plugins werden die folgenden Daten automatisch und ohne Kenntnis des Anwenders an api.wordpress.org übertragen — ich hoffe, dass gleich bei vielen Bloggern ein paar Alarmglocken klingeln:
Die Versionsnummer der WordPress-Installation
Okay, das kann man so machen. Schließlich läuft ein neues Plugin eventuell nicht mit einer älteren Version von WordPress, und das könnte man in der Anzeige berücksichtigen.
Alle installierten Plugins einschließlich Versionsnummer
Diese Information ist für den Update-Hinweis erforderlich.
Die Information, welche von diesen Plugins aktiviert sind
Warum diese Information überhaupt benötigt werden sollte, ist mir ein Rätsel. Wenn man lediglich auf Updates für aktive Plugins hinweisen möchte, ist mir auch nach längerem Nachdenken nicht klar, wofür eine Liste aller Plugins benötigt wird. Will man jedoch auch für deaktivierte Plugin auf mögliche Updates hinweisen, so ist die Übermittlung dieser Zusatzinformation nicht sinnvoll, sie dient offenbar nur für Auswertungen auf Seiten von wordpress.org, über deren Natur und Umfang der Blogger jedoch im Unklaren gelassen wird.
Als wenn das noch nicht schlimm genug wäre, kommt noch Eines hinzu:
Die URL, unter der das Blog im Internet erreichbar ist
Diese Information wird im HTTP-Header der Datenübertragung übermittelt. Sie hat überhaupt keinen Bezug zur Funktion der Plugin-Überprüfung. Sie ist aber insofern ausgesprochen gefährlich, als dass hier Informationen über Blogs mit potenziell angreifbaren Komponenten mit einer URL der möglicherweise angreifbaren Installation zusammen übermittelt wird, und zwar völlig ohne sachlichen Grund.
Es ist völlig unklar, ob diese Informationen irgendwo gespeichert werden. Klar ist nur, dass hier ein wesentlicher Grundsatz des Datenschutzes, nämlich die Vermeidung überflüssiger Datenübertragung und Datenhaltung, einfach ignoriert wird.
Wenn diese Informationen nur übertragen werden, ist das schon schlimm. Die Übertragung geschieht unverschlüsselt über HTTP, jeder Rechner auf der Route kann im Prinzip alle diese Daten lesen und irgendwo speichern, um daraus eine Liste angreifbarer Systeme zu erstellen. Selbst die Angriffe ließen sich bequem automatisieren, wenn jemand mit bösem Willen an einer geeigneten Position im Informationsstrom säße. Bei solchen Erwägungen muss man sich immer vor Augen halten, dass diese Person auch ein krimineller Eindringling sein könnte — je mehr sich das Ziel eines Angriffes auf einen bestimmten Rechner im Internet lohnt, desto größer wird der Ehrgeiz derer, die sich daran versuchen werden.
Sollten diese Informationen auch noch bei wordpress.org gespeichert werden, denn würde diese Situation noch viel schlimmer. Es würde ein Rechner im Internet entstehen (und ein Rechner am Internet ist immer ein “Opferrechner”, der allen nur denkbaren Angriffen ausgesetzt ist), auf dem sich detaillierte Daten über angreifbare Blogs ansammeln. Ein solcher Rechner wäre für kriminelle Angreifer — etwa für die Spam-Mafia — ausgesprochen attraktiv, von daher ist von großen Anstrengungen auszugehen.
Leider gibt es kein gutes Mittel gegen diese Datenschutzproblematik in WordPress 2.3, man kann diesen Automatismus zum Beispiel nicht durch ein Plugin abstellen. (Jedenfalls nicht nach meiner ersten Durchsicht der Quelltexte). Das einzige, was einem bleibt, um dieses Problem zu vermeiden, ist die direkte Bearbeitung der Quelltexte, bevor die neue Version installiert wird.
Im RC1 der Version 2.3 befindet sich die fraglichste Stelle in der Zeile 81 der Datei wp-admin/include/update.php, hier wird die URL des Blogs zum Bestandteil des HTTP-Headers gemacht. (In der Release muss man die Zeile in der Datei einfach mit Hilfe des Editors suchen.) Im RC1 sieht diese Zeile so aus:
$http_request .= 'User-Agent: WordPress/' . $wp_version . '; ' . get_bloginfo('url') . "\r\n";
Der Funktionsaufruf get_bloginfo(‘url’) liefert die URL der WordPress-Installation. Wer dieses Problem für sein eigenes Blog vermeiden will, sollte hier keine Hemmungen haben, eine andere URL anzugeben. Und zwar am besten eine, die auch klar zum Ausdruck bringt, was man von dieser Beglückungsidee in der neuen WordPress-Version hält. Das könnte denn etwa so aussehen:
$http_request .= 'User-Agent: WordPress/' . $wp_version . '; http://www.privacy.org/' . "\r\n";
Das ist natürlich nur ein Vorschlag für die Modifikaition dieser Zeile. Wer eine bessere Site kennt, die durch den bloßen Verweis für einen englischen Leser klar zum Ausdruck bringt, was man von solchen versteckten, automatischen “Features” hält, der soll sie gern verwenden.
Ich würde niemandem empfehlen, bei solchen überflüssigen Datenübertragungen und möglicherweise auch unnötigen Datenspeicherungen tatenlos zuzuschauen.
Nachtrag: Eine sehr viel bessere (aber auch aufwändigere) Lösung, wie man wordpress.org gegenüber die eigene URL verschweigt, findet sich bei Schnurpsel. Der Vorteil dieser Lösung ist, das sie keine Eingriffe in den offiziellen Code benötigt. Stattdessen muss man jedoch die my-hacks.php verwenden. Wer ernsthaft darüber nachdenkt, aber nur wenig technisches Verständnis hat, sollte sich an anderer Stelle darüber schlau lesen — es ginge wirklich zu weit, diese alte Erweiterungsschnittstelle an dieser Stelle zu erläutern.
Weiterer Nachtrag: Es gibt ein Plugin, mit dessen Hilfe der komplette Versionschecker für die Plugins abgeschlatet werden kann. Leider schaltet dieses Plugin etwas zu viel ab. Das Feature ist und bleibt ja an sich sinnvoll, nur die Übermittlung von kritischen Installationsdaten zusammen mit der URL, unter der diese Installation im Internet für Angreifer zur Verfügung steht, die ist sinnlos. Es handelt sich keineswegs um eine vernünftige Abhilfe, diese müsste im WordPress-Kern eingebaut werden. Vielleicht ist ein solches Plugin aber dennoch für einige Blogger einfacher zu verwenden als die sonstigen Hinweise, wie man in den Quelltext eingreifen muss, um die Übermittlung seiner Blog-URL zusammen mit einem Haufen Daten, die für einen Angreifer hochinteressant sind, zu unterbinden. Allerdings muss sich jeder, der dieses Plugin verwendet darüber bewusst sein, dass er in eingener Verantwortung regelmäßig nach aktuelleren Versionen seiner Plugins schauen muss — das wäre nicht nötig und könnte die Arbeit eines Computers bleiben, wenn die WordPress-Entwickler die elementaren Grundlagen des Datenschutzes berücksichtigen würden. Schade, dass sie es nicht tun (oder nicht tun wollen).
Nachtrag Drei: Il Filosofo hat ein Plugin geschrieben, dass die Update-Prüfung implementiert, ohne dass es zur Übertragung des Domainnamen kommt. Ich habe es noch nicht ausprobiert, aber wenn es die Schnüffelfunktion in WP 2.3 angemessen ersetzt, kann es ein gangbarer Weg sein. Wer nicht damit einverstanden ist, dass ohne sachlichen Grund Daten über seine Installation gesammelt werden, der sollte einmal einen Blick darauf werfen.
A note to native english speakers reading this german post: You are allowed by my license to copy and to translate this text into your language and to publish it on your own webspace, as long as you do not sue me.
From my point of view, it is an important problem that people need to know about. So, if you can, please spread the word!




Wie ich schon auf meinem Posting auf forum.wordpress-deutschland.org sowie in der wp-dev Mailingliste erwähnt habe ist auch die Übermittlung der Versionen der Plugins überflüssig. Es reicht vollkommen, wenn die aktuelle Version als Antwort kommt. Es nicht nötig, dass irgendjemand weiß welche Version ich installiert hab. Es kann duchaus sein, dass ich eine ältere Version einsetze und hoffe, dass niemand das herausfindet.
Zu Morty: Da hast du natürlich recht — und ich habe einmal mehr etwas zu schnell geschrieben…
hmmmm tut mir leid, aber für mich sind solche automatischen updates (egal wo) ein NO GO !
wordpress wird sich wohl weiter und immer mehr in ein deppensystem entwickeln !
unfassbar das sowas dann nicht abschaltbar ist !
hmmm ich glaub ich hab das falsch verstanden….. es geht garnicht um ein auto-update ?!
Genau! Von Auto-Update ist keine Rede! Das System zeigt dir nur an das du eine alte Version hast so wie der Update-Monitor das vorher gemacht hat. Zumindest habe ich das so verstanden. Aber wir werden es ja sehen!
@ GR4Y
ja genau, so versteh ich das nun auch….. es sollen anscheinend die plugins von wordpress auf aktualität überprüft werden. was ja auch sicherheitstechnisch ne gute idee ist, sofern da kein plugin autom. ausgetauscht wird und man als user (admin) die überprüfung auch abschalten kann.
ich bin immer der meinung dass eine software dem user die grösst mögliche freiheit und eingriffsmöglichkeit geben muss die praktikabel ist.
ebenso bin ich wie der nachtwächter dagegen, dass software unerlaubt unnötige daten in der welt herum “funkt”…. sowas mag ja in einem lokalen netz und mit unpersönlichen daten (ich mag nur mal an novell netware bzw. IPX/SPX erinnern) noch sinnvoll sein, aber so wie das nun bei wordpress aussieht geht das doch etwas zu weit.
aber du hast auch recht, ist ja noch RC – schaun wir mal wie das beim offiziellen release aussieht.
ich finde es aber auch löblich dass es so leute wie den nachtwächter gibt, die auf sowas noch frühzeitig hin weisen, damit sowas noch abgeändert werden kann bevor es in eine “production stable” einfliesst.
Ne, wird wohl nicht mehr geändert. Hab bis gestern nacht noch mit Matt Mullenweg diskutiert, aber wir haben uns irgndwann nur noch im Kreis gedreht.
Hier der Complette thread: http://groups.google.co.uk/group/wp-hackers/browse_thread/thread/bdced7524fa79a18/2d4e69fb46a6a947
Zu Morty:
Am besten in diesem archivierten Aneinander-Vorbeigerede fand ich immer noch Matt, der einfach nur meinte: “Es könnte ja in Zukunft einmal nützlich sein.”
Damit ist für mich völlig klar, dass es gegenwärtig (und nur darauf kommt es mir an) nutzlos ist. Und es sollte auch jedem anderen klar sein.
naja, es gibt ja plugins die das ganze abstellen
http://wordpress.org/extend/plugins/disable-wordpress-core-update/
http://wordpress.org/extend/plugins/disable-wordpress-plugin-updates/
für mich reicht das……
Ich pinge keine Ping-Services an, nach jedem Update wird sofort die /wp-admin/index-extra.php (Dashboard Includes usw.) bearbeitet und quasi alles auskommentiert, und jetzt wird eben noch dieser Update-Notifier abgeschaltet (mal sehen ob die Plugins gut sind, oder ob das auch einfach händisch zu machen ist). Achja, Suchmaschinen sind ausgesperrt. Mag eine seltene konstellation sein, so ein “Dark-Web”-Blog, aber ich bin zufrieden mit der begrenzten öffentlichkeit, das geht niemanden etwas an. Gibts sonst noch was, was “nach draußen funkt”?
Auch wenn Matt, Automattic und wordpress.org verschiedene Dinge sind/sein sollen, hängen sie doch sehr stark zusammen, und das Matt irgendwie ein Statistik-Freak ist, ist mir irgendwie schonmal aufgefallen… Er will genauere Zahlen wieviele wp.org Blogs es gibt… er hat ja schon mehrere Quellen, aber mit genaueren Plugin-Stats wird das Bild eben immer runder. Und sein Argument mit den Auto-Updatern von Betriebssystemen oder Programmen stimmt meist auch nciht, aus meiner ständig wechselnden IP kann man nur sehr schwer (als nicht Staat/Polizei usw.) meinen Namen und Adresse bekommen, im gegensatz zu meinem Domannamen. Ausserdem kann man das eigentlich über all ganz einfach abschalten. Eine einzige kleine Checkbox serienmäßig in WP könnte also schon recht hilfreich sein, analog zur Privacy-Einstellnungsmöglich keit bezüglich Suchmaschinen und Pings (auch wenn ich das auch lieber händisch mache). Da brauchts keine Plugins für.
Naja, mal sehen was kommt.
Ich finde es vor allem spannend, dass man hier praktisch die gleichen Fehler wie schon vor zwei Jahren wieder macht …
*gähn* Es ist Freie Software. Mach ’nen Fork!
Zumindest im Moment funktioniert der Update-Service auch wenn man weder seine Blog-Adresse noch die aktiven Plugins preisgibt. Die Versionsnummer scheint auch relativ egal (hab mit 2.2 getestet).
Leider lässt sich das nicht per Plugin machen, sondern man muss die Datei wp-admin/includes/update.php bearbeiten.
Falls ich es eleganter hinbekomme mache ich daraus gerne ein Plugin, bis dahin gibts den Code nur auf Anfrage.
Im Meta Bereich einer jeden WordPressSeite steht auch die Versions nummer. Sollte damit für Bots auch kein Problem sein. Irgendwie seh ich mit der 2.3er das Problem gerade nicht…
Naja, Privacy ist zwar gut und schön und die Pluginliste wird auch unnötig durchs Web übertragen, aber dennoch würde ich jetzt keinen so rießigen Aufstand wegen dem Datenschutz machen
Von Wegen “die Spam-Mafia wird alles an dransetzen, den Server zu hacken”, dieses Statement zieht den ganzen Artikel ins lächerliche
)
–benjamin
Zu Anonymous Coward:
Ich habe allen Ernstes darüber nachgedacht, einen Fork zu machen — es gibt auch durchaus noch ein paar andere Dinge, die mir an WordPress nicht gefallen. Leider bin ich dazu wegen meines psychologischen Kräftehaushaltes und meines Lebensstiles — ich bin obdachlos und lebe vom Betteln, habe deshalb auch keinen konstanten Zugang zum Internet und keine Arbeitsumgebung — nicht dazu in der Lage. Außerdem möchte ich mich auch fernerhin auf die Kunst und nicht auf das Hacken konzentrieren.
Aber davon einmal abgesehen: Du meinst dein mit dem Erikativ *gähn* eingeleites Statement doch hoffentlich nicht ernst? Einen Fork für eine Zeile Code, die jeder durchschnittliche PHP-Häcker schnell entschärft kriegt? Für ein Problem, das von vielen einfachen Bloggern vor allem deshalb nicht verstanden wird, weil die Implementation dieses “Features” von der Kerngruppe der Entwickler einfach nicht kommuniziert wird. Die Zeile Code ändere ich für mich wirklich schnell, dafür zu forken ist Kindergartenniveau. Das Problem liegt hier an einer ganz anderen Stelle, es liegt in der Arroganz derer, die eine offizielle WP-Version herausgeben. Das mag der eine zum Gähnen finden, der andere (nämlich ich) sieht hier ein an sich brauchbares Stück Software durch sehr trübes Wasser fahren. Und das ist schade, da WP alles in allem eine gute Software ist.
Wenn jemand wegen des wirklichen Problems einen Fork macht, damit die Blogsoftware wieder den Bloggern zurückgegeben wird, denn bin ich dabei. Leider wird mein Beitrag eher bescheiden bleiben.
Zu Christoph:
Die Versionsnummer zu kennen ist eine Sache. Detaillierte Informationen über sämtliche installierten und aktivierten Plugins zu haben ist eine andere Sache.
Einmal ganz davon abgesehen, dass sich die Versionsnummer durch eine Bearbeitung am Theme (also im Benutzercode) rausnehmen lässt, während das hier beschriebene Problem zum Bestandteil des Kerncodes von WordPress geworden ist. Dieser Code bleibt im WP-Frontend übrigens — im Gegensatz zu den Theme-Dateien, die betrachtbar und editierbar sind — unsichtbar, schon in diesem Detail zeigt sich der qualitative Unterschied.
Es gibt jetzt ein Plugin das hilft:
http://www.ilfilosofo.com/blog/tinfoil-hat/
@NAchtwächter: Wäre super, wenn du das im Beitrag verlinkst.
9 WordPress Alternatives
much more with demos for front- and backend
have fun !
q:D
@ Nachtwächter
falls du noch auf der suche von einer alternativen blog-software bist, dann hab ich hie nen tipp:
Life Type
Bietet alles was das bloggerherz begehrt. wie zb. trackbacks, xml-rpc, spamschutz u.v.m.
hier gibts ne demo installation:
Life Type Demo
greetz
Naja, Privacy ist zwar gut und schön und die Pluginliste wird auch unnötig durchs Web übertragen, aber dennoch würde ich jetzt keinen so rießigen Aufstand wegen dem Datenschutz machen
Von Wegen »die Spam-Mafia wird alles an dransetzen, den Server zu hacken«, dieses Statement zieht den ganzen Artikel ins lächerliche
)
Zu Rhetorik (74):
Spam ist keineswegs ein Spielzeug pubertierender Jugendlicher, sondern eine kriminelle “Industrie” mit Umsätzen im Milliardenbereich. In diesem Umfeld erscheint eine gezielte Attacke mehr als nur denkbar. Ich weiß nicht, ob es Dir schon aufgefallen ist, dass zurzeit tausende von WordPress-Blogs so gezielt gecrackt werden, dass die Spam nicht mehr in den Kommentaren, sondern in den regulären Beiträgen erscheint. Dieses Problem betrifft auch die aktuellen Versionen von WordPress, und die Angriffe scheinen sich auf mehrere Schwachpunkte gleichzeitig zu richten. Im Moment ist noch völlig unklar, wie diese Angriffe durchgeführt werden. Vor diesem Szenario erscheint es mir geradezu profetisch, wie ich “den ganzen Artikel ins lächerliche” gezogen habe — nur, dass den Betroffenen das Lachen gerade gründlich vergeht.
Mit Spam und mit Reklame wird nicht gespielt.
Es muß nicht immer WordPress sein, es gibt auch andere z.b sehr guter blog.