Szukaj…


Najlepsze praktyki

Ogranicz root (i każdego innego użytkownika z uprawnieniami SUPER) do

GRANT ... TO root@localhost ...

To uniemożliwia dostęp z innych serwerów. Powinieneś rozdawać SUPER bardzo niewielu osobom, a one powinny być świadome swojej odpowiedzialności. Aplikacja nie powinna mieć SUPER.

Ogranicz logowanie aplikacji do jednej bazy danych, z której korzysta:

GRANT ... ON dbname.* ...

W ten sposób ktoś, kto włamie się do kodu aplikacji, nie będzie w stanie przeoczyć nazwy dbname. Można to dodatkowo ulepszyć za pomocą jednego z poniższych:

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

Tylko do odczytu mogą również potrzebować „bezpiecznych” rzeczy

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

Jak mówisz, nie ma absolutnego bezpieczeństwa. Chodzi mi o to, że możesz zrobić kilka rzeczy, aby spowolnić hakerów. (To samo dotyczy uczciwych ludzi wygłupiających się.)

W rzadkich przypadkach możesz potrzebować aplikacji, aby zrobić coś dostępnego tylko do rootowania. można tego dokonać za pomocą „Procedury SECURITY DEFINER ”, która ma SECURITY DEFINER (i root ją definiuje). To ujawni tylko to, co robi SP, co może na przykład być jedną konkretną akcją na jednym stole.

Host (użytkownika @ host)

„Host” może być nazwą hosta lub adresem IP. Może również obejmować dzikie karty.

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

Przykłady: Uwaga: zazwyczaj należy je zacytować

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

Korzystanie z localhost zależy od bezpieczeństwa serwera. Aby uzyskać najlepszą praktykę, root powinno być dozwolone tylko przez localhost. W niektórych przypadkach oznaczają to to samo: 0.0.0.1 i ::1 .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow