~/docs /DevOps/Firewall & Seguridad base

DevOps

Firewall & Seguridad base

Imported from Notion: Firewall & Seguridad base

updated:: 2026.07.10

Qué resuelve

Checklist básico para reducir exposición en un servidor Linux: firewall local, SSH, actualizaciones, usuarios, servicios expuestos y mínimos de hardening.


UFW básico

Ver estado

sudo ufw status verbose

Permitir SSH

sudo ufw allow OpenSSH

O por puerto:

sudo ufw allow 22/tcp

Activar firewall

sudo ufw enable

[!NOTE] ⚠️ Antes de activar UFW en un servidor remoto, permite SSH y mantén una sesión abierta.


Abrir y cerrar puertos

Abrir HTTP/HTTPS

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Denegar puerto

sudo ufw deny 3000/tcp

Borrar regla

sudo ufw status numbered
sudo ufw delete NUMERO

Exposición real

Ver servicios escuchando:

sudo ss -ltnp

Qué buscar:

  • servicios en 0.0.0.0 o :: están expuestos en todas las interfaces;

  • servicios en 127.0.0.1 solo escuchan localmente;

  • si Docker está en uso, revisa puertos publicados con docker ps.


SSH mínimo

Ver web/docs/DevOps/SSH Key AUTH para el flujo completo.

Mínimos recomendados:

PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no

Validar:

sudo sshd -t

Actualizaciones

Debian/Ubuntu:

sudo apt update
sudo apt list --upgradable
sudo apt upgrade

Reinicios pendientes:

test -f /var/run/reboot-required && cat /var/run/reboot-required

Usuarios y sudo

Ver usuarios con shell:

awk -F: '$7 !~ /(nologin|false)$/ {print $1, $7}' /etc/passwd

Ver sudoers por grupos:

getent group sudo

Fail2ban

Instalar:

sudo apt install fail2ban

Estado:

sudo systemctl status fail2ban
sudo fail2ban-client status

[!NOTE] 💡 Fail2ban ayuda contra ruido automatizado, pero no sustituye claves SSH y firewall.


Checklist final

  • UFW está activo y permite solo lo necesario.

  • SSH por contraseña está desactivado tras probar claves.

  • Root login está desactivado.

  • Servicios expuestos están revisados con ss.

  • Paquetes están actualizados.

  • Usuarios con shell y sudo están controlados.

  • Si hay SSH público, consideré Fail2ban o límites equivalentes.

- EOF -