Primeros pasos con un servidor Linux
Básico
Los pasos marcados en azul cambian según tu sistema.
Acabas de estrenar un servidor: un VPS recién contratado, un equipo viejo reconvertido o una Raspberry Pi en el armario. Antes de instalar nada, dedica diez minutos a estos pasos. Lo dejarán más seguro y más cómodo de usar, y serán la base de todo lo que montes después.
Vamos a actualizar el sistema, crear un usuario para el día a día con permisos de administración, activar un cortafuegos y preparar el acceso por SSH para ese usuario. Los pasos sirven para Ubuntu, Debian, AlmaLinux y Rocky Linux: elige tu sistema en el desplegable de arriba y verás sus comandos.
Entrar como root
Para conectarte necesitas la IP pública del servidor y la contraseña o la clave SSH de la cuenta de administración que te haya dado tu proveedor (o la que pusiste al instalar el sistema). Si todavía no te has conectado nunca por SSH, echa un vistazo antes a SSH a fondo.
Desde tu ordenador, conéctate como root cambiando la IP de ejemplo por la de tu servidor:
ssh root@203.0.113.10
Acepta el aviso sobre la identidad del servidor si aparece y escribe la contraseña de root, o la frase de paso de tu clave si usas una. Si es la primera vez que entras con contraseña, puede que el sistema te pida cambiarla en ese momento.
Algunos proveedores no te dan root, sino un usuario como
ubuntu,debianoalmalinuxque ya puede usarsudo. En ese caso, conéctate con ese usuario y escribesudo -ipara trabajar como root durante esta guía.
Por qué no quedarse en root
Con root el sistema no te pone ningún freno: un rm con una ruta equivocada y no hay vuelta atrás. La costumbre sana es trabajar con tu propio usuario y anteponer sudo solo a lo que de verdad lo necesita. Te obliga a pararte un segundo antes de cada cambio importante y deja rastro de quién hizo qué.
Actualizar el sistema
Las imágenes de los proveedores y los instaladores suelen quedarse atrás en actualizaciones de seguridad. Lo primero es ponerse al día:
Ubuntu
apt update && apt upgrade -y
Debian
apt update && apt upgrade -y
AlmaLinux / Rocky
dnf upgrade -y
Si se ha actualizado el kernel, reinicia (reboot) y vuelve a conectarte antes de seguir.
Crear un usuario
Ahora crea la cuenta con la que trabajarás a partir de hoy. En el ejemplo se llama ana; usa el nombre que quieras.
Ubuntu
adduser ana
Te pedirá una contraseña y, después, algunos datos opcionales (nombre completo, teléfono…). Puedes dejarlos en blanco pulsando Intro.
Debian
adduser ana
Te pedirá una contraseña y, después, algunos datos opcionales (nombre completo, teléfono…). Puedes dejarlos en blanco pulsando Intro.
AlmaLinux / Rocky
En AlmaLinux y Rocky, adduser crea la cuenta sin preguntar nada. Ponle una contraseña después:
adduser ana
passwd ana
Elige una contraseña larga: aunque vayas a entrar con clave SSH, la necesitarás cada vez que uses sudo.
Darle permisos de administración
El usuario nuevo tiene permisos normales. Para que pueda administrar el servidor sin tener que entrar como root, dale acceso a sudo: así podrá ejecutar cualquier comando como administrador escribiendo sudo delante.
Ubuntu
En Ubuntu, los miembros del grupo sudo pueden usar sudo:
usermod -aG sudo ana
Debian
En Debian, los miembros del grupo sudo pueden usar sudo. Si instalaste el sistema con contraseña de root, puede que sudo no venga instalado; instálalo primero:
apt install -y sudo
usermod -aG sudo ana
AlmaLinux / Rocky
En AlmaLinux y Rocky, los miembros del grupo wheel pueden usar sudo:
usermod -aG wheel ana
Activar el cortafuegos
Un cortafuegos deja pasar solo las conexiones a los servicios que tú decidas. Lo importante ahora es dejar abierto SSH, o la próxima vez no podrás entrar.
Ubuntu
Ubuntu trae UFW, un cortafuegos pensado para manejarse con órdenes cortas. Algunos programas dejan en él un perfil con sus puertos al instalarse; el de SSH se llama OpenSSH:
ufw app list
Available applications:
OpenSSH
Permite las conexiones SSH y activa el cortafuegos:
ufw allow OpenSSH
ufw enable
Escribe y y pulsa Intro para confirmar. Comprueba el estado:
ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Debian
Debian no trae cortafuegos activado. Instala UFW, un cortafuegos sencillo de manejar:
apt install -y ufw
Permite las conexiones SSH y activa el cortafuegos:
ufw allow OpenSSH
ufw enable
Escribe y y pulsa Intro para confirmar. Comprueba el estado:
ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
AlmaLinux / Rocky
AlmaLinux y Rocky usan firewalld, que en una instalación normal ya viene activo y con SSH permitido. Asegúrate de que está en marcha (algunas imágenes de VPS no lo traen):
dnf install -y firewalld
systemctl enable --now firewalld
Comprueba que SSH está permitido:
firewall-cmd --list-services
cockpit dhcpv6-client ssh
Si ssh no aparece en la lista, añádelo:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
Desde ahora el cortafuegos bloquea todo lo que no sea SSH. Cuando instales otros servicios tendrás que abrirles paso. Por ejemplo, para una web:
Ubuntu
ufw allow 80/tcp
ufw allow 443/tcp
Debian
ufw allow 80/tcp
ufw allow 443/tcp
AlmaLinux / Rocky
firewall-cmd --permanent --add-service=http --add-service=https
firewall-cmd --reload
Tienes más ejemplos en el tutorial del cortafuegos con UFW.
Preparar el acceso por SSH para tu usuario
Solo falta que puedas entrar por SSH directamente con el usuario nuevo.
No cierres todavía la sesión de root. Hasta que compruebes que puedes entrar y usar
sudocon el usuario nuevo, mantenla abierta: si algo falla, podrás arreglarlo desde ahí.
Cómo hacerlo depende de cómo has entrado como root: con contraseña o con clave SSH.
Si entraste como root con contraseña
Si entraste con contraseña, el servidor acepta contraseñas por SSH y puedes conectarte ya. Abre otra terminal en tu ordenador:
ssh ana@203.0.113.10
Entrarás con la contraseña de ana. Aun así, es mucho más seguro entrar con claves: sigue los pasos de SSH a fondo para crear las tuyas, copiarlas al servidor y, después, desactivar las contraseñas.
Si entraste como root con clave SSH
Si entraste con clave, lo normal es que el servidor no acepte contraseñas. Tu clave pública ya está en el authorized_keys de root, así que basta con copiar la carpeta .ssh al usuario nuevo y darle la propiedad:
Ubuntu
cp -r ~/.ssh /home/ana/
chown -R ana:ana /home/ana/.ssh
Debian
cp -r ~/.ssh /home/ana/
chown -R ana:ana /home/ana/.ssh
AlmaLinux / Rocky
En AlmaLinux y Rocky, además, hay que devolver a los archivos copiados su contexto de SELinux; si no, SSH no podrá leerlos:
cp -r ~/.ssh /home/ana/
chown -R ana:ana /home/ana/.ssh
restorecon -R /home/ana/.ssh
Ahora, en otra terminal de tu ordenador, conéctate con el usuario nuevo:
ssh ana@203.0.113.10
Deberías entrar sin contraseña. Comprueba que sudo funciona:
sudo whoami
root
La primera vez en cada sesión, sudo te pedirá la contraseña de tu usuario. Si todo va bien, ya puedes cerrar la sesión de root.
Actualizaciones de seguridad automáticas
Un servidor que no se actualiza acaba siendo vulnerable. Para no depender de acordarte, deja que instale solo los parches de seguridad:
Ubuntu
Ubuntu trae unattended-upgrades activado por defecto. Compruébalo:
sudo systemctl status unattended-upgrades
Si no estuviera instalado, actívalo con sudo apt install unattended-upgrades y sudo dpkg-reconfigure -plow unattended-upgrades.
Debian
Instala y activa unattended-upgrades:
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Responde «Sí» a la pregunta de si quieres descargar e instalar automáticamente las actualizaciones estables.
AlmaLinux / Rocky
Instala dnf-automatic y configúralo para aplicar solo las actualizaciones de seguridad:
sudo dnf install -y dnf-automatic
sudo sed -i 's/^upgrade_type = .*/upgrade_type = security/; s/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timer
Siguientes pasos
Tu servidor ya tiene una base sólida: un usuario con sudo para el día a día, un cortafuegos que solo deja pasar lo que tú decides, acceso por SSH y parches de seguridad automáticos.
A partir de aquí:
- Endurece SSH: entra solo con claves y desactiva las contraseñas, con SSH a fondo.
- Frena a los bots que prueban contraseñas con Fail2Ban.
- Aprende a abrir y cerrar servicios con el cortafuegos UFW.
Y, sobre todo, apunta en un lugar seguro la IP, los usuarios y cualquier cambio que hagas: tu yo del futuro te lo agradecerá.
