2017-09-13 3 views
0

Normalerweise befinden sich Anwendungen und ihre Konfigurationen auf demselben Computer und wenn jemand diesen Rechner hackt, kann er auf die Konfigurationsdatei zugreifen und auf die Datenbank zugreifen (über DB Benutzername und Passwort, die sich in dieser Konfigurationsdatei befinden) . Was passiert, wenn wir die Informationen der Konfigurationsdatei hashen und dann diese Datei anstelle einer reinen Textdatei verwenden? Gibt es eine bessere Idee? Nehmen wir an, ich möchte keine Cloud infra verwenden, es gibt nur eine einzige Maschine.Informationen zur Konfigurationsdatei hash/encrypt

Antwort

0

Hashfunktionen sind Einwegfunktionen. Sobald Sie eine Konfigurationsdatei mit einem Hashwert versehen haben, können Sie sie nicht mehr für die Anwendung aufheben, um sie zu verarbeiten. Verschlüsselung ist wahrscheinlich das, was die meisten Leute benutzen, aber selbst dann kann sie immer noch anfällig für Reverse Engineering sein.

2

Hashing ist ein one-way process - am häufigsten verwendet, um zu überprüfen, dass Informationen nicht manipuliert worden sind. Das Hashing Ihrer Konfigurationsdatei liefert Ihnen eine im Wesentlichen bedeutungslose Zeichenkette, die Sie nicht zum Aufbau einer Datenbankverbindung verwenden können.

Sie können natürlich die Konfigurationsdatei verschlüsseln, aber dann haben Sie das gleiche Problem - ein Angreifer, der theoretisch Zugriff auf die Webanwendung hat, kann den Entschlüsselungsschlüssel abrufen und herausfinden, wie die Konfiguration entschlüsselt werden kann; Sie können es sogar zur Laufzeit herausfinden, indem sie den Speicher des Serverprozesses überprüfen.

Der wichtigste Punkt ist, dass ein Angreifer, der Zugang zu Ihrem Webserver hat, fast unmöglich zu stoppen ist - sie können vermutlich auf den gesamten Verkehr auf Ihrem Server zugreifen und sie können alle Dateien auf dem Server lesen zumindest diejenigen, die der Benutzer der Webanwendung lesen kann), können sie möglicherweise beliebigen Code auf dem Server ausführen. Der Schutz vor dieser Eventualität ist nicht die beste Nutzung Ihrer Zeit - es ist, als ob Sie in Schlösser investieren würden, wenn die Haustür unsicher ist. Viel besser, um die Haustür zu reparieren.

Die beste Lösung für dieses Problem ist es, die Leute, die die von Ihnen verwendete Websprache/Framework erstellen, zu lösen. Sie geben die Sprache/das Framework nicht an, lesen jedoch die Sicherheitsrichtlinien für Ihr Toolset und implementieren die Empfehlungen. Siehe auch die OWASP Richtlinien.

Verwandte Themen