viernes, julio 21, 2006

IPTables

Aquí os dejo mi configuración de iptables(un famoso firewall de Linux), por si a alguien le interesa.

Borro todas las entradas:
iptables -F

Por defecto no acepto nada:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Acepto todas las conexiones establecidas y las relacionadas para que servicios como ftp funcionen correctamente:
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED -j ACCEPT

Acepto cualquier cosa de loopback:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

Defino las reglas:
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5222 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1863 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 6667 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 3389 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 139 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 445 -j ACCEPT

Los servicios permitidos son estos:
  • DNS
  • HTTP
  • HTTPS
  • ICMP
  • SSH
  • GTalk
  • AMSN
  • IRC
  • FTP-DATOS
  • FTP
  • Terminal Server(Escritorio remoto Windows)
  • Samba
  • Samba
Para guardar las reglas ejecutamos el siguiente comando:
iptables-save > "ruta fichero"

Para restaurarlas:
iptables-restore "ruta fichero"

Si lo que queremos es eliminar alguna regla se haría de la siguiente forma:
iptables -D "OUTPUT/INPUT" "nº regla"
Para insertar reglas en una posición determinada se haría del siguiente modo:
iptables -I "OUTPUT/INPUT" "nº regla" "resto de la regla"
Se pueden visualizar las entradas con el siguiente comando:
iptables -L -n -v --line-number

Recordad cargas los modulos necesarios a no ser que se haya compilado todo dentro del propio kernel.

No hay comentarios: