PHP und Sicherheit

So schnell sich mit PHP Erfolge beim Erstellen von Anwendungen erreichen lassen, genauso schnell lassen sich auch Sicherheitsprobleme für den Server versehentlich „programmieren“. Daher ist diese Kapitel über PHP und Sicherheit jedem dringlichst ans Herz gelegt!

Es wird hier kein Anspruch auf Vollständigkeit erhoben noch werden hier irgendwelche rechtlich bindenden Aussagen getroffen (ich möchte für nichts haften, was andere verbocken). Daher dienen die Kapitel über PHP und Sicherheit rein zur Lehre und zum Selbststudium ? da für den effektiven Umgang mit Sicherheit Kenntnisse notwendig sind, wie Hacker vorgehen, wird hierauf soweit wie erforderlich eingegangen. Es wird hier niemals ein vollständiger Code geliefert, wie man hackt! Wenn jemand in der Hoffnung diese Kapitel liest, um zu lernen, wie man Server hackt, ist er hier sowohl inhaltlich falsch, als auch von der Philosophie her. Man sollte nach meinem Verständnis seine Zeit dazu nutzen, etwas Sinnvolles aufzubauen, anstatt sinnlos etwas zu zerstören.

Beispiel fürs Hacken

Warum vernachlässigte Sicherheit einen sehr teuer zu stehen kommen kann, hier an einem kleinen Beispiel. Am 11.4.2008 war die Seite für „Angst-Frei beim Zahnarzt“ noch auf Seite 1 bei Google. Zu diesem Zeitpunkt hat wohl ein Hacker bereits zugeschlagen (wobei dies eher ein Script-Kiddy war).

gehackte Seite im Google Index

Am 8.12.2008 ist es fraglich, welchen Platz die Seite in den Suchmaschinen einnimmt. Es kommt auf der Seite selber nur noch der folgende Hinweis, die Wahrscheinlich vom Seitenbetreiber selber aufgeschaltet wurde, um die Seite von den Verunstaltungen zu reinigen.

gehackte Seite under construction

Wie teuer solche Aktionen von irgendwelchen destrukiven Menschen ist, ist diesen wahrscheinlich nicht bewußt. Es ist schade für den Zahnarzt (wenn auch ein gutes Beispiel). Die Zerstörung (oder Änderung) von Internetseiten kann heftige Auswirkungen haben. Nicht nur der Prestigeverlust des Besitzers (bzw. Betreuers) der Seite, auch Verlust von der Position in Suchmaschinen über Ausschluss aus Suchmaschinen bis hin zu rechtlichen Auseinandersetzungen, wenn die Seite auf einmal für pornografische etc. Inhalte „wirbt“.

Schwachstellen in Webanwendungen

Ein Verständnis von einzelnen Angriffstechniken und Auswirkungen von kombinierten Angriffen hilft, Schwachstellen in Webanwendungen so gering wie möglich zu halten. Die Probleme werden anhand einer kleinen Anwendung in Form eines Gästebuches gezeigt. Dieses Gästebuch sollte so NIEMALS auf einem normalen Server laufen!

Doppelter Boden beim Sicherheitskonzept

Prinzipiell sollte man so viel Sicherheit wie möglich integrieren. Dadurch wird dem Angreifer, der die erste Hürde genommen hat, durch die zweite Hürde der Angriff vereitelt. Im Klartext: Man sollte sich nicht nur auf gefilterte Nutzereingaben verlassen, sondern auch nochmals beim Schreiben in die Datenbank (oder Datei) die Eingaben überprüfen. Und am besten bei der Ausgabe auch nochmals. Je mehr Sicherheit, desto weniger Angriffsflächen und desto weniger Spaß haben die Angreifer und werden sich ein anderes Betätigungsfeld suchen.