Un VPS tiene una dirección IP pública: en la hora siguiente a su puesta en marcha ya hay robots intentando conectarse. Tres medidas apartan la inmensa mayoría de esos intentos, y una cuarta evita que se entere de una avería por un cliente descontento.
¿Cómo configuro el cortafuegos de mi VPS Linux?
Con ufw en Debian y Ubuntu y con firewalld en AlmaLinux, Rocky y CentOS Stream: se deniega todo por defecto y solo se abren SSH y los puertos realmente públicos.
En Debian y Ubuntu, con ufw:
apt install ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80,443/tcp
ufw enable
ufw status verbose
En AlmaLinux, Rocky y CentOS Stream, con firewalld:
dnf install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
firewall-cmd --list-all
Autorice SSH antes de activar el cortafuegos. El orden de los comandos no es decorativo: activar una política restrictiva sin regla SSH le corta el acceso al instante. Si ocurre, la consola de rescate sigue siendo su puerta de entrada.
Abra solo los puertos de servicios realmente públicos. Una base de datos casi nunca debe escuchar hacia fuera: hágala escuchar en 127.0.0.1 y adminístrela mediante un túnel SSH.
¿Cómo bloqueo los intentos de conexión repetidos con fail2ban?
fail2ban lee los registros, detecta los fallos de autenticación repetidos y banea la dirección culpable en el cortafuegos.
apt install fail2ban # Debian, Ubuntu
dnf install fail2ban # AlmaLinux, Rocky, CentOS Stream
Cree /etc/fail2ban/jail.local; no modifique nunca jail.conf, se sobrescribe en cada actualización:
[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5
ignoreip = 127.0.0.1/8 SU_PROPIA_IP
[sshd]
enabled = true
Después:
systemctl enable --now fail2ban
fail2ban-client status sshd
Rellenar ignoreip con su propia dirección evita que se banee a sí mismo tras unos intentos desafortunados.
¿Cómo instalo las actualizaciones de seguridad de mi servidor?
Manualmente con apt upgrade o dnf upgrade, o de forma automática con unattended-upgrades en Debian y Ubuntu y dnf-automatic en AlmaLinux, Rocky y CentOS Stream.
Manualmente y con regularidad:
apt update && apt upgrade # Debian, Ubuntu
dnf upgrade # AlmaLinux, Rocky, CentOS Stream
De forma automática, solo para los parches de seguridad:
apt install unattended-upgrades && dpkg-reconfigure -plow unattended-upgrades
dnf install dnf-automatic && systemctl enable --now dnf-automatic.timer
Automatizar no exime de mirar: algunos parches necesitan reiniciar un servicio o el núcleo para surtir efecto.
systemctl list-units --failed
needrestart # Debian, Ubuntu
¿Cómo vigilo lo que está funcionando en mi VPS?
Con systemctl y journalctl para el estado de los servicios y sus registros, df -h para el espacio en disco y la pestaña Gráficos del área de cliente para la visión de conjunto.
systemctl status nginx # estado de un servicio
journalctl -u nginx -n 50 # sus últimas 50 líneas de registro
journalctl -p err -b # los errores desde el arranque
df -h # espacio en disco
Un disco lleno es la avería más frecuente y la más silenciosa: los registros dejan de escribirse, las bases de datos rechazan escrituras y nada lo anuncia hasta que alguien mira. Vigile df -h y purgue los registros antiguos con journalctl --vacuum-time=14d.
La pestaña Gráficos del área de cliente complementa muy bien: una curva de CPU al máximo durante horas, un tráfico saliente inusual o una saturación de memoria se ven de inmediato.
¿By-Hoster se encarga de las copias de seguridad de mi VPS?
El área de cliente no ofrece servicio de copias de seguridad para los VPS. Los snapshots de la pestaña homónima son una red para una operación arriesgada, no una copia: viven en el mismo almacenamiento que la máquina. Prevea una copia de sus datos verdaderamente irreemplazables fuera del VPS y pruebe una restauración de vez en cuando.