Un VPS nuevo es alcanzable desde todo internet en cuanto arranca, y los escáneres automáticos lo encuentran en minutos. Nada de lo que sigue es avanzado; lo que importa es el orden, porque hacerlas en el orden equivocado deja una ventana abierta.

1. Actualice, antes que nada

apt update && apt upgrade -y

2. Un usuario que no sea root

Trabajar como root significa que cada error es irrecuperable y cada compromiso es total. Cree un usuario, dele sudo, y reserve root para las pocas cosas que lo requieren.

adduser ops
usermod -aG sudo ops

3. Su clave en ese usuario, probada en una segunda ventana

Pruebe la clave en una terminal NUEVA antes de cerrar esta. Si la clave no funciona y ya ha desactivado las contraseñas, se queda fuera de su propio servidor.
ssh-copy-id ops@your-server-ip
# then, in a NEW window:
ssh ops@your-server-ip

4. Apague el acceso por contraseña

Solo cuando la clave funcione. Ese único cambio acaba con los intentos por fuerza bruta contra su servidor, porque ya no queda nada que forzar.

# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
# then
systemctl reload ssh

5. Un cortafuegos que empieza cerrado

Permita lo que necesita y nada más. Permita SSH primero, o se dejará fuera con la siguiente orden.

ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable

6. El reloj

Un servidor con el reloj mal puesto no puede validar un certificado TLS, y los errores que produce parecen cualquier cosa menos un problema de reloj.

timedatectl set-ntp true
timedatectl
Anote lo que hizo en un archivo del propio servidor. Dentro de seis meses, la pregunta «¿por qué está configurado así?» se la hará usted, sobre su propio trabajo.