Heim  >  Artikel  >  Datenbank  >  MySQL-Zugriffsautorisierungsrichtlinie

MySQL-Zugriffsautorisierungsrichtlinie

黄舟
黄舟Original
2016-12-22 16:42:001521Durchsuche

Ich denke, jeder weiß: Wenn die Autorisierung am einfachsten, leichtesten und bequemsten ist und den geringsten Wartungsaufwand erfordert, ist sie natürlich auch die einfachste und bequemste Möglichkeit, allen Benutzern alle Berechtigungen zu erteilen. Wir alle wissen jedoch sicherlich, dass die potenzielle Bedrohung für unser System umso größer ist, je größer die Autorität eines Benutzers ist. Aus Sicherheitsgründen gilt daher: Je kleiner die gewährten Berechtigungen, desto besser. Ein Administrator mit ausreichendem Sicherheitsbewusstsein wird bei der Erteilung der Autorisierung nur die erforderlichen Berechtigungen erteilen und keine unnötigen Berechtigungen erteilen. Da sich unser Kapitel der Erörterung der Sicherheit widmet, werden wir uns nun mit der Frage befassen, wie wir aus sicherheitstechnischer Sicht eine sicherere und sinnvollere Autorisierungsstrategie entwerfen können.

Zuerst müssen Sie den Gast-Gastgeber verstehen.

Da bei der MySQL-Datenbankanmeldung der Benutzer zusätzlich zum Benutzernamen und Passwort überprüft wird, muss auch der Quellhost überprüft werden. Daher müssen wir auch wissen, von welchen Hosts aus jeder Benutzer Verbindungen initiieren darf. Natürlich können wir den Platzhalter „%“ auch direkt verwenden, um allen Hosts bei der Autorisierung Zugriffsberechtigungen zu erteilen. Dies verstößt jedoch gegen die Grundsätze unserer Sicherheitsrichtlinien und birgt potenzielle Risiken, sodass dies nicht ratsam ist. Insbesondere wenn im LAN kein Firewall-Schutz vorhanden ist, kann die Existenz von Benutzern, die sich von jedem Host aus anmelden können, nicht einfach zugelassen werden. Wenn er durch einen bestimmten Hostnamen oder eine bestimmte IP-Adresse angegeben werden kann, versuchen Sie, den besuchenden Host durch die Verwendung eines bestimmten Hostnamens und einer bestimmten IP-Adresse einzuschränken. Wenn er nicht durch einen bestimmten Hostnamen oder eine bestimmte IP-Adresse angegeben werden kann, muss er ebenfalls eingeschränkt werden durch die Verwendung eines möglichst kleinen Wildcard-Bereichs.

Zweitens: Verstehen Sie die Benutzerbedürfnisse.

Da wir nur die erforderlichen Berechtigungen erteilen möchten, müssen wir die Rolle jedes Benutzers verstehen. Das heißt, wir müssen vollständig verstehen, welche Arbeit jeder Benutzer für die Verbindung mit der Datenbank ausführen muss. Verstehen Sie, ob der Benutzer ein schreibgeschützter Anwendungsbenutzer oder ein Lese-/Schreibkonto ist; ob der Benutzer ein Sicherungsauftragsbenutzer oder ein tägliches Verwaltungskonto ist; ob der Benutzer nur auf eine bestimmte (oder einige wenige) Datenbanken (Schema) zugreifen muss; ), müssen weiterhin auf alle Datenbanken zugreifen. Nur wenn wir verstehen, was getan werden muss, können wir genau verstehen, welche Berechtigungen erteilt werden müssen. Denn wenn die Berechtigungen zu niedrig sind, wird die Arbeit nicht normal abgeschlossen, und wenn die Berechtigungen zu hoch sind, besteht ein potenzielles Sicherheitsrisiko.

Klassifizieren Sie die Arbeit erneut.

Um ihre jeweiligen Aufgaben zu erfüllen, müssen wir die zu erledigende Arbeit klassifizieren, verschiedene Benutzer für verschiedene Arbeitskategorien verwenden und eine gute Benutzertrennung durchführen. Auch wenn dadurch die Verwaltungskosten etwas ansteigen, lohnt sich dieser erhöhte Verwaltungsaufwand aus Sicherheitsgründen durchaus. Und die Benutzertrennung, die wir vornehmen müssen, ist nur eine mäßige Trennung. Trennen Sie beispielsweise bestimmte Konten für die Durchführung von Sicherungsarbeiten, Replikationsarbeiten, allgemeinem Anwendungszugriff, schreibgeschütztem Anwendungszugriff und täglicher Verwaltungsarbeit, um jedem die erforderlichen Berechtigungen zu erteilen. Auf diese Weise können Sicherheitsrisiken minimiert werden und ähnliche Berechtigungen desselben Typs und derselben Stufe können zusammengeführt werden, ohne dass sie miteinander verflochten sind. Sonderberechtigungen wie PROCESS, FILE und SUPER sind nur für Administratorkonten erforderlich und sollten anderen nichtadministrativen Konten nicht gewährt werden.

Stellen Sie abschließend sicher, dass nur diejenigen über GRANT OPTION-Berechtigungen verfügen, die unbedingt erforderlich sind.

Als wir das Berechtigungssystem zuvor eingeführt haben, haben wir die Besonderheiten der GRANT OPTION-Berechtigung und die potenziellen Risiken dieser Berechtigung kennengelernt, sodass wir hier nicht näher darauf eingehen. Kurz gesagt: Aus Sicherheitsgründen gilt: Je weniger Benutzer mit GRANT OPTION-Berechtigungen, desto besser. So weit wie möglich haben nur Benutzer mit Superberechtigungen GRANT OPTION-Berechtigungen.

Das Obige ist der Inhalt der MySQL-Zugriffsautorisierungsrichtlinie. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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