1. Home
  2. Knowledge Base
  3. Administración de sistemas
  4. Filtrado de puertos y protección perimetral básica.
  1. Home
  2. Knowledge Base
  3. Cumplimiento normativo
  4. Filtrado de puertos y protección perimetral básica.

Filtrado de puertos y protección perimetral básica.

#!/bin/bash
 
# 1. Limpiar reglas anteriores y restablecer contadores
iptables -F
iptables -X
iptables -Z
 
# 2. Establecer políticas por defecto
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
 
# 3. Permitir tráfico de la interfaz local (Loopback)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
 
# 4. Permitir conexiones ya establecidas y relacionadas
# Evita que se corten tus conexiones actuales y permite el tráfico de vuelta
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 
# =========================================================================
# 5. PUERTO 22 (SSH) - SOLO PARA IPs AUTORIZADAS
# =========================================================================
 
iptables -I INPUT 1 -p tcp -s 192.168.0.1/32 --dport 22 -m comment --comment "Motivo por el que se autoriza" -j ACCEPT

 
# =========================================================================
# 6. PUERTOS WEB (80 y 443) - EXPUESTOS
# =========================================================================
iptables -A INPUT -p tcp --dport 80 -m comment --comment "Web HTTP" -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m comment --comment "Web HTTPS" -j ACCEPT
 
# (Opcional) Permitir ping (ICMP) para diagnóstico, filtrado.
iptables -A INPUT -p icmp --icmp-type echo-request -s 192.168.0.1/32  -m comment --comment "Ping solo desde xxx" -j ACCEPT
 
# =========================================================================
# 7. BLOQUEAMOS RESTO
# =========================================================================
 
iptables -A INPUT -j REJECT --reject-with icmp-port-unreachable

Related Articles