¡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 status
- sudo ufw enable
- sudo ufw disable
- sudo ufw allow 22/tcp
- sudo ufw allow 80/tcp
- sudo 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 fail2ban
- sudo systemctl enable fail2ban
- sudo 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/syslog
- tail -f /var/log/apache2/access.log
- less /var/log/nginx/error.log
- grep <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 -a
- docker 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.


