Buscar..


Mejores prácticas

Limite la raíz (y cualquier otro usuario con privilegios SUPER) a

GRANT ... TO root@localhost ...

Eso impide el acceso desde otros servidores. Debe entregar SUPER a muy pocas personas y ellos deben ser conscientes de su responsabilidad. La aplicación no debe tener SUPER.

Limite los inicios de sesión de la aplicación a la base de datos que usa:

GRANT ... ON dbname.* ...

De esa manera, alguien que hackea el código de la aplicación no puede pasar el dbname. Esto puede ser refinado aún más a través de cualquiera de estos:

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

La lectura solo puede necesitar cosas "seguras" como

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

Como dices, no hay seguridad absoluta. Mi punto aquí es que puedes hacer algunas cosas para frenar a los hackers. (Lo mismo ocurre con las personas honestas que hacen el tonto).

En raras ocasiones, es posible que necesite la aplicación para hacer algo disponible solo para root. Esto se puede hacer a través de un "Procedimiento almacenado" que tiene SECURITY DEFINER (y la raíz lo define). Eso expondrá solo lo que hace el SP, que podría ser, por ejemplo, una acción particular en una tabla en particular.

Host (del usuario @ host)

El "host" puede ser un nombre de host o una dirección IP. Además, puede implicar comodines.

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

Ejemplos: Nota: estos usualmente necesitan ser citados

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

El uso de localhost basa en la seguridad del servidor. Para las mejores prácticas, la root solo debe permitirse a través de localhost. En algunos casos, estos significan lo mismo: 0.0.0.1 y ::1 .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow