Base de datos 1 my sql

Solo disponible en BuenasTareas
  • Páginas : 5 (1129 palabras )
  • Descarga(s) : 0
  • Publicado : 12 de febrero de 2011
Leer documento completo
Vista previa del texto
VI Sextas Jornadas Regionales de Software Libre

Seguridad en MySQL
Farid Alfredo Bielma Lopez
fbielma@fbielma.org

http://www.fbielma.org/talks/
Mendoza, República de Argentina. 14 de Octubre del 2006

Agenda
• Introduccion • Estructura de MySQL • Seguridad en MySQL • Copias de seguridad • Importacion de Datos • Mantenimiento de Bases de Datos

Introducción
Al tratar el tema de laseguridad en MySQL, es importante considerar la necesidad de proteger totalmente la máquina completa contra todos los tipos de ataques posibles: intercepción pasiva de paquetes, reproducción de comandos, y denegación de servicio.

Estructura de MySQL
Los directorios /include y /lib contiene los fichero *.h y las librerias necesarias, en /bin estan los ficheros ejecutables y en /dataencontraremos como subdirectorio cada una de las bases de datos que hayamos creado.

Estructura de MySQL
Por cada tabla que definamos MySQL va ha crear tres archivos: mitabla.ISD, mitabla.ISM, mitabla.frm.
El sistema de permisos MySQL lo guarda en una base de datos llamada mysql, la cuál se componen de cinco tablas: host, user, db, tables_priv, colums_priv.

La Tabla User
CAMPO Host User PasswordSelect_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv File_priv Grant_priv References_priv Alter_priv TIPO char(60) char(16) char(16) enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') enum('N','Y') N N N N N N N N N N N N POR DEFECTO

Recomendacionesen MySQL
• No dé nunca a nadie (excepto a la cuenta root de MySQL acceso a la tabla User en la base de datos mysql) Esto es crítico. La clave cifrada es la verdadera clave en MySQL. • Estudie el sistema de privilegios de acceso de MySQL. Las sentencias GRANT y REVOKE se utilizan para controlar el acceso a MySQL. No otorgue más privilegios de los necesarios.

Recomendaciones en MySQL
• Noelija claves que puedan aparecer en un diccionario. Existen programas especiales para romperlas. Incluso claves como ``perro98'' son muy malas. Es mucho mejor ``oweei98'‘. • Invierta en un firewall. Le protegerá de al menos el 50% de todos los tipos de vulnerabilidades de cualquier software. Ponga MySQL tras el firewall o en una zona desmilitarizada (DMZ).

Recomendaciones en MySQL
• Intenteescanear sus puertos desde Internet utilizando una herramienta como nmap. MySQL utiliza el puerto 3306 por defecto. • Probar si el puerte MySQL está abierto, intente el siguiente comando desde alguna máquina remota, donde su servidor MySQL se está ejecutando: shell> telnet server_host 3306

Seguridad en la Base de Datos
Pruebe el comando mysql -u root. Si es capaz de conectar al servidor sin lanecesidad de introducir una clave, tiene problemas. Cualquier persona podrá conectar a su servidor MySQL como el usuario root de MySQL con privilegios totales!

Asignar Password de Root
Luego de instalar MySQL en Unix, se necesita inicializar las tablas de permisos, ejecutar el servidor, y asegurarse de que éste funciona correctamente. Las tablas de permisos se configuran mediante el programamysql_install_db.

Asignar Password de Root
Con mysqladmin:

mysqladmin -u root password 'newpass‘

Con SET PASSWORD:
shell> mysql -u root mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');

Asignar Password de Root
Con la sentencia UPDATE:

shell> mysql -u root mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')WHERE User = ''; mysql> FLUSH PRIVILEGES;

LaSentencia GRANT
Utilice la sentencia SHOW GRANTS y compruebe quien tiene acceso a qué recurso. Después utilice la sentencia REVOKE para denegar los privilegios que no son necesarios. Uso de Grant: mysql> GRANT ALL PRIVILEGES ON test.*
TO 'root'@'localhost' IDENTIFIED BY 'goodsecret';

Carácteres de Escape
Muchas interfaces de programación de aplicaciones proveen alguna manera de preceder con...
tracking img