Поиск…


Лучшая практика

Ограничить root (и любого другого пользователя с привилегией SUPER) до

GRANT ... TO root@localhost ...

Это предотвращает доступ с других серверов. Вы должны передать СУПЕР очень мало людей, и они должны осознавать свою ответственность. Приложение не должно иметь SUPER.

Ограничить использование приложений для одной базы данных, используемой им:

GRANT ... ON dbname.* ...

Таким образом, кто-то, кто взламывает код приложения, не может пройти мимо dbname. Это может быть дополнительно уточнено с помощью любого из них:

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

В readonly также могут быть «безопасные» вещи, такие как

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

Как вы говорите, нет абсолютной безопасности. Я хочу сказать, что вы можете сделать несколько вещей, чтобы замедлить хакеров. (То же самое касается честных людей.)

В редких случаях вам может понадобиться приложение, чтобы сделать что-то доступное только для root. это можно сделать с помощью «Хранимой процедуры», в которой установлен SECURITY DEFINER (и определяет корень). Это покажет только то, что делает SP, что может быть, например, одним конкретным действием в одной конкретной таблице.

Хост (пользователя @ host)

«Хост» может быть либо именем хоста, либо IP-адресом. Кроме того, он может включать в себя дикие карты.

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

Примеры: Примечание: обычно их нужно указывать

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.)

Использование localhost зависит от безопасности сервера. Для лучшей практики root должен разрешаться только через localhost. В некоторых случаях это означает одно и то же: 0.0.0.1 и ::1 .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow