Cómo configurar un firewall básico en Windows y Linux: Guía completa para estudiantes
En el mundo de la ciberseguridad, un firewall bien configurado es la primera línea de defensa contra acceso no autorizado, malware y fugas de datos. Esta guía exhaustiva te guiará desde los conceptos fundamentales hasta ejemplos prácticos en Windows Defender Firewall, UFW e iptables en Linux.
Índice
- Introducción al firewall
- Tipos de firewall
- Arquitectura y modelos
- Configuración en Windows
- Configuración en Linux
- Buenas prácticas de seguridad
- Registro y monitoreo
- Solución de problemas
- Conclusión y lecturas
1. Introducción al firewall
Un firewall es un sistema (software o hardware) que filtra el tráfico de red entrante y saliente según reglas de firewall definidas. Actúa como un guardián digital que autoriza solo conexiones legítimas, bloqueando amenazas externas y reduciendo la superficie de ataque.
2. Tipos de firewall
- Host-based: Protege un solo equipo (Windows Defender, UFW).
- Network-based: Dispositivo dedicado que filtra todo el tráfico de red (appliance físico o virtual).
- Packet filtering: Inspecciona cabeceras IP/puertos, decide en capa 3/4.
- Stateful: Mantiene estado de conexiones, permite respuestas legítimas.
- Application-level: Inspecciona contenido (HTTP/HTTPS), también llamado proxy firewall.
- Next-Generation Firewall (NGFW): Combina filtrado de paquetes, IPS/IDS y control de aplicaciones.
3. Arquitectura y modelos de filtrado
En Windows Defender Firewall, hay tres perfiles de red: Dominio, Privado y Público, cada uno con políticas de entrada y salida. En Linux, el subsistema Netfilter implementa iptables (o nftables) mediante tablas (filter
, nat
, mangle
) y cadenas (INPUT
, OUTPUT
, FORWARD
).
4. Configuración en Windows Defender Firewall
4.1 Acceso y perfiles de red
Abre la consola avanzada con Win + R → wf.msc
. Ajusta cada perfil según tu entorno:
- Dominio: redes corporativas con control de Active Directory.
- Privado: redes de confianza (oficina o casa).
- Público: redes Wi-Fi abiertas o no confiables.
4.2 Reglas de entrada y salida (GUI)
- Selecciona Reglas de entrada o Reglas de salida en el panel izquierdo.
- Haz clic en Nueva regla… y elige Puerto, Programa o Personalizado.
- Define protocolo (TCP/UDP) y puertos (80, 443, 22, etc.).
- Selecciona Permitir la conexión o Bloquear la conexión.
- Asigna un nombre descriptivo y aplica a los perfiles necesarios.
4.3 Ejemplos prácticos
Permitir un servidor web y bloquear una aplicación de telemetría:
# Crear regla para HTTP/HTTPSNew-NetFirewallRule -DisplayName "Servidor Web" -Direction Inbound \ -LocalPort 80,443 -Protocol TCP -Action Allow# Bloquear aplicaciónNew-NetFirewallRule -DisplayName "Bloquear Telemetría" \ -Direction Outbound -Program "C:\app\telemetry.exe" -Action Block
4.4 Uso avanzado con PowerShell
# Listar perfilesGet-NetFirewallProfile | Format-Table Name, Enabled# Bloquear una IP maliciosaNew-NetFirewallRule -DisplayName "Bloquear IP" \ -Direction Inbound -RemoteAddress 203.0.113.45 -Action Block# Habilitar logging de conexiones denegadasSet-NetFirewallProfile -Profile Public -LogBlocked True -LogFileName '%systemroot%\system32\LogFiles\Firewall\pfirewall.log'
5. Configuración en Linux
5.1 UFW: Uncomplicated Firewall
UFW simplifica iptables con comandos legibles:
# Instalar y verificarsudo apt update && sudo apt install ufwsudo ufw status verbose# Políticas por defectosudo ufw default deny incomingsudo ufw default allow outgoing# Permitir SSH antes de habilitarsudo ufw allow ssh# HTTP/HTTPSsudo ufw allow 80/tcpsudo ufw allow 443/tcp# Habilitarsudo ufw enable
5.2 Reglas avanzadas en UFW
# Permitir desde IP concreta a SSHsudo ufw allow from 192.168.1.50 to any port 22# Denegar rango de puertossudo ufw deny 6000:6007/tcp# Insertar regla al inicio (prioridad máxima)sudo ufw insert 1 allow from 10.0.0.30 to any port 80
5.3 iptables: control granular
iptables ofrece total flexibilidad con tablas y cadenas:
# Limpiar reglas y definir políticassudo iptables -Fsudo iptables -P INPUT DROPsudo iptables -P FORWARD DROPsudo iptables -P OUTPUT ACCEPT# Permitir loopback y conexiones establecidassudo iptables -A INPUT -i lo -j ACCEPTsudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT# Permitir SSH, HTTP, HTTPSsudo iptables -A INPUT -p tcp --dport 22 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT# Registrar paquetes denegadossudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-DROP: "
5.4 nftables (sucesor de iptables)
nftables unifica y moderniza la sintaxis. Ejemplo básico:
sudo apt install nftablessudo nft add table inet filtersudo nft 'add chain inet filter input { type filter hook input priority 0; policy drop; }'sudo nft add rule inet filter input ct state established,related acceptsudo nft add rule inet filter input iif lo acceptsudo nft add rule inet filter input tcp dport {22,80,443} accept
6. Buenas prácticas de seguridad
- Principio de mínimo privilegio: denegar todo por defecto y permitir solo lo imprescindible.
- Reglas específicas: restringe por IP, rango y puerto; evita comodines.
- Auditoría periódica: revisa y elimina reglas obsoletas trimestralmente.
- Automatización: versiona tus scripts de firewall con Git y despliega con Ansible o scripts CI/CD.
- Defensa en profundidad: combina firewall con antivirus, IDS/IPS y políticas de parcheo.
7. Registro y monitoreo
- Windows: revisa
%systemroot%\System32\LogFiles\Firewall\pfirewall.log
. - Linux UFW:
/var/log/ufw.log
. - iptables: utiliza
dmesg
o/var/log/kern.log
para logs del módulo LOG. - Integración con SIEM o ELK para análisis centralizado.
- Implementa fail2ban para bloquear IPs tras múltiples intentos fallidos.
8. Solución de problemas y errores comunes
- Pérdida de SSH: siempre ejecuta
sudo ufw allow ssh
antes deufw enable
. - Orden de reglas: en iptables y nftables, las reglas se procesan secuencialmente; las más específicas deben ir arriba.
- Firewall inactivo: verifica el estado con
sudo ufw status
oGet-NetFirewallProfile
. - Rollback rápido:# Desactivar UFWsudo ufw disable# Resetear UFWsudo ufw --force reset# Guardar reglas iptablesiptables-save > ~/iptables-backup.txt# Restaurar iptablesiptables-restore < ~/iptables-backup.txt
9. Conclusión y lecturas recomendadas
Dominar la configuración de un firewall básico en Windows y Linux es un pilar indispensable en tu formación en seguridad de redes. Con esta guía dispones de los conocimientos teóricos, ejemplos prácticos y mejores prácticas para proteger tus sistemas de forma robusta.
Para profundizar:
0 Comentarios