Ein SDL für PHP-Anwendungen
Kommentare

Schritt 4: Implementierung
Auf den Entwurf folgt die Implementierung. Verwenden Sie möglichst bewährte Lösungen. Neu- und/oder Eigenentwicklungen müssen Sie sorgfältig testen. Wenn Sie sich für eine

Schritt 4: Implementierung

Auf den Entwurf folgt die Implementierung. Verwenden Sie möglichst bewährte Lösungen. Neu- und/oder Eigenentwicklungen müssen Sie sorgfältig testen. Wenn Sie sich für eine Lösung entschieden haben, bleiben Sie dabei. Seien Sie konsequent. Ein Beispiel: Um eine SQL Injection zu verhindern, können Sie die Eingaben entweder escapen oder Prepared Statements verwenden. Mischen Sie nicht beide Lösungsansätze, denn bei späteren Änderungen besteht die Gefahr, mit dem falschen Ansatz weiterzuarbeiten und dadurch eine Schwachstelle zu erzeugen.

Versuchen Sie, die Schutzmaßnahmen möglichst zu bündeln und immer an der gleichen Stelle in den Skripten zu plazieren. Das macht die Kontrolle der Schutzmaßnahmen und mögliche Anpassungen einfacher. Bei der Implementierung müssen Sie nur den Ergebnissen des Bedrohungsmodells folgen: Alle ermittelten Gegenmaßnahmen müssen implementiert werden. Oft werden Sie dabei weitere Funktionen und/oder Parameter einführen, zum Beispiel wenn Sie eine eigene Authentifizierungsfunktion implementieren oder eine Sessionverwaltung einsetzen. Für diese neuen Funktionen und/oder Parameter müssen Sie dann wieder eine Bedrohungsmodellierung durchführen und deren Ergebnis bei der Implementierung berücksichtigen. Gegebenenfalls können Sie nun schon die Implementierung prüfen. Einfacher ist es jedoch, erst noch die Default-Installation und -Konfiguration festzulegen und erst das Gesamtergebnis zu prüfen.

Schritt 5: Sichere Default-Installation und -Konfiguration

Bei der sicheren Default-Installation geht es um Probleme wie die notwendigen Zugriffsrechte für Dateien und Verzeichnisse (verwenden Sie so geringe Rechte wie möglich) und den Installationsumfang bei mehreren möglichen Konfigurationen (jedes nicht benötigte, aber installierte Skript vergrößert die Angriffsfläche). Auch beispielsweise das automatische Löschen des Installationsskripts nach erfolgreicher Installation fällt in diesen Bereich.

Bei der sicheren Konfiguration gilt es, dem Benutzer eben diese zu erleichtern. Gehen Sie davon aus, dass es keinen Fehler gibt, der nicht doch irgendwann irgendeinem Benutzer unterläuft. Soll zum Beispiel ein Bereich der Webanwendung durch die HTTP Basic Authentication geschützt werden, müssen Sie dafür sorgen, dass sie auch wirklich konfiguriert wird, zum Beispiel indem Ihr Installationsskript das übernimmt. Überlassen Sie diese Aufgabe dem Benutzer, werden mit Sicherheit einige darauf verzichten oder daran scheitern. Wenn dann zum Beispiel über einen dadurch allgemein zugänglichen Administrationsbereich Skripte auf den Server geladen werden können, bekommt Ihre Anwendung die Schuld für die Kompromittierung des Servers. Dass eigentlich der Benutzer, der die Anwendung installiert hat, die Schuld trägt, wird garantiert „übersehen“.


Themen der kommenden Seiten:

  • Schritt 6: Schwachstellentests
  • Schritt 7: „Kommunikation“
  • Sieben Schritte zur sicheren Webanwendung
  • Fazit
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -