Top 5 de la semana

Publicidad

Artículos relacionados

Guía de seguridad para Ubuntu y servidores web

¡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

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.

Normas para comentar

Este espacio está abierto a todo el mundo, pero para que funcione bien necesitamos un poco de sentido común. No se permiten comentarios ofensivos, spam, ni enlaces promocionales. Respeta a los demás, escribe con educación y trata de aportar al tema.

Los comentarios que no sigan estas normas serán eliminados.

Gracias por mantener un buen ambiente.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí