Proteccion a la base de datos

5
Seguridad de la informacion Integrantes: Hector Giovany Parra Navarro Rosa Torres Arroyo Luis Alberto Zuñiga García Proteccion de acceso a la base de datos

Transcript of Proteccion a la base de datos

Page 1: Proteccion a la base de datos

Seguridad de la informacion

Integrantes:

Hector Giovany Parra NavarroRosa Torres Arroyo

Luis Alberto Zuñiga García

Proteccion de acceso a la base de datos

Page 2: Proteccion a la base de datos

¡No de nunca a nadie (excepto a la cuenta root de MySQL acceso a la tabla user en la base de datos mysql! Cualquiera que sepa cual es la clave que hay en la tabla user y tenga acceso a la máquina host de la cuenta registrada puede acceder fácilmente como ese usuario.

Estudie el sistema de privilegios de acceso de MySQL. Las sentencias GRANT y REVOKE se utilizan para controlar el acceso a MySQL.

Pruebe el comando mysql -u root. Si es capaz de conectar al servidor sin la necesidad de introducir una clave, tiene problemas. ¡Cualquiera puede conectar a su servidor MySQL como el usuario root de MySQL con privilegios totales!.

No almacene ninguna clave sin cifrar en su base de datos. En vez de eso, utilice MD5(), SHA1().

No elija claves que puedan aparecer en un diccionario. Existen programas especiales para romperlas.

Guía de seguridad general

Page 3: Proteccion a la base de datos

• Invierta en un firewall. Le protegerá de al menos el 50% de todos los tipos de

vulnerabilidades de cualquier software.

• Utilice la sentencia SHOW GRANTS y compruebe quién tiene acceso a qué. Después utilice la sentencia REVOKE para denegar los privilegios que no son necesarios.

• Intente escanear sus puertos desde Internet utilizando una herramienta como nmap. MySQL utiliza el puerto 3306 por defecto. Este puerto no debería ser accesible desde lugares no confiables. para probar si el puerto MySQL está abierto o no se escribe el siguiente comando desde alguna máquina remota, shell> telnet server_host 3306

• No confíe en ningún dato enviado por los usuarios de sus aplicaciones. Pueden intentar engañar a su código introduciendo secuencias de caracteres especiales en formularios webs, URLs, o cualquier aplicación que haya desarrollado. Asegúrese de que su aplicación permance segura si un usuario introduce algo como ``; DROP DATABASE mysql;'‘

Page 4: Proteccion a la base de datos

• Un error común es proteger únicamente valores de tipo cadena de caracteres. Recuerde comprobar los datos numéricos también. Si una aplicación genera una consulta como SELECT * FROM table WHERE ID=234 cuando un usuario introduce el valor 234, el usuario podría introducir el valor 234 OR 1=1 para provocar que la aplicación genere la consulta SELECT * FROM table WHERE ID=234 OR 1=1. Como resultado, el servidor extraerá todos los registros en la tabla.

• No transmita datos sin cifrar por Internet. En vez de eso, utilice un protocolo de cifrado como SSL o SSH. MySQL soporta conexiones SSL internas desde la versión 4.0.0

• Aprenda a utilizar las herramientas tcpdump y strings. En la mayoría de los casos, usted puede comprobar si los flujos de datos de MySQL están cifrados ejecutando un comando como el siguiente:

shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings

Page 5: Proteccion a la base de datos

Refencia:

http://dev.mysql.com/doc/refman/5.0/es/security-guidelines.html