| Formulario de acceso |
|---|
| Anuncios |
|---|
|
|
| Sistema de correo con Postfix, Cyrus y MySQL (IV - Seguridad en mySQL) |
|
|
| miércoles, 18 de enero de 2006 | ||
|
Daremos en este capítulo algunos pasos para añadir seguridad adicional a nuestro servidor mySQL. Asegurando MySQLComo nuestra intención es utilizar una base de datos corriendo en un servidor de mySQL para autenticar a los usuarios de correo, necesitamos alguna medida adicional de seguridad. En este caso, habremos de cerrar el acceso al puerto que utiliza mySQL para la comunicación con otras máquinas: el puerto 3306. La forma más sencilla de hacer esto es dirigiendo al demonio mysqld al interface local de red 127.0.0.1. Nos aseguramos de esta forma de que nadie pueda realizar una conexión al demonio de mySQL a través de la red. Para lograr este objetivo, es necesario editar el fichero encargado de iniciar el sistema mySQL. En Fedora, este fichero se sitúa por defecto en /etc/init.d/mysqld. Una vez cargado el fichero, buscaremos la línea que hace referencia al comando mysqld_safe, que es un ejecutable especial encargado de llamar al demonio mysqld y de pasarle ciertos parámetros que añaden una seguridad extra y un sistema de información en tiempo real de cualquier tipo de error que se produzca en relación a mySQL. Por ejemplo, mysqld_safe se encargará de reiniciar el servidor cuando se produzca algún error que impida el correcto funcionamiento del mismo. En Fedora Core 4, la línea en cuestión aparece como sigue: /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file="$mypidfile" >/dev/null 2>&1 & A parte de los suyos propios, mysqld_safe pasará al demonio mysqld cualquier parámetro compatible con este último. Así que usaremos --bind-address para hacer que mysqld se ejecute sólo en el entorno 127.0.0.1 o loopback : /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --bind-address=127.0.0.1 --pid-file="$mypidfile" >/dev/null 2>&1 & Para más información acerca de los parámetros de ejecución de mysqld_safe y mysqld, recurriremos a las páginas del manual de ambos comandos. Una vez realizados los cambios, reiniciaremos el servidor de mySQL ( /etc/init.d/mysqld restart ) y nos aseguraremos de haber realizado los cambios de forma correcta. Para ello, podemos hacer uso del siguiente comando: # netstat -an|grep LISTEN Y buscaremos en la salida algo similar a esto: tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN Configurando el firewall Si tenemos previsto que nuestro servidor de mySQL corra en una máquina distinta a la del servidor de correo, habremos de realizar una serie de cambios en la configuración de nuestro firewall. Esto nos permitirá tener asegurada la conexión al demonio mysqld. Para ello, redirigiremos el puerto 3306 hacia la IP local de nuestro servidor mySQL y daremos acceso desde el firewall a la máquina que vaya a hacer de servidor de correo. En los sistemas Fedora, el programa iptables se encarga de realizar redirecciones de puertos, sustituyendo éste al antiguo rinetd. Como podrá suponerse, no se adelantará aquí ninguna configuración de iptables, por la cantidad de configuraciones que se pueden manejar y por estar este manual orientado a otro tipo de instalación que nada tiene que ver con iptables. SELinux Capítulo aparte merece el programa de bloqueos de seguridad sobre el kernel SELinux. En los sistemas Fedora, el kernel viene compilado por defecto con esta característica, siendo altamente recomendable su inutilización. Las incompatibilidades creadas entre SELinux y otras partes del sistema operativo son tantas que, hasta que no sea SELinux un sistema altamente probado, no se puede recomendar su uso. Para el caso que nos ocupa y dependiendo de ciertas configuraciones, el servidor de mySQL puede no llegar ni a arrancar de forma correcta si SELinux está habilitado. Por lo tanto, modificaremos el archivo /etc/selinux/config y nos aseguraremos de que el parámetro SELINUX está igualado a disabled : SELINUX = disabled
Sólo los usuarios registrados pueden escribir comentarios. Powered by AkoComment 2.0! |
||
| < Anterior | Siguiente > |
|---|







