Sichere Geheimnisse für Webanwendungen auf zentralen Webservern

Webanwendungen benötigen häufig schützenswerte Daten. So braucht z.B. ein PHP-Skript für die Arbeit mit Datenbanken das entsprechende Passwort. Bisher müssen diese Passworte in der PHP-Datei selbst stehen, was in der Umgebung unserer zentralen Webserver www.tu-chemnitz.de und insbesondere www-user.tu-chemnitz.de nicht sonderlich sicher ist. Mit einem neuen Verfahren steht Web-Programmierern nun ein sicherer Weg zur Verfügung, solche Geheimnisse in Webanwendungen zu verwenden, ohne dass diese im zugänglichen Dateisystem abgelegt werden müssen. Über das Webformular unter https://www.tu-chemnitz.de/urz/www/sectoken.html wählt der Webautor einen Schlüssel aus. Das damit verschlüsselte Geheimnis (z. B. das Datenbank-Passwort) kann in eine Datei geschrieben werden. Die zum Entschlüsseln nötigen Daten werden der Anwendung vom Webserver in der Umgebung zur Verfügung gestellt. Dazu kann der Programmierer eine PHP-Funktion verwenden. Andere Programmiersprachen werden bei Bedarf unterstützt.

Warum ist dieses Verfahren sicher?

Im Quelltext der Anwendung steht nicht mehr das Geheimnis im Klartext selbst, sondern nur das mittels kryptografisch sicherem Verfahren erzeugte verschlüsselte Geheimnis. Der Webserver stellt den Schlüssel nur der Anwendung im angegebenen Pfad zur Verfügung. Die Konfigurations-Datei, die die Schlüssel enthält, ist dem Webserver nur zum Startzeitpunkt zugänglich, jedoch nicht mehr zur Laufzeit. Der gewählte Schlüssel ist nur dem Web-Programmierer und in kodierter Form dem Webmaster bekannt. Zu beachten ist, dass der Schlüssel ab dem beauftragten URL allen Webanwendungen in untergeordneten Verzeichnissen zur Verfügung steht. Ändert sich das Geheimnis (z.B. durch Setzen eines neuen Datenbank-Passwortes), muss der Web-Programmierer auch das verschlüsselte Geheimnis ändern. Selbstverständlich können mit diesem Verfahren auch mehrereGeheimnisse für eine Webanwendung sicher verwaltet werden.

Schreibe einen Kommentar