Heim  >  Artikel  >  Datenbank  >  Sicherheitsanalyse von Mssql und Mysql

Sicherheitsanalyse von Mssql und Mysql

黄舟
黄舟Original
2017-02-20 11:54:261764Durchsuche

[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

ihre Sicherheit unter den gleichen Umständen zu testen. Meine Systemkonfiguration ist wie folgt: Betriebssystem Microsoft Windows 2000 Version 5.0,

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. Systeminterne Sicherheitsanalyse

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.

Okay, das ist sicher. Der zweite Punkt bedeutet, dass Sie sich mit root auf jedem Host ohne Passwort anmelden können und über die Berechtigung verfügen, Datensätze zu löschen,
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)
Datensätze zu ändern, Tabellen zu löschen usw. Das dritte Element bedeutet, dass Sie sich anonym auf diesem Computer anmelden können und über die Berechtigung verfügen, Datensätze zu löschen, Datensätze zu ändern, Tabellen zu löschen usw. Der letzte Punkt gibt an, dass Sie sich von jedem Host aus anonym anmelden können, jedoch ohne Berechtigungen.

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";
Das Obige ist der Inhalt der Sicherheitsanalyse von MSSQL und MySQL. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). )!


delete from 
user where host="localhost" and user="";

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn