Sprechen Sie darüber, wie Sie die Sicherheit der MySQL-Datenbank aus Netzwerkperspektive verbessern können
Beim Verbinden einer MySQL-Datenbank mit dem Netzwerk treten einige besondere Sicherheitsprobleme auf.
Es ist keine schlechte Idee, einen Benutzer speziell für Netzwerkverbindungen zu erstellen. Dadurch werden ihnen die erforderlichen, minimalen Berechtigungen erteilt, wodurch dem Benutzer keine Berechtigungen wie DROP-, ALTER- oder CREATE-Berechtigungen gewährt werden. Möglicherweise erteilen wir die SELECT-Berechtigung nur in der Typtabelle und die INSERT-Berechtigung nur in der Auftragstabelle. Darüber hinaus ist dies ein Beispiel für die Anwendung des Prinzips der geringsten Rechte.
Tipp: Im vorherigen Inhalt haben wir über die PHP-Funktion addslashes() und stripslashes() gesprochen, um alle Zeichen zu entfernen, die Probleme verursachen könnten. Denken Sie unbedingt daran und führen Sie eine allgemeine Datenbereinigung durch, bevor Sie Daten an die MySQL-Datenbank senden. Sie erinnern sich vielleicht, dass wir die Funktion doubleval() verwendet haben, um zu überprüfen, ob numerische Daten tatsächlich numerische Daten sind. Ein Fehler, den wir oft machen, ist, es zu vergessen – die Leute denken oft daran, addslashes() zu verwenden, vergessen aber, nach numerischen Daten zu suchen.
Alle Daten von Benutzern sollten regelmäßig überprüft werden. Auch wenn ein HTML-Formular aus Optionsfeldern und Schaltflächen besteht, kann jemand dennoch auf das Skript zugreifen, indem er versucht, die URL zu ändern. Zusätzlich sollte die Größe der Benutzerdaten überprüft werden.
Wenn das vom Benutzer eingegebene Passwort oder vertrauliche Daten in der Datenbank gespeichert werden müssen, beachten Sie bitte, dass diese Daten vom Browser übertragen werden, wenn es sich nicht um SSL (Secure Sockets Layer, verschlüsselte Socket-Schicht) handelt an den Browser im Klartext-Server. Bezüglich der Verwendung von SSL werden wir später darauf eingehen.
Risikokomponenten entfernen
Die Standardkonfiguration der MySQL-Datenbank enthält einige unnötige Komponenten, die Sie berücksichtigen können die folgenden Vorschläge:
1. Deaktivieren Sie den Befehl LOAD DATA LOCAL INFILE
Mit diesem Befehl können Benutzer lokale Dateien lesen und sogar auf Dateien auf anderen Betriebssystemen zugreifen, was Angreifern dabei helfen kann, wichtige Informationen zu sammeln Nutzen Sie Anwendungsschwachstellen aus, um in Ihre Datenbank einzudringen. Sie müssen lediglich set-variable=local-infile=0 in die Datei my.cnf der MySQL-Datenbank einfügen, um diese Direktive zu deaktivieren.
2. Löschen Sie die Testdatenbank
Zu Testzwecken gibt es eine Standarddatenbank „Test“. Da diese Datenbank ein Sicherheitsrisiko darstellt und anonyme Benutzer darauf zugreifen können, sollten Sie sie so schnell wie möglich mit dem Befehl „mysql>“ löschen.
3. Löschen Sie die Verlaufsdatei
Der MySQL-Server verfügt über eine Verlaufsdatei, die Ihnen helfen kann, das Problem zu finden, wenn die Installation fehlschlägt. Verlaufsdateien enthalten vertrauliche Informationen, wie z. B. Passwörter. Wenn diese Informationen von einem Angreifer abgerufen werden, birgt dies enorme Sicherheitsrisiken für Ihre Datenbank. Nach erfolgreicher Installation ist die Verlaufsdatei nutzlos. Sie können den Inhalt der Datei daher mit dem Befehl cat /dev/null > löschen.
[Verwandte Empfehlungen]
Verbessern Sie die Sicherheit der MySQL-Datenbank (1)
Verbessern Sie die Sicherheit der MySQL-Datenbank (2)
Verbessern Sie die Sicherheit von MySQL-Datenbanksicherheit (3)
Das obige ist der detaillierte Inhalt vonVerbesserung der Sicherheit der MySQL-Datenbank (4). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!