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):
- Configuración inicial del servidor con Ubuntu 20.04
- Cómo reforzar OpenSSH en Ubuntu 20.04
- Cómo configurar claves SSH en Ubuntu 20.04
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!