Guía de administración de Ubuntu

Asegure un nuevo VPS con Ubuntu paso a paso

Asegure un nuevo VPS con Ubuntu actualizándolo, creando un administrador con nombre propio, configurando el acceso SSH mediante claves, restringiendo los servicios expuestos, habilitando un firewall en el host y estableciendo sistemas de monitoreo y copias de seguridad. Realice cada cambio en orden, mantenga accesible la consola del proveedor y nunca cierre la sesión SSH original hasta que una segunda conexión se realice con éxito.

Datos clave

Se aplica a
Versiones compatibles de Ubuntu Server que utilizan systemd y OpenSSH
Medida de seguridad principal
Mantener el acceso a la consola y probar una segunda sesión
Autenticación
Clave SSH protegida con frase de contraseña para un usuario específico
Recuperación
Copia de seguridad independiente y restauración verificada

Actualizar e inspeccionar antes de modificar el acceso

Realice una instantánea (snapshot) del proveedor solo si la plataforma ofrece esta opción y comprende que no constituye una copia de seguridad independiente. Inicie sesión mediante el método inicial documentado, confirme la imagen del sistema operativo y aplique las actualizaciones de los repositorios ejecutando sudo apt update seguido de sudo apt full-upgrade. Lea los avisos antes de aceptar la sustitución de archivos de configuración y, a continuación, ejecute sudo reboot si el kernel o algún componente central lo requiere.

Vuelva a conectarse y realice un inventario de los procesos en escucha (listeners) con sudo ss -tulpn. Cada proceso público en escucha debe tener un propietario y un propósito definido. Una imagen mínima de Ubuntu para la nube puede diferir de una imagen de instalación estándar; por tanto, nunca asuma qué servicios están habilitados. Registre el estado base antes de instalar una pila de aplicaciones.

  • Utilice únicamente repositorios y claves en los que confíe explícitamente.
  • Elimine el software que no utilice tras confirmar que no es una dependencia.
  • Programe las actualizaciones en lugar de realizar una única actualización puntual.

Cree un administrador con nombre propio y configure claves SSH.

Cree una cuenta independiente con sudo adduser deploy (sustituyendo "deploy" por el nombre que elija) y, a continuación, conceda acceso administrativo mediante sudo usermod -aG sudo deploy. Añada la parte pública de su clave SSH al archivo ~/.ssh/authorized_keys de dicho usuario utilizando la función de gestión de claves del proveedor o el comando ssh-copy-id. Nunca suba el archivo de la clave privada.

Abra una segunda terminal y pruebe la conexión con ssh deploy@SERVER_IP. Confirme que el comando sudo -v funciona correctamente. Solo después de realizar esta prueba debería considerar la posibilidad de deshabilitar el inicio de sesión directo como root y el acceso mediante contraseña. Edite un archivo de configuración adicional con sudoedit /etc/ssh/sshd_config.d/60-local-hardening.conf, establezca PermitRootLogin no y PasswordAuthentication no, valide la configuración con sudo sshd -t y recargue el servicio con sudo systemctl reload ssh. Mantenga abierta la sesión actual y vuelva a realizar la prueba.

  • Sustituya explícitamente todos los nombres y direcciones que aparecen como ejemplo.
  • Utilice una frase de contraseña local y un gestor de contraseñas o un agente seguro.
  • Si la validación falla, corrija el archivo; no recargue el servicio SSH.

Permita únicamente los servicios de red necesarios.

UFW (Uncomplicated Firewall) de Ubuntu es una interfaz práctica para gestionar el cortafuegos del host. En primer lugar, asegúrese de que el servicio SSH utiliza el puerto previsto. Permita el tráfico con sudo ufw allow OpenSSH; si ha cambiado deliberadamente el puerto, cree la regla correspondiente en su lugar. Revise el estado propuesto con sudo ufw status verbose, actívelo con sudo ufw enable y verifique el acceso desde una nueva terminal antes de cerrar la anterior.

Agregue los puertos de la aplicación solo cuando el servicio esté instalado y listo. Para un servidor web, esto suele implicar los puertos TCP 80 y 443, aunque no existe una lista universal. El cortafuegos del proveedor y UFW pueden complementarse; documente ambos para que el personal de respuesta a incidentes sepa qué capa bloqueó el tráfico.

  • Nunca active de forma remota un cortafuegos con política de denegación predeterminada (*default-deny*) sin una regla que permita SSH.
  • Vincule las bases de datos privadas a interfaces locales o privadas.
  • Vuelva a ejecutar sudo ss -tulpn tras desplegar el software.

Convierta el endurecimiento de la seguridad (*hardening*) en una rutina operativa.

Instale y revise las actualizaciones de seguridad automáticas con sudo apt install unattended-upgrades y configúrelas según su política de mantenimiento y reinicio. Supervise el disco, la memoria, los fallos de autenticación, el estado de los servicios, la caducidad de los certificados y los resultados de las copias de seguridad. No exponga un agente de supervisión sin autenticación ni restricciones de red.

Cree una copia de seguridad independiente y versionada, y restáurela en un sistema de pruebas aislado. Guarde los códigos de recuperación y las instrucciones de acceso a la consola en un lugar distinto al VPS. Las configuraciones de seguridad evolucionan; por ello, compare esta lista de comprobación genérica con la documentación actual de Ubuntu y con las necesidades de su aplicación antes de pasar a producción.

  • Revise periódicamente las cuentas de administrador y las claves.
  • Aplique parches tanto a las aplicaciones como al sistema operativo.
  • Documente un procedimiento de recuperación antes de eliminar cualquier método de inicio de sesión.

Fuentes

  1. Documentación del cortafuegos de Ubuntu Server
  2. Documentación de seguridad de Ubuntu
Preguntas frecuentes

Preguntas frecuentes

¿Debería cambiar el puerto SSH?

Puede reducir el ruido generado por los escaneos rutinarios, pero no sustituye a la autenticación mediante claves, la aplicación de parches, los controles de acceso ni la monitorización. Si decide cambiarlo, actualice todas las capas del cortafuegos y realice pruebas antes de finalizar la sesión.

¿Puedo deshabilitar el inicio de sesión como root de inmediato?

Solo después de que un usuario con nombre propio pueda autenticarse mediante clave, obtener los privilegios de sudo necesarios y reconectarse en una sesión independiente. Mantenga disponible la opción de recuperación a través de la consola.

¿Es suficiente UFW para proteger el VPS?

No. Un cortafuegos limita la accesibilidad a través de la red; no corrige software vulnerable, no protege credenciales robadas, no asegura la lógica de la aplicación ni sustituye a las copias de seguridad.