Cómo proteger y asegurar MySQL o MariaDB en un servidor Linux VPS

Os podría contar un rollo tremendo sobre cómo proteger y asegurar MySQL o MariaDB en un servidor Linux VPS pero casi que lo primero que voy a hacer es daros la solución más sencilla para convertir vuestra base de datos en un verdadero fortín. Y es muy sencillo.

  • Requisitos: Tener un servidor Linux con Maria DB o MySQL instaladas y acceso SSH al servidor con privilegios root.

Cómo proteger y asegurar MySQL o MariaDB en un servidor Linux VPS: mysql_secure_installation

Si ya has instalado tu base de datos en tu servidor, lo primero que tienes que hacer es, desde acceder mediante una sesión ssh en el terminal a tu servidor y escribir lo siguiente (fuentes: mariadb y mysql):

sudo mysql_secure_installation

Te va a pedir tu contraseña root de usuario con privilegios de administrador y luego te va a pedir el password que usaste para la instalación de la base de datos y te va a empezar a hacer una serie de preguntas:

mysql-mariadb-seguridad

  • Change the root password? [Y/n] y
  • Remove anonymous users? [Y/n] y
  • Disallow root login remotely? y
  • Remove test database and access to it? [Y/n] y
  • Reload privilege tables now? [Y/n] y

Deberíamos de decir que si a todas (bueno, si ya tienes el password root activado a esa puedes decir que no).

Con este sencillo paso ya tendríamos una base de datos en nuestro servidor web bastante segura, pero además, podemos hacer lo siguiente.

Te puede interesar: Los 3 mejores servidores web VPS para alojar tus páginas web

Cómo proteger y asegurar MySQL o MariaDB en un servidor Linux VPS: my.cnf

Ahora tendríamos que ir a nuestro archivo de configuración de la base de datos (normalmente se encuentra en /etc/my.cnf o /etc/mysql/my.cnf), y añadir unas cuantas cosas.

sudo vi /etc/mysql/my.cnf
  • Mysql no debe aceptar conexiones que no vengan del entorno local: bind-address = 127.0.0.1 
  • Deshabilitar el uso de archivos del sistema a usuarios sin los privilegios adecuados para acceder a la base de datos: local-infile=0

Además, deberías asegurarte de que no hay usuarios de las bases de datos sin su correspondiente contraseña.

Y si quieres tener en PDF un “checklist” para asegurar y proteger MySQL o MariDB, te puedes descargar uno en learn.cisecurity.org (además de muchos otros para CentOS, Red Hat, Apache etc). Solo tienes que proporcionar tu e-mail y te lo mandan de manera gratuita.

Vía: www.digitalocean.com