Sichere Software ist kein Zufall

Meiner Erfahrung nach wird oft nur wenig Wert auf sichere Software im PHP-Umfeld gelegt. Ich habe bei meinen Arbeiten an Fremdcode schon zahllose Sicherheitslücken gefunden. Die Projektmanager waren selten erfreut.

Sicherheit darf kein nachgelagerter Aspekt der Softwareentwicklung sein, sondern muss bei der Entwicklung von der ersten Sekunde mitgedacht werden. Ein Sicherheitsbewusstsein muss bei allen Projektbeteiligten tief verankert sein. Leider passiert das oft erst, wenn es zu spät ist, und eine Applikation Ziel eines erfolgreichen Angriffs wurde.

Sichere Software: So geht’s

1. Machen Sie sich mit den Gefahren vertraut

Die Organisation OWASP (Open Web Application Security Project) veröffentlicht regelmäßig die Top 10 der Sicherheitsrisiken für Webanwendungen. Auf diese werde ich in den folgenden Beiträgen genauer eingehen. Es besteht zum Beispiel die Möglichkeit Daten zu stehlen, zu manipulieren oder zu löschen. Denkbar wäre sogar das erhalten von Rootrechten auf Servern. Dies würde es zum Beispiel ermöglichen heimlich Daten abzugreifen oder die Infrastruktur zu zerstören. Lassen Sie sich regelmäßig schulen.

2. Ermitteln Sie, welche Maßnahmen ergriffen werden können

Oft kann durch die Wahl eines geeigneten Frameworks und das Bedenken einiger Details auf einer globalen Ebene die halbe Miete sein. Wird zum Beispiel eine Datenbankabstraktion (z.B. Doctrine) genutzt, ist SQL-Injection möglicherweise gar kein Problem mehr. Wenn alle Formulare von einem Basis-Formular erben, welches ein One-Time-Token beinhaltet, ist CSRF auch kein Problem mehr.

Auch wenn wir uns hier hauptsächlich mit der sichereren PHP-Entwicklung beschäftigen, sollten auch Infrastrukturmaßnahmen nicht unberücksichtigt bleiben: Das Trennen von Servern nach Aufgabe (Web, Datenbank, Cache, etc) kann z.B. auch sehr sinnvoll sein.

3. Definieren Sie Coding-Regeln und überprüfen Sie diese in Code-Reviews

Jeder Entwickler im Team muss sich an gemeinsam vereinbarte Coding-Regeln halten. Das sollte sich nicht nur auf den Coding-Style beschränken, sondern auch auf Sicherheitsaspekte. Ohne Code-Review durch einen anderen Entwickler sollte kein Zeile in den Betrieb gehen.

4. Regelmäßige Penetrationstests

Auch wenn es teuer klingen mag: es lohnt sich! Sie werden Nachts besser schlafen können! Es gibt spezialisierte Unternehmen, die für Sie Sicherheitslücken auffindig machen, bevor es Kriminelle tun. Diese Penetrationstester testen Ihre Anwendung teils automatisch, teils manuell auf Herz und Nieren. Danach erhalten Sie einen Report der alle gefundenen Probleme auflistet und nach Schweregrad bewertet. In der Regel wird eine kostenfreie Prüfung nach beheben der Probleme angeboten.

Ich kann für Sie gerne ein preiswertes Angebot einholen. Nehmen Sie dazu einfach Kontakt zu mir auf!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.