Configuración inicial de Ubuntu Server: guía paso a paso

Configurar un Ubuntu Server por primera vez puede resultar abrumador, especialmente si quieres cubrir la seguridad básica y optimizarlo para entornos de desarrollo o producción. Esta guía te llevará a través de los pasos de configuración inicial para configurar Ubuntu Server con una capa fundamental de seguridad y eficiencia. Ya sea que estés preparando un servidor para proyectos personales o para el sitio web de un cliente, seguir estos pasos te ayudará a crear una base sólida.

Al final de esta guía, habrás creado un nuevo usuario con privilegios administrativos, cambiado el puerto SSH predeterminado, configurado un firewall, establecido claves SSH para un acceso seguro, instalado una medida de seguridad básica con Fail2ban y tomado una instantánea del servidor para futuras replicaciones.

Empezando con un VPS

Antes de sumergirte en la configuración, necesitarás un Servidor Privado Virtual (VPS) para alojar tu servidor Ubuntu. Hay varios proveedores entre los que puedes elegir, y aquí te presentamos dos excelentes opciones:

  • DigitalOcean: Comienza con $200 en créditos gratuitos durante 60 días. DigitalOcean ofrece una plataforma fácil de usar con varios tutoriales que te ayudarán a comenzar rápidamente.
  • Lunanode: Un proveedor de VPS flexible que permite pagos con Bitcoin, proporcionando una alternativa para aquellos que prefieren opciones de pago centradas en la privacidad.

Una vez que hayas configurado tu VPS, sigue los pasos a continuación para configurar tu servidor Ubuntu.

Valor x valor⚡️

Si el contenido te ha sido útil, por favor considera apoyarme para que pueda crear más artículos como este.

Por qué estos pasos son importantes

Configurar un servidor Ubuntu implica varios pasos esenciales para asegurarse de que esté preparado para el despliegue y cuente con un nivel básico de seguridad. Implementar estas medidas desde el principio puede ayudar a prevenir vulnerabilidades comunes y establecer una base confiable. Cada paso que cubriremos está diseñado para proporcionar una protección básica contra el acceso no autorizado, simplificar la gestión del servidor y mejorar el rendimiento general.

1. Iniciar sesión como root

Cuando te conectes por primera vez a tu servidor, necesitarás iniciar sesión como el usuario root. El usuario root tiene control total sobre el sistema, lo cual es necesario para realizar la configuración inicial.

Para iniciar sesión como el usuario root, debes usar el siguiente comando desde tu máquina local:

ssh root@yourserverIP

Reemplaza yourserverIP con la dirección IP de tu servidor.

Una vez hayas iniciado sesión por primera vez, actualiza los paquetes:

apt update && apt upgrade -y

2. Crear un nuevo usuario

No se recomienda usar el usuario root para tareas regulares por razones de seguridad. En su lugar, debes crear un nuevo usuario con privilegios limitados para realizar la mayoría de las tareas.

Reemplaza yournewuser con el nombre de usuario que prefieras:

adduser yournewuser

Sigue las indicaciones para establecer una contraseña y completar la información opcional.

3. Conceder privilegios administrativos

Para permitir que el nuevo usuario realice tareas administrativas, debes añadirlo al grupo sudo, que proporciona privilegios elevados.

Añade el nuevo usuario al grupo sudo:

usermod -aG sudo yournewuser

4. Iniciar sesión con el nuevo usuario

Ahora que has creado un nuevo usuario y le has concedido privilegios administrativos, cierra la sesión del usuario root e inicia sesión nuevamente como el nuevo usuario:

ssh yournewuser@yourserverIP

A partir de este momento, utiliza esta cuenta de usuario para todas las tareas administrativas, usando sudo antes de los comandos que requieran privilegios de root.

5. Cambiar el puerto SSH predeterminado

Para mejorar la seguridad de tu servidor, cambia el puerto SSH predeterminado de 22 a un puerto no estándar. Este paso ayuda a reducir los ataques automatizados que se dirigen a los puertos predeterminados.

