[Introduction] La base de données est la base des systèmes de commerce électronique, financiers et ERP, et stocke généralement des informations importantes sur les partenaires commerciaux et les clients. Les données électroniques de la plupart des entreprises, organisations et services gouvernementaux sont stockées dans diverses bases de données. Ils utilisent ces bases de données pour enregistrer certaines informations personnelles et détiennent également des informations financières sensibles
Les bases de données sont utilisées dans les systèmes de commerce électronique, de finance et d'ERP. . Fondamentalement, les partenaires commerciaux importants et les
informations sur les clients sont généralement stockés. Les données électroniques de la plupart des entreprises, organisations et services gouvernementaux sont stockées dans diverses bases de données. Ils
utilisent ces bases de données pour stocker certaines informations personnelles et détiennent également des données financières sensibles. Mais les bases de données ne reçoivent généralement pas autant d'attention en matière de sécurité que les
systèmes d'exploitation et réseaux. Les données sont l’élément vital des entreprises et des organisations, il est donc crucial de choisir
une base de données sécurisée. Les grands sites Web utilisent généralement Oracle ou DB2, tandis que les sites Web de petite et moyenne taille utilisent principalement la base de données mssql ou la base de données mysql, plus flexible et compacte. Alors, dans les mêmes conditions, lequel est le plus sécurisé, le mssql de Microsoft ou le mysql gratuit ?
J'ai installé mssql et mysql par défaut sur ma machine en utilisant le compte administrateur afin de
sp4, le service ftp et le service iis sont installés, prenant en charge asp et php. Le système n'a qu'un seul compte administrateur, admin, et le compte invité
n'est pas désactivé.
1. Problèmes de contrôle des autorisations de la base de données mysql
Le contrôle des autorisations MySQL est basé sur la base de données MySQL, appelée La table d'autorisation comprend un total de six tables
columns_priv, db, func, host, tables_priv et user. Utilisez d’abord la commande desc user pour afficher la structure de la table utilisateur très importante afin d’interroger le contenu. Vous pouvez maintenant afficher ses paramètres d’autorisation.Utilisez la commande
Cette commande vérifie plusieurs autorisations plus dangereuses. Les résultats affichés sont les suivants :
select host,user,password,delete_priv,update_priv,drop_priv from user;
La première signifie utiliser root sur ceci. machine Connectez-vous avec un mot de passe et disposez des autorisations nécessaires pour supprimer des enregistrements, modifier des enregistrements, supprimer des tables, etc.
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)
Évidemment, les deuxième, troisième et quatrième sont tous dangereux ! Inutile de dire que le deuxième, comme pour le troisième, même si vous disposez des autorisations d'invité localement
, vous pouvez toujours vous connecter à la base de données mysql et disposer de toutes les autorisations. De cette façon, vous pouvez faire ce que vous voulez avec la base de données.
Solution : Si vous n'avez pas besoin de maintenance à distance, supprimez le deuxième élément,
ou ajoutez-y un mot de passe fort. Supprimez le troisième article,
delete from user where host="%" and user="root";
delete from user where host="localhost" and user="";