[Einführung] Die Datenbank ist die Grundlage von E-Commerce-, Finanz- und ERP-Systemen und speichert normalerweise wichtige Geschäftspartner- und Kundeninformationen. Die elektronischen Daten der meisten Unternehmen, Organisationen und Regierungsbehörden werden in verschiedenen Datenbanken gespeichert. Sie nutzen diese Datenbanken, um einige persönliche Informationen zu speichern und auch sensible Finanzinformationen zu speichern.
Datenbanken werden in E-Commerce-, Finanz- und ERP-Systemen verwendet . Grundsätzlich werden in der Regel wichtige Geschäftspartner- und
Kundeninformationen gespeichert. Die elektronischen Daten der meisten Unternehmen, Organisationen und Regierungsbehörden werden in verschiedenen Datenbanken gespeichert. Sie
nutzen diese Datenbanken, um einige persönliche Informationen zu speichern und auch sensible Finanzdaten zu speichern. Allerdings wird bei Datenbanken in der Regel nicht so viel Wert auf Sicherheit gelegt wie bei
Betriebssystemen und Netzwerken. Daten sind das Lebenselixier von Unternehmen und Organisationen, daher ist die Wahl
einer sicheren Datenbank von entscheidender Bedeutung. Große Websites verwenden im Allgemeinen Oracle oder DB2, während kleine und mittlere Websites meist die flexiblere und kompaktere MSSQL-Datenbank oder MySQL-Datenbank verwenden. Was ist also unter den gleichen Bedingungen sicherer: MSSQL von Microsoft oder kostenloses MySQL?
Ich habe MSSQL und MySQL standardmäßig mit dem Administratorkonto auf meinem Computer installiert, um
sp4, FTP-Dienst und IIS-Dienst sind installiert und unterstützen ASP und PHP. Das System verfügt nur über ein Administratorkonto, admin, und das Gastkonto
ist nicht deaktiviert.
1. Probleme mit der MySQL-Datenbank-Berechtigungskontrolle
Die MySQL-Berechtigungskontrolle basiert auf der MySQL-Datenbank, die aufgerufen wird Die Autorisierungstabelle umfasst insgesamt sechs Tabellen
columns_priv, db, func, host, tables_priv und user. Verwenden Sie zunächst den Befehl desc user, um die Struktur der sehr wichtigen Benutzertabelle anzuzeigen und den Inhalt abzufragen. Jetzt können Sie deren Berechtigungseinstellungen anzeigen.Verwenden Sie den Befehl
. Dieser Befehl überprüft mehrere gefährliche Berechtigungen. Die Ergebnisse sind wie folgt:
select host,user,password,delete_priv,update_priv,drop_priv from user;
Der erste bedeutet die Verwendung von Root auf diesem Computer . Melden Sie sich mit einem Passwort an und haben Sie die Berechtigung zum Löschen von Datensätzen, zum Ändern von Datensätzen, zum Löschen von Tabellen usw.
mysql> select host,user,password,delete_priv,update_priv,drop_priv from user; +-----------+------+------------------+-------------+-------------+-----------+ | host | user | password | delete_priv | update_priv | drop_priv | +-----------+------+------------------+-------------+-------------+-----------+ | localhost | root |0e4941f53f6fa106 | Y | Y | Y | | % | root | | Y | Y | Y | | localhost | | | Y | Y | Y | | % | | | N | N | N | +-----------+------+------------------+-------------+-------------+-----------+ 4 rows in set (0.00 sec)
Offensichtlich sind die zweite, dritte und vierte Variante alle unsicher! Es versteht sich von selbst, dass Sie sich beim zweiten wie beim dritten auch dann bei der MySQL-Datenbank anmelden können, wenn Sie lokal über Gastberechtigungen verfügen
und über vollständige Berechtigungen verfügen. Auf diese Weise können Sie mit der Datenbank machen, was Sie wollen.
Lösung: Wenn Sie keine Fernwartung benötigen, löschen Sie das zweite Element
oder fügen Sie ein sicheres Passwort hinzu. Löschen Sie den dritten Artikel,
delete from user where host="%" and user="root";
delete from user where host="localhost" and user="";