Verificar el puerto SSH actual
Para verificar el puerto que actualmente utiliza SSH (el predeterminado es 22), ejecuta:

sudo systemctl status ssh

Cambiar el puerto a 62539 (o cualquier número que prefieras)
Edita el archivo de configuración de SSH:

sudo nano /etc/ssh/sshd_config

Busca la línea que dice #Port 22 y cámbiala por Port 62539. Recuerda eliminar el carácter “#”.

Actualizar la configuración del socket SSH de systemd
Cambia la configuración de ListenStream para que coincida con tu nuevo puerto:

sudo nano /etc/systemd/system/sockets.target.wants/ssh.socket

Recargar y reiniciar el servicio SSH

sudo systemctl daemon-reload  
sudo systemctl restart ssh

Conectar a tu servidor con el nuevo puerto

ssh -p 62539 yournewuser@yourserverIP

6. Configurar un firewall básico

Configurar un firewall ayuda a controlar el tráfico entrante y saliente en tu servidor, permitiendo solo los servicios necesarios. En este caso, configuraremos ufw (Uncomplicated Firewall) para permitir el tráfico solo en el puerto SSH que configuraste anteriormente.

Permitir conexiones SSH en el nuevo puerto

sudo ufw allow 62539/tcp

Permitir tráfico HTTP y HTTPS

sudo ufw allow http  
sudo ufw allow https

Activar el firewall

sudo ufw enable

Verificar el estado del firewall

sudo ufw status

7. Instalar Fail2ban

Fail2ban es una herramienta que protege tu servidor de ataques de fuerza bruta al bloquear direcciones IP que muestran signos de actividad maliciosa.

Instalar Fail2ban

sudo apt install fail2ban -y

Habilitar y comenzar el servicio Fail2ban

sudo systemctl enable fail2ban  
sudo systemctl start fail2ban  
sudo systemctl status fail2ban

Descripción general de la configuración predeterminada
Fail2ban bloquea una IP durante 10 minutos (bantime) si no logra autenticarse 5 veces (maxretry) en un período de 10 minutos (findtime).

8. Conectar usando claves SSH y desactivar la autenticación por contraseña

Las claves SSH proporcionan una forma más segura de iniciar sesión en tu servidor que utilizando solo una contraseña.

Generar claves SSH en la máquina cliente
Si aún no has creado claves SSH, ejecuta:

ssh-keygen -t rsa -b 4096

Sigue las instrucciones para guardar la clave y establecer una frase de contraseña.

Copiar la clave pública al servidor

ssh-copy-id -p 62539 yournewuser@yourserverIP

Probar la conexión SSH
Abre un nuevo terminal y ejecuta:

ssh -p 62539 yournewuser@yourserverIP

Desactivar la autenticación por contraseña
Edita el archivo de configuración de SSH para desactivar la autenticación por contraseña:

sudo nano /etc/ssh/sshd_config

Cambia PasswordAuthentication yes a PasswordAuthentication no

Reiniciar el servicio SSH

sudo systemctl restart ssh

9. Tomar una instantánea del servidor

Una vez que tu servidor esté configurado correctamente y de manera segura, es una buena idea tomar una instantánea. Esto te permitirá replicar la configuración del servidor rápidamente en el futuro.

La mayoría de los proveedores de VPS ofrecen una opción para crear una instantánea en su consola de administración.

Recursos adicionales y documentación

Para asegurar y gestionar aún más tu servidor Ubuntu, consulta estas guías adicionales (en inglés):

Comienza tu propio VPS con créditos gratuitos

Si quieres probar la configuración de Ubuntu Server, puedes obtener $200 en créditos gratuitos durante 60 días de DigitalOcean.

Únete a la conversación

Si tienes alguna sugerencia o pasos adicionales que puedan fortalecer este artículo, no dudes en compartirlos en los comentarios o ponerte en contacto directamente. ¡Me encantaría conocer tus ideas e incorporarlas para hacer esta guía aún más completa!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *