Base de conocimientos

Primer inicio de sesión, y los diez minutos posteriores

Qué hacer entre recibir la contraseña de root y poner la instancia en internet público: verificar la clave de host, parchear, crear un usuario, endurecer sshd.

Verifica la clave de host primero

El aprovisionamiento te envía por correo una dirección, una contraseña de root y la huella de la clave de host SSH. La misma huella está en la página de la instancia en el panel. Compáralas antes de aceptar la clave. Si difieren, no escribas la contraseña y abre un ticket.

ssh root@<ipv4>

La contraseña que generamos no se conserva en nuestro lado una vez que se ha enviado el correo. Eso no es razón para seguir usándola.

Parchea antes que cualquier otra cosa

Debian 13:

apt update && apt full-upgrade -y && apt autoremove -y

AlmaLinux 10:

dnf -y upgrade --refresh

Un reinicio solo es necesario si el kernel se ha movido. En Debian needrestart te lo dice durante la actualización; en AlmaLinux, dnf needs-restarting -r responde a la misma pregunta después.

Crea una cuenta que no sea root

adduser deploy
usermod -aG sudo deploy

En AlmaLinux el grupo es wheel y adduser no es interactivo:

useradd -m -s /bin/bash deploy
usermod -aG wheel deploy
passwd deploy

Instala tu clave pública en esa cuenta ahora y pruébala desde un segundo terminal. Bloquear SSH antes de que la clave funcione es la ruta más popular hacia la consola fuera de banda.

Endurece sshd con un drop-in

Ambas imágenes leen /etc/ssh/sshd_config.d/, así que escribe un archivo propio y deja el empaquetado solo. Las actualizaciones entonces dejarán de sobrescribir tu trabajo.

cat > /etc/ssh/sshd_config.d/10-local.conf <<EOF
PermitRootLogin prohibit-password
PasswordAuthentication no
KbdInteractiveAuthentication no
AllowUsers deploy
LoginGraceTime 20
MaxAuthTries 3
EOF
sshd -t

sshd -t analiza toda la configuración y no imprime nada cuando está satisfecho. Recarga solo después de que lo haya hecho:

systemctl reload ssh    # Debian
systemctl reload sshd   # AlmaLinux

Mantén la sesión actual abierta mientras pruebas la nueva. Una recarga no corta las conexiones existentes, que es exactamente la propiedad que deseas cuando la configuración es incorrecta.

Cambiar el puerto no es endurecer

Mover sshd a un puerto alto reduce tu registro de autenticación. No cambia quién puede alcanzar el demonio. Si el objetivo es que menos desconocidos llamen, restringe las direcciones de origen en nftables y deja el puerto donde toda tu herramienta espera que esté.

El resto de los diez minutos

hostnamectl set-hostname edge-01
timedatectl set-timezone UTC

Luego actualizaciones de seguridad desatendidas, porque lo olvidarás:

apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

En AlmaLinux, instala dnf-automatic, establece apply_updates = yes en /etc/dnf/automatic.conf y habilita el temporizador:

dnf install -y dnf-automatic
systemctl enable --now dnf-automatic.timer

Después de eso, el cortafuegos, el DNS inverso en tu dirección y el IPv6 /64 enrutado. Los tres tienen sus propios artículos en la base de conocimiento.

Listo cuando tú lo estés

Elige una ciudad. Elige un tamaño. Paga con monedas.

Sin fórmulas sobre quién eres, sin esperar a que un humano te apruebe, sin llamada telefónica para verificar nada. La factura se liquida y las credenciales llegan a tu bandeja de entrada.