¡Hola! Hoy te traigo una guia de seguridad para Ubuntu que, además de ser completísima, está pensada para que cualquier persona, aunque tenga pocas nociones de Ubuntu, pueda montar y gestionar su propio servidor web en Ubuntu 22.04 sin complicaciones.
Prometo que vas a encontrar de todo: desde servidores web como Apache y Nginx hasta herramientas de seguridad como UFW, iptables o fail2ban, pasando por un vistazo a Docker.
Vamos a meternos en faena.
1. Antes de liarnos: ¿qué vamos a ver?
En esta guia de seguridad para Ubuntu vamos a cubrir:
- Herramientas básicas del sistema
- Gestión de paquetes
- Servidor web Apache
- Servidor web Nginx
- Seguridad esencial
- Monitorización y logs
- Docker
- Consejos finales
En cada apartado te explico cómo instalar las herramientas, los comandos principales y algún truquito extra.
2. Herramientas básicas de gestión del sistema
2.1. systemctl y journalctl
Ubuntu 22.04 usa systemd. Necesitas estos comandos:
sudo systemctl start <servicio>: inicia servicio.sudo systemctl stop <servicio>: para servicio.sudo systemctl restart <servicio>: reinicia.sudo systemctl enable <servicio>: arranque automático.sudo systemctl disable <servicio>: desactivar en arranque.sudo systemctl status <servicio>: estado del servicio.
Para ver logs:
journalctl -u <servicio>: logs de un servicio.journalctl -f: ver logs en tiempo real.journalctl --since "2025-01-01 00:00:00": logs desde una fecha concreta.
2.2. top y htop
Para ver consumo de recursos:
top: ya está preinstalado.htop: más visual, instalar con:
sudo apt update && sudo apt install htop
2.3. ps y lsof
ps aux: ver procesos activos.lsof -i :80: saber quién usa el puerto 80.
3. Gestión de paquetes y repositorios
3.1. apt
El clásico en Ubuntu:
sudo apt update: actualizar índice.sudo apt upgrade: actualizar paquetes.sudo apt install <paquete>: instalar algo.sudo apt remove <paquete>: desinstalar.sudo apt purge <paquete>: eliminar con configuraciones.sudo apt autoremove: quitar dependencias innecesarias.
3.2. snap
Otro sistema que usa Ubuntu:
snap find <paquete>: buscar paquetes.sudo snap install <paquete>: instalar.sudo snap remove <paquete>: quitar.
Aun así, para montar servidores web usamos más apt.
4. Servidor web Apache
4.1. Instalación
sudo apt update sudo apt install apache2
Comprueba estado:
sudo systemctl status apache2
4.2. Comandos esenciales
start,stop,restart,enable,disable,status.apache2ctl configtest: revisar errores de config.
4.3. Configuración básica
- Archivo principal:
/etc/apache2/apache2.conf - Virtual Hosts:
/etc/apache2/sites-available/
Habilitar sitio:
sudo a2ensite <archivo> sudo systemctl reload apache2
4.4. Recomendaciones rápidas
- Usa Let’s Encrypt para SSL.
- Configura bien tus Virtual Hosts.
5. Servidor web Nginx
5.1. Instalación
sudo apt update sudo apt install nginx
Estado:
sudo systemctl status nginx
5.2. Comandos básicos
start,stop,restart,enable,disable,status,reload.
5.3. Configuración
- Archivo principal:
/etc/nginx/nginx.conf - Sitios:
/etc/nginx/sites-available/y/etc/nginx/sites-enabled/
Crear sitio:
sudo ln -s /etc/nginx/sites-available/mi-sitio /etc/nginx/sites-enabled/ nginx -t sudo systemctl reload nginx
5.4. Extras
- Muy usado como proxy inverso.
- SSL con certbot también aquí.
6. Seguridad: pilar clave de esta guia de seguridad para Ubuntu
6.1. UFW (Uncomplicated Firewall)
Instalación (por si no viene):
sudo apt update sudo apt install ufw
Uso:
sudo ufw statussudo ufw enablesudo ufw disablesudo ufw allow 22/tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcp
Cuidado: no te cierres el SSH sin querer.
6.2. iptables
Para usuarios avanzados que prefieren control fino:
sudo iptables -L sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -P INPUT DROP
6.3. fail2ban
Protección contra ataques de fuerza bruta.
Instalación:
sudo apt update sudo apt install fail2ban
Uso:
sudo systemctl status fail2bansudo systemctl enable fail2bansudo systemctl restart fail2ban
Configura en /etc/fail2ban/ para vigilar servicios como SSH, Apache o Nginx.
7. Monitorización y logs: parte esencial en cualquier guia de seguridad para Ubuntu
7.1. logrotate
Evita llenar el disco con logs gigantes:
- Configuración:
/etc/logrotate.conf,/etc/logrotate.d/ - Ya viene preinstalado.
7.2. tail, less, grep
Tus herramientas básicas diarias:
tail -f /var/log/syslogtail -f /var/log/apache2/access.logless /var/log/nginx/error.loggrep <cadena>
8. Docker: contenedores prácticos para proyectos en Ubuntu
8.1. Instalación
Rápido:
sudo apt update sudo apt install docker.io
Ó instalación oficial (recomendado para últimas versiones):
Instrucciones oficiales de Docker
8.2. Comandos básicos
docker ps,docker ps -adocker images,docker pull <imagen>docker run <imagen>docker stop <container_id>docker rm <container_id>,docker rmi <image_id>
Evitar sudo:
sudo usermod -aG docker tu_usuario
8.3. Docker Compose
Para proyectos múltiples:
sudo apt update sudo apt install docker-compose
Permite levantar varios contenedores a la vez.
9. Llegamos al cierre: lo que debes recordar de esta guia de seguridad para Ubuntu
Llegamos al final de esta guia de seguridad para Ubuntu, donde hemos tocado los temas esenciales para montar, asegurar y mantener un servidor web operativo en Ubuntu 22.04.
Recuerda:
- Actualiza siempre el sistema tras probar en entornos seguros.
- Revisa los logs periódicamente.
- Personaliza la configuración de tus servidores.
- Protege el acceso SSH usando claves.
- Aprende Docker Compose para entornos de producción.
Espero que esta guia de seguridad para Ubuntu te haya sido muy útil y te ayude a levantar tu proyecto con éxito. Para más tutoriales, trucos y consejos, ¡te invito a visitar nuestra web!
Nos vemos en la próxima.

