Server-Sicherheitserfahrung: Verhinderung illegaler Anmeldungen
Autor:Eve Cole
Aktualisierungszeit:2009-07-24 15:42:20
1. Konfigurieren Sie die Sicherheit der Datenbank, z. B. das Konto/Passwort/die Berechtigungen, die Ihr Programm zum Herstellen einer Verbindung zur Datenbank verwendet. Wenn Sie Nachrichten durchsuchen, können Sie unterschiedliche Konten/Berechtigungen für verschiedene Module verwenden. Darüber hinaus muss auch streng konfiguriert werden, welche gespeicherten Prozeduren der Datenbank aufgerufen werden können. Alle nicht verwendeten Prozeduren sind deaktiviert (insbesondere cmd), um zu verhindern, dass gespeicherte Prozeduren der Datenbank für Systemaufrufe nach der Injektion verwendet werden.
2. Führen Sie beim Abrufen der vom Client übermittelten Parameter eine strenge Filterung durch, einschließlich Parameterlänge, Parametertyp usw.;
3. Schützen Sie den Hintergrund des Administrators strikt. Wenn möglich, sollte er so eingestellt werden, dass er nur den Zugriff auf bestimmte IP-Adressen zulässt (z. B. nur den Zugriff auf das Netzwerksegment des Administrators zulassen) – dies hängt von der tatsächlichen Situation ab.
4. Konfigurieren Sie das Betriebssystem sicher, um zu verhindern, dass Systemfunktionen nach der Injektion aufgerufen werden, z
cmd.exe/tftp.exe/ftp.exe/net.exe
Alle diese Dateien werden in andere Verzeichnisse übertragen und den Verzeichnissen werden strenge Berechtigungen zugewiesen.
5. Richten Sie die Netzwerkzugriffskontrolle ein.
6. Konfigurieren Sie nach Möglichkeit die Inhaltsfilterung für HTTP, um Viren, bösartige Skripte usw. zu filtern.
7. Bei Bedarf können Sie die Wahl von HTTPS in Betracht ziehen, was viele Scans durch das Injektionstool verhindern kann. Als ich das Injektionserkennungstool selbst entwickelte, dachte ich darüber nach, HTTPS zu unterstützen, aber es wurde noch nicht implementiert.
Ich glaube, Sie haben auch bemerkt, dass das Programm im Allgemeinen hauptsächlich Probleme wie Berechtigungen und Parameterfilterung berücksichtigt. Zu den Berechtigungen gehören hauptsächlich IIS-Browsing-Berechtigungen und Datenbankaufrufberechtigungen. Darüber hinaus muss auch die Sicherheitskonfiguration der Datenbank und des Betriebssystems berücksichtigt werden. Darüber hinaus frage ich mich, ob Sie während des Entwicklungsprozesses Komponenten verwenden werden, die von anderen entwickelt wurden, z. B. beim Hochladen von Bildern. Oder haben Sie die Sicherheit solcher Komponenten während des Entwicklungsprozesses untersucht? Auch die im Internet und in Büchern bereitgestellten Codes, wie z. B. die Überprüfung der Benutzeranmeldung usw., müssen untersucht werden.