Has dado el salto y ahora tienes tu propio Servidor Privado Virtual (VPS). ¡Felicidades! Es una herramienta poderosa para alojar sitios web, aplicaciones, bases de datos o incluso proyectos de inteligencia artificial. Sin embargo, con gran poder viene una gran responsabilidad: la seguridad VPS. Así como proteges tu casa con cerraduras y alarmas, tu servidor en internet necesita sus propias defensas.
En esta guía para 2025, te explicaremos por qué la seguridad es tan crucial en un VPS y te mostraremos, paso a paso, cómo configurar un firewall básico utilizando una de las herramientas más sencillas y efectivas para servidores Linux: UFW (Uncomplicated Firewall) en Ubuntu. Prepárate para darle a tu VPS la primera capa de protección que se merece.
1. Introducción a la Importancia del Firewall en tu VPS
¿Por qué es importante la seguridad en un VPS?
Tu VPS está conectado a internet 24/7, lo que lo hace visible y accesible para cualquier persona en el mundo, incluyendo a aquellos con intenciones maliciosas. Un servidor sin protección es como una puerta abierta en una calle concurrida: invita a los intrusos a entrar. La seguridad no es un lujo, es una necesidad fundamental para la estabilidad y la integridad de tus proyectos.
Qué puede pasar si no proteges tu servidor
Ignorar la seguridad de tu VPS puede tener consecuencias graves:
- Robo de datos: Información sensible de tus usuarios o de tus proyectos puede ser comprometida.
- Interrupción de servicios: Tu sitio web o aplicación podría dejar de funcionar, causando pérdidas económicas y de reputación.
- Uso indebido del servidor: Tu VPS podría ser utilizado para enviar spam, lanzar ataques a otros sistemas (DDoS), alojar contenido ilegal o minar criptomonedas sin tu conocimiento.
- Infección por malware: Tu servidor podría ser infectado con software malicioso que lo degrade o lo use para extender la infección a otros sistemas.
- Pérdida de confianza: Si tus clientes o usuarios se ven afectados por una brecha de seguridad en tu servidor, tu reputación sufrirá enormemente.
Qué es un firewall y por qué es una de las primeras cosas que debes configurar
Un firewall VPS (cortafuegos en español) es como el guardia de seguridad de tu servidor. Su función principal es controlar el tráfico de red que entra y sale de tu VPS, permitiendo solo las conexiones autorizadas y bloqueando las que son sospechosas o no deseadas. Es la primera línea de defensa contra la mayoría de los ataques basados en red.
Configurarlo es uno de los primeros pasos, si no el primero, que debes realizar después de poner en marcha tu VPS, incluso antes de instalar cualquier aplicación. Es como cerrar la puerta con llave antes de amueblar la casa.
Esta guía está diseñada para usuarios con conocimientos básicos o intermedios de Linux y la línea de comandos. No necesitas ser un experto en redes para seguir los pasos.
2. ¿Qué es un Firewall y Cómo Funciona?
Explicación sencilla del concepto de firewall
Imagina un firewall como un portero en la entrada de un club nocturno. El portero tiene una lista de reglas: «Entran solo mayores de 18», «No se permiten armas», «Necesitas invitación si no eres socio», etc. Si alguien cumple las reglas, entra; si no, se le niega el acceso.
En el mundo digital, un firewall hace lo mismo con los paquetes de datos que intentan entrar o salir de tu servidor. Examina el origen, el destino y el puerto que intentan usar, y decide si los permite o los bloquea basándose en las reglas que tú le has configurado.
Diferencia entre firewall de red y firewall a nivel de servidor (VPS)
- Firewall de red (o hardware): Es un dispositivo físico o un software que protege toda una red de computadoras (por ejemplo, en una oficina o un centro de datos). Es una defensa perimetral. Tu proveedor de VPS probablemente tiene firewalls de red que protegen sus servidores, pero estos son de propósito general.
- Firewall a nivel de servidor (software): Es un programa que se ejecuta directamente en tu VPS. Este tipo de firewall te da un control mucho más granular sobre lo que ocurre en tu servidor específico. UFW, que configuraremos, es un firewall a nivel de software.
Qué tipo de tráfico se puede permitir o bloquear
Un firewall te permite controlar el tráfico basándose en:
- Puertos: Cada servicio en tu servidor usa un puerto específico (ej. puerto 80 para HTTP, 443 para HTTPS, 22 para SSH). Puedes permitir o bloquear el acceso a puertos individuales.
- Direcciones IP: Puedes permitir o denegar el acceso a tu servidor desde direcciones IP específicas o rangos de IP.
- Protocolos: Puedes permitir o bloquear protocolos como TCP o UDP.
La idea es permitir solo el tráfico esencial para que tu servidor funcione, bloqueando todo lo demás. Esto reduce drásticamente la «superficie de ataque».
Herramientas más comunes para configurar firewalls en Linux
En Linux, el núcleo del sistema tiene una funcionalidad de firewall llamada netfilter
, que se gestiona a través de la herramienta iptables
. Sin embargo, iptables
es compleja y difícil de usar para principiantes. Por eso existen «interfaces» más amigables:
- UFW (Uncomplicated Firewall): Es el firewall que usaremos. Es una interfaz sencilla para
iptables
en sistemas basados en Debian/Ubuntu. Su nombre lo dice todo: «firewall sin complicaciones». - Firewalld: Popular en distribuciones como CentOS/RHEL.
3. Pre-requisitos para Configurar un Firewall en un VPS
Antes de comenzar a configurar firewall VPS, asegúrate de cumplir con estos puntos:
- Tener acceso al VPS por SSH: Necesitarás conectarte a tu servidor a través de la línea de comandos. Esto se hace usando un cliente SSH (como Terminal en Linux/macOS o PuTTY en Windows).
- Usar un sistema operativo como Ubuntu 22.04 o 24.04: Esta guía se centra en UFW, que viene preinstalado o es fácil de instalar en estas versiones de Ubuntu.
- Contar con acceso de usuario root o con privilegios sudo: Necesitarás ejecutar comandos con permisos de superusuario para configurar el firewall.
- Conexión estable a internet: Asegúrate de tener una conexión fiable para evitar interrupciones durante la configuración que puedan bloquearte accidentalmente.
4. Paso a Paso: Configurar un Firewall Básico con UFW (Ubuntu)
Este tutorial de seguridad servidor Linux te guiará con UFW. ¡Es más fácil de lo que parece!
Paso 1: Verificar si UFW está instalado y activarlo
UFW viene preinstalado en la mayoría de las instalaciones de Ubuntu. Puedes verificarlo y asegurarte de que esté listo para usarse.
- Conéctate a tu VPS vía SSH.
- Verifica el estado de UFW:
sudo ufw status
Si vesStatus: inactive
, significa que no está activo. Si vesStatus: active
, ya está funcionando y debes ser más cauteloso con los siguientes pasos, ¡pero sigue leyendo! - Habilita UFW (si está inactivo):
sudo ufw enable
Te preguntaráCommand may disrupt existing ssh connections. Proceed with operation (y|n)?
. Escribey
y presiona Enter. En este punto, UFW ya está activo, pero por defecto deniega todas las conexiones entrantes. ¡Esto significa que, si no haces el siguiente paso, te bloquearás a ti mismo!
Paso 2: Permitir conexiones SSH para no perder el acceso
¡Este paso es CRÍTICO! Si no permites SSH antes de activar el firewall, te desconectarás de tu VPS y no podrás volver a entrar hasta que el proveedor de VPS te ayude a reiniciar o reconfigurar.
- Permite el puerto SSH (por defecto es el 22):
sudo ufw allow ssh # O, de forma más específica por puerto: # sudo ufw allow 22/tcp
Recibirás una confirmación comoRule added
.
Paso 3: Permitir o denegar puertos según el caso de uso
Ahora que tienes acceso SSH asegurado, puedes abrir otros puertos necesarios para tus servicios. Recuerda la regla de oro: permite solo lo que necesitas, bloquea todo lo demás.
- Si tu VPS aloja un sitio web (HTTP y HTTPS):
sudo ufw allow http # Permite el puerto 80 (HTTP) sudo ufw allow https # Permite el puerto 443 (HTTPS)
O, de forma más específica por puerto:sudo ufw allow 80/tcp sudo ufw allow 443/tcp
- Si usas FTP (¡no recomendado, usa SFTP!):
sudo ufw allow 21/tcp # Solo si REALMENTE lo necesitas y entiendes los riesgos
- Si usas MySQL/PostgreSQL y solo tu VPS accede a la base de datos (lo más común): No necesitas abrir el puerto 3306 (MySQL) o 5432 (PostgreSQL) al mundo exterior. Solo necesitarías abrirlo si otras IPs externas deben conectarse directamente. Si es así, es mejor restringirlo a IPs específicas:
sudo ufw allow from TU_IP_EXTERNA to any port 3306 # Solo permite tu IP a MySQL
Si tu aplicación se conecta a la base de datos desde el mismo VPS, no necesitas abrir este puerto externamente. - Para denegar un puerto (por ejemplo, si tenías un servicio en el 8080 que ya no usas):
sudo ufw deny 8080/tcp
Paso 4: Activar el firewall y verificar el estado
Si UFW no estaba activo en el Paso 1, ya lo activaste. Si estaba activo, las reglas se aplicarán inmediatamente.
- Verifica el estado detallado del firewall:
sudo ufw status verbose
Aquí verás todas las reglas que has añadido, si el firewall está activo y las políticas por defecto (por ejemplo,Default: deny (incoming), allow (outgoing)
). Esto significa que UFW bloquea todo lo que intenta entrar por defecto, pero permite que tu VPS se conecte a internet.
(Opcional) Cómo hacer una copia de seguridad de las reglas o restaurarlas
Es una buena práctica guardar tus reglas de firewall.
- Guardar reglas:
sudo ufw status numbered > ufw_rules_backup.txt
Esto guarda la salida numerada del estado en un archivo de texto. Si bien no es un «backup» restaurable directamente, te da un registro de las reglas. Para restaurar, tendrías que recrearlas manualmente o usar las funciones de exportación/importación deufw
. Para un backup más robusto y restaurable:sudo cp /etc/ufw/user.rules /home/tu_usuario/ufw_user.rules.backup sudo cp /etc/ufw/user6.rules /home/tu_usuario/ufw_user6.rules.backup
- Restaurar reglas: Simplemente copia los archivos de backup a sus ubicaciones originales y recarga UFW.
sudo cp /home/tu_usuario/ufw_user.rules.backup /etc/ufw/user.rules sudo cp /home/tu_usuario/ufw_user6.rules.backup /etc/ufw/user6.rules sudo ufw reload
- Restablecer UFW (eliminar todas las reglas y desactivar):
sudo ufw reset
¡CUIDADO! Esto borrará todas tus reglas y desactivará UFW. Si lo haces, necesitarás permitir SSH de nuevo y reactivar UFW.
5. Consejos Adicionales de Seguridad para tu VPS
Un firewall es un excelente primer paso, pero la seguridad VPS es un proceso continuo. Aquí tienes más medidas esenciales:
Cambiar el puerto SSH por defecto
El puerto 22 es el puerto por defecto para SSH y es el primer objetivo de los ataques automatizados. Cambiarlo a un puerto no estándar (ej. 2222, 34567) reduce el «ruido» de ataques constantes.
- Edita el archivo de configuración SSH:
sudo nano /etc/ssh/sshd_config
- Busca la línea
#Port 22
, descoméntala y cambia22
por tu nuevo puerto (ej.Port 2222
). - ¡IMPORTANTE! Antes de cerrar la sesión, añade una regla UFW para permitir el nuevo puerto SSH y luego reinicia el servicio SSH:
sudo ufw allow 2222/tcp # Permite tu nuevo puerto SSH sudo systemctl restart sshd
- Abre otra terminal e intenta conectarte usando el nuevo puerto (
ssh -p 2222 tu_usuario@TU_DIRECCION_IP
). Solo cuando confirmes que puedes acceder por el nuevo puerto, elimina la regla UFW para el puerto 22 y reinicia UFW.sudo ufw delete allow 22/tcp sudo ufw reload
Deshabilitar el acceso root por SSH
El usuario root
tiene todos los permisos. Si un atacante adivina su contraseña, tiene control total. Es mucho más seguro usar un usuario normal con privilegios sudo
y conectarse a través de él.
- Edita el archivo
sshd_config
de nuevo:sudo nano /etc/ssh/sshd_config
- Busca la línea
PermitRootLogin
y asegúrate de que diga:PermitRootLogin no
. Si está comentada, descoméntala. - Reinicia el servicio SSH:
sudo systemctl restart sshd
.
Usar claves SSH en lugar de contraseñas
Las claves SSH son un par de archivos (una clave pública y una privada) que son mucho más seguros que las contraseñas para el acceso SSH. La clave pública se guarda en el servidor y la privada en tu máquina local.
- Genera un par de claves:
ssh-keygen -t rsa -b 4096
(en tu máquina local). - Copia la clave pública a tu VPS:
ssh-copy-id tu_usuario@TU_DIRECCION_IP
. - Deshabilita el acceso por contraseña en SSH: En
sshd_config
, asegúrate de quePasswordAuthentication no
.
Actualizar el sistema regularmente
Mantén tu sistema operativo y todo el software actualizado. Las actualizaciones a menudo incluyen parches de seguridad para vulnerabilidades recién descubiertas.
sudo apt update && sudo apt upgrade -y
Instalar Fail2ban o herramientas similares como protección adicional
Fail2ban monitorea los registros del servidor en busca de intentos de inicio de sesión fallidos o ataques de fuerza bruta y bloquea automáticamente las direcciones IP sospechosas durante un período de tiempo.
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Puedes configurarlo para que sea más agresivo o para proteger otros servicios.
6. Tabla Rápida: Puertos Comunes y su Recomendación
Servicio | Puerto(s) | Recomendación |
---|---|---|
SSH | 22 | Abierto solo si es necesario (mejor cambiarlo) |
HTTP | 80 | Abierto si sirves una web (sin HTTPS) |
HTTPS | 443 | Recomendado abierto (para webs seguras) |
MySQL | 3306 | Cerrado (acceso solo desde el VPS o IP específica) |
PostgreSQL | 5432 | Cerrado (acceso solo desde el VPS o IP específica) |
FTP | 21 | Cerrado (usar SFTP en su lugar, puerto 22) |
SFTP | 22 | Abierto si usas SSH para transferencia (junto con SSH) |
SMTP (salida) | 25, 587 | Abierto si tu VPS envía correos electrónicos |
IMAP/POP3 | 143/993, 110/995 | Abierto si tu VPS es un servidor de correo entrante |
n8n | 5678 | Abierto solo a Nginx (localhost), o cerrado si se usa Nginx con proxy |
7. Conclusión y Llamado a la Acción
Tener un firewall básico activo en tu VPS es la defensa más crítica y el primer paso esencial para asegurar tu servidor. Al configurar UFW y seguir los pasos de esta guía, habrás reducido drásticamente la exposición de tu VPS a ataques comunes y habrás establecido una base sólida para tu seguridad servidor Linux.
Recuerda que un firewall no reemplaza otras medidas de seguridad como el uso de contraseñas fuertes, la actualización regular del sistema o la configuración de software seguro. Es un componente vital de una estrategia de seguridad integral.
¿Quieres profundizar en la seguridad de tu VPS, o necesitas ayuda para configurar servicios más complejos? En Cerbytec, somos expertos en ciberseguridad y gestión de servidores. Te invitamos a leer más artículos y tutoriales detallados sobre seguridad en VPS en nuestro blog en Cerbytec.com/blog.
Si tienes dudas específicas o necesitas asesoría personalizada para proteger tu infraestructura, no dudes en contactar a Cerbytec o unirte a nuestra comunidad para resolver tus preguntas en WhatsApp o Telegram. ¡Protege tu VPS hoy mismo!