Sicher programmieren fürs Web

Bei der Erstellung von dynamischen Webseiten kann ein Entwickler mehr Fehler machen, als ihm oft bewusst ist. Welche vermeidbaren Fehler oder Unachtsamkeiten Angreifern Tür und Tor öffnen, lesen Sie in diesem Artikel.

Bei der Sicherung von Webseiten denkt man sofort an Defacing (Austausch der Homepage gegen eine andere) und vielleicht noch an Würmer oder unsichere Webserver. Diese Aspekte machen aber nur einen Teil der notwendigen Sicherheitsüberlegungen aus, um die man sich bei der Programmierung einer sicheren Webseite kümmern muss, wie die regelmäßig in unserem Secunia-Newsletter auftauchenden Berichte zeigen. Um eine Webseite effektiv abzusichern, kann man allerdings nicht einfach irgendein Programm oder eine Firewall einsetzen.

Fehler Nummer eins besteht darin, dass der Webmaster sich komplett auf eine Firewall verlässt, die vor dem Webserver steht. Das ist sträflich nachlässig, denn eine Firewall eignet sich zwar bestens dazu, Pakete auf Basis von Regeln zu blockieren, sie kümmert sich im Normalfall jedoch nicht um die Filterung von HTTP -Datenverkehr. Aber auch solcher Traffic kann durchaus seine gefährlichen Seiten haben.

Ähnlich wie eine Firewall schafft auch die Verwendung von "sicheren" Protokollen keine Abhilfe: SSL mag zwar Pakete verschlüsseln können, es kümmert sich aber nicht darum, dass die eingegebenen Daten validiert werden. Diese Daten werden jedoch an Programme weitergegeben und dort verarbeitet - mit dem "richtigen" Aufbau des Daten-Strings kann ein Angreifer durchaus die Datenbank auf dem Server löschen, beliebige Programme starten oder Ähnliches tun.

Das soll nicht bedeuten, dass Firewall oder SSL nicht sinnvoll sind - der Einsatz dieser Technologien ist schlicht und ergreifend nicht ausreichend. Um eine Site abzusichern, muss man sich zusätzlich um verschiedene grundlegende Dinge kümmern, ganz besonders bei der Programmierung der Site.