Suche…


Beste Übung

Begrenzen Sie root (und alle anderen Benutzer mit SUPER-Berechtigungen) auf

GRANT ... TO root@localhost ...

Das verhindert den Zugriff von anderen Servern. Sie sollten SUPER nur sehr wenigen Menschen aushändigen, und sie sollten sich ihrer Verantwortung bewusst sein. Die Anwendung sollte nicht SUPER haben.

Beschränken Sie die Anwendungs-Logins auf die Datenbank, die sie verwendet:

GRANT ... ON dbname.* ...

Auf diese Weise kann jemand, der sich in den Anwendungscode stürzt, nicht an dbname vorbei gelangen. Dies kann durch eine der folgenden Optionen weiter verfeinert werden:

GRANT SELECT ON dname.* ...    -- "read only"
GRANT ... ON dname.tblname ... -- "just one table"

Das Readonly benötigt möglicherweise auch "sichere" Dinge wie

GRANT SELECT, CREATE TEMPORARY TABLE ON dname.* ...    -- "read only"

Wie Sie sagen, gibt es keine absolute Sicherheit. Mein Punkt hier ist, dass Sie ein paar Dinge tun können, um Hacker zu verlangsamen. (Gleiches gilt für ehrliche Leute, die vermasseln.)

In seltenen Fällen müssen Sie die Anwendung möglicherweise nur für root verwenden. Dies kann über eine "gespeicherte Prozedur" erfolgen, die über SECURITY DEFINER (und root definiert sie). Dadurch wird nur angezeigt, was der SP macht, was beispielsweise eine bestimmte Aktion für eine bestimmte Tabelle sein kann.

Host (von Benutzer @ Host)

Der "Host" kann entweder ein Hostname oder eine IP-Adresse sein. Es kann sich auch um Platzhalter handeln.

GRANT SELECT ON db.* TO sam@'my.domain.com' IDENTIFIED BY 'foo';

Beispiele: Hinweis: Diese müssen in der Regel zitiert werden

localhost -- the same machine as mysqld
'my.domain.com' -- a specific domain; this involves a lookup
'11.22.33.44' -- a specific IP address
'192.168.1.%' -- wild card for trailing part of IP address.  (192.168.% and 10.% and 11.% are "internal" ip addresses.)

Die Verwendung von localhost hängt von der Sicherheit des Servers ab. Für eine optimale Vorgehensweise sollte root nur über localhost zugelassen werden. In einigen Fällen bedeuten diese das Gleiche: 0.0.0.1 und ::1 .



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow