Proteger un VPS
Información sobre la traducción
Esta traducción ha sido generada de forma automática por nuestro partner SYSTRAN. En algunos casos puede contener términos imprecisos, como en las etiquetas de los botones o los detalles técnicos. En caso de duda, le recomendamos que consulte la versión inglesa o francesa de la guía. Si quiere ayudarnos a mejorar esta traducción, por favor, utilice el botón «Contribuir» de esta página.
Objetivo
Al contratar su VPS, puede elegir una distribución o sistema operativo que quiera preinstalar. El servidor está listo para usar después de la entrega. Sin embargo, usted, como administrador, debe adoptar medidas que garanticen la seguridad y la estabilidad de su sistema.
Esta guía ofrece algunos consejos para proteger un servidor basado en GNU/Linux.
OVHcloud pone a su disposición servicios cuya configuración, seguridad y responsabilidad le pertenecen. En efecto, no tenemos acceso a los datos alojados en estas máquinas ni somos los administradores. Por lo tanto, usted es responsable de la gestión del software y de la seguridad diaria. Esta guía le ayudará a realizar las operaciones más habituales. No obstante, le recomendamos que, si necesita ayuda, contacte con un proveedor especializado en caso de que tenga dificultades o dudas relativas a la administración, la utilización o la seguridad del servidor. Más información en el apartado «Más información» de esta guía.
Requisitos
- Un VPS en su cuenta de OVHcloud.
- Tener acceso de administrador (sudo) al servidor por SSH.
Procedimiento
Tenga en cuenta que esta guía se basa en los sistemas operativos Ubuntu, Debian y CentOS. Tenga en cuenta que algunos comandos deben adaptarse a la distribución que utilice y que algunos consejos le invitan a utilizar herramientas de terceros. Si necesita ayuda, consulte la documentación oficial de estas aplicaciones.
Si se trata de su primera configuración de un VPS de OVHcloud, consulte nuestra guía Primeros pasos con un VPS.
Los siguientes ejemplos implican que está conectado como usuario con permisos muy exigentes.
Índice:
- Actualizar el sistema operativo
- Crear y utilizar una clave SSH
- Cambiar el puerto de escucha SSH por defecto
- Crear un usuario con permisos restringidos
- Configurar el firewall interno (iptables)
- Instalar Fail2ban
- Configuración del firewall de red de OVHcloud
- Guardar copia de seguridad del sistema y los datos
Actualizar el sistema operativo
Los desarrolladores de distribuciones y sistemas operativos ofrecen actualizaciones frecuentes de los paquetes, en muchas ocasiones por motivos de seguridad.
Garantizar que su distribución o sistema operativo estén actualizados es un aspecto fundamental para proteger su VPS.
Esta actualización se realizará en dos pasos:
- Actualizando la lista de paquetes:
- Actualizando los paquetes reales:
El comando es idéntico a Ubuntu porque tanto Debian como Ubuntu utilizan apt.
En CentOS, el comando para actualizar el sistema operativo utiliza yum o dnf, según la versión.
Esta operación debe realizarse regularmente para mantener un sistema actualizado.
Crear y utilizar una clave SSH
La autenticación mediante clave SSH es uno de los métodos más eficaces para garantizar la seguridad del acceso a su VPS.
A diferencia de la autenticación mediante contraseña, se basa en un par de claves criptográficas y permite reducir considerablemente los riesgos de ataques por fuerza bruta.
Le recomendamos encarecidamente que configure una clave SSH desde la primera conexión a su servidor, y que priorice este método para sus accesos administrativos.
Según su entorno y la herramienta que utilice para conectarse a su VPS, consulte uno de los siguientes tutoriales:
- Cómo crear y utilizar claves de autenticación para conexiones SSH a los servidores OVHcloud
- Tutorial - Cómo utilizar PuTTY para conexiones SSH y autenticación
Estos tutoriales detallan los pasos para:
- generar un par de claves SSH;
- desplegar la clave pública en su servidor;
- conectarse de forma segura mediante SSH.
Una vez que la autenticación mediante clave SSH esté configurada y funcione correctamente, puede ir más allá y reforzar la configuración del servicio SSH, por ejemplo, modificando el puerto de escucha o desactivando la autenticación mediante contraseña.
Cambiar el puerto de escucha SSH por defecto
Antes de cualquier modificación del servicio SSH, asegúrese de disponer de un acceso funcional mediante una clave SSH para evitar perder el acceso a su servidor.
Para esta sección, las siguientes líneas de comando son las mismas para Ubuntu, Debian y CentOS.
Una de las primeras acciones que deberá realizar en su servidor es configurar el puerto de escucha del servicio SSH. Por defecto, este se define en el puerto 22, por lo que los intentos de hackeo del servidor por parte de robots se dirigirán prioritariamente a este puerto.
La modificación de este parámetro, en beneficio de un puerto diferente, es una medida sencilla para reforzar la protección de su servidor contra los ataques automatizados.
Para ello, edite el archivo de configuración del servicio con el editor de texto que desee (nano se utiliza en este ejemplo):
Encontrará las siguientes líneas o equivalentes:
Sustituya el número 22 por el número de puerto que desee.
Recuerde que no debe indicar un número de puerto que ya esté en uso en su sistema. Para mayor seguridad, utilice un número entre 49152 y 65535.
También puede ver los puertos asignados a su sistema con el siguiente comando:
Si la línea está "comentada" (es decir, precedida de un "#") como en el ejemplo anterior, asegúrese de eliminar el "#" antes de guardar el archivo para que se tenga en cuenta el cambio. Ejemplo:
Si hay un cortafuegos configurado en su sistema operativo (UFW o iptables), debe ajustar su configuración para permitir el tráfico en el nuevo puerto antes de reiniciar el servicio. Si utiliza iptables, consulte esta guía: Configurar el firewall de Linux con iptables. Si no hay ningún cortafuegos configurado por defecto, reinicie el servicio.
Guarde y cierre el archivo de configuración.
Reinicie el servicio:
Esto debería ser suficiente para aplicar los cambios. En caso contrario, reinicie el VPS (sudo reboot).
Para Ubuntu 24.04 y versiones posteriores
Para las últimas versiones de Ubuntu, la configuración SSH se gestiona ahora en el archivo /ssh.socket`.
Para actualizar el puerto SSH, edite la línea ListenStream en el archivo de configuración con un editor de texto de su elección (nano utilizado en este ejemplo):
Su archivo debería parecerse a los siguientes ejemplos, dependiendo de la versión de Ubuntu que tenga instalada:
o
Guarde los cambios y ejecute los siguientes comandos:
Reinicie el servicio:
Recuerde que deberá indicar el nuevo puerto en cada solicitud de conexión SSH al servidor:
Ejemplo:
Si no puede acceder a su sistema, puede utilizar nuestro entorno modo de rescate para cancelar los cambios.
Crear un usuario con permisos restringidos
Por lo general, las tareas que no requieran privilegios root deben realizarse a través de un usuario estándar. Para más información, consulte esta guía.
Configurar el firewall interno (iptables)
Las distribuciones GNU/Linux habituales se entregan con un servicio de cortafuegos llamado iptables. Por defecto, este servicio no tiene ninguna regla activa. Puede comprobarlo introduciendo el siguiente comando:
Para más información sobre iptables, consulte nuestra guía dedicada.
Le recomendamos que cree y adapte las reglas de firewall en función de su uso. Para más información sobre las diversas operaciones posibles, consulte la documentación oficial de la distribución utilizada.
Instalar Fail2ban
Fail2ban es una aplicación de prevención contra intrusiones que actúa bloqueando las direcciones IP desde las que robots o atacantes intentan penetrar en el sistema.
Es recomendable, y en algunos casos incluso indispensable, proteger su servidor de los ataques de tipo Brute Force o Denial of Service.
Para instalar el paquete de software, utilice el siguiente comando:
En CentOS 7 y CentOS 8 (o RHEL), instale primero el repositorio EPEL (Extra Packages for Enterprise Linux), luego Fail2ban:
Puede personalizar los archivos de configuración Fail2ban para proteger los servicios expuestos a la internet pública contra los intentos de conexión repetidos.
Como recomienda Fail2ban, cree un archivo de configuración local de sus servicios copiando el archivo "jail.conf":
Abra el archivo con un editor de texto:
Lea la información arriba del archivo, incluyendo los comentarios en [DEFAULT].
La configuración [DEFAULT] es global, por lo que se aplicará a todos los servicios que se hayan definido para activarla (enabled) en este archivo.
Es importante saber que los parámetros globales sólo se tendrán en cuenta si no hay valores diferentes definidos en las secciones servicios (JAILS) del archivo.
Consideremos estas líneas en [DEFAULT]:
Esto significa que una dirección IP desde la que un host intenta conectarse se bloqueará durante diez minutos después del quinto intento de apertura de sesión fallido.
Además, todos los parámetros especificados por [DEFAULT] y en las siguientes secciones permanecen desactivados a menos que se añada la línea enabled = true para un servicio (listado debajo # JAILS).
Por ejemplo de uso, el hecho de tener las siguientes líneas en la sección [sshd] activará restricciones únicamente para el servicio OpenSSH:
En este ejemplo, si un intento de conexión SSH falla tres veces en cinco minutos, el período de prohibición de las IP será de 30 minutos.
Si lo ha cambiado, puede sustituir "ssh" por el número de puerto real.
El mejor enfoque es activar Fail2ban únicamente para los servicios que realmente se ejecutan en el servidor. Cada parámetro personalizado añadido en # JAILS tendrá preferencia sobre los valores predeterminados.
Una vez realizados los cambios, guarde el archivo y cierre el editor.
Reinicie el servicio para asegurarse de que se ejecuta con las personalizaciones aplicadas:
1. Comando recomendado con systemctl:
2. Comando con service (método heredado, aún compatible):
Fail2ban dispone de múltiples parámetros y filtros de personalización, así como de opciones predefinidas, por ejemplo, cuando desea añadir una capa de protección a un servidor web Nginx.
Para más información y recomendaciones sobre Fail2ban, consulte la documentación oficial de esta herramienta.
Configuración del firewall de red de OVHcloud
Las soluciones de OVHcloud incluyen la posibilidad de activar un firewall de red en el punto de entrada de la infraestructura. Una configuración correcta de este cortafuegos permite bloquear las conexiones incluso antes de que lleguen al servidor.
Para activarlo, consulte la guía Configurar el firewall de red.
Guardar copia de seguridad del sistema y los datos
El concepto de seguridad no se limita a la protección de un sistema contra los ataques.
La protección de sus datos es un elemento clave. Por ese motivo, OVHcloud le ofrece varias opciones de backup como servicios:
- La opción
Snapshotque permite crear una instantánea manual. - La opción de
backup automáticopermite conservar copias de seguridad regulares de su VPS (a excepción de los discos adicionales).
En la página de producto y en las respectivas guías encontrará toda la información sobre las soluciones de backup disponibles para su servicio.
Más información
Configurar el firewall de Windows
Configurar el firewall de Linux con iptables
Interactúe con nuestra comunidad de usuarios.