=iptables == uso mantener las conexiones ya establecidas, incluso conmigo mismo:# iptables -A INPUT -m commtrack --ctstate RELATED,ESTABLISHED -j ACCEPT # iptables -A INPUT -s 127.0.0.1 -j ACCEPT descartar todos los paquetes entrantes:# iptables -P INPUT DROP permitir ping entrante:# iptables -A INPUT -p icmp --icmp-type 8 -s -d -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT -m comment "aceptación PINGs entrantes" permitir conexiones SSH:# iptables -A INPUT -p tcp --dport 22 -j ACCEPT permitir conexiones OPENVPN:# iptables -A INPUT -p udp --dport 1194 -j ACCEPT borrar direcciones de red privadas en interfaz pública (IP Spoofing): $ iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP $ iptables -A INPUT -i eth1 -s 10.0.0.0/24 -j DROP * [[https://help.ubuntu.com/community/IptablesHowTo]] == instrucciones básicas: === status * listado reglas: ''$ iptables -L {INPUT|OUTPUT} -n -v --line-numbers'' === añadir/insertar * añadir regla: ''$ iptables -A {INPUT|OUTPUT} -p tcp %%--%%dport -j {DROP|ACCEPT}'' * insertar regla: ''$ iptables -I {INPUT|OUTPUT} -s -j {DROP|ACCEPT}'' * ''$ iptables -I -> insertar'' * ''$ iptables -A -> insertar'' === eliminar * borrar regla: ''$ iptables -D {CHAIN} '' * borrar regla: ''$ iptables -D {CHAIN} -s -j DROP'' -> ? === save-restore * guardar reglas: ''$ iptables-save > mis.reglas'' * restaurar reglas: ''$ iptables-restore < mis.reglas'' == bloqueos * IP: ''$ iptables -A INPUT -s 1.2.3.4 -j DROP'' * RED: ''$ iptables -A INPUT -s 192.168.1.0/24 -j DROP'' * PUERTO: ''$ iptables -A INPUT -p tcp --dport -j DROP'' * PUERTO+IP: ''$ iptables -A INPUT -p tcp -s --dport -j DROP'' * IP (de salida): ''$ iptables -A OUTPUT -d -j DROP'' * MAC: ''$ iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP'' * MAC + PUERTO: ''$ iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT'' * PING: ''$ iptables -A INPUT -p icmp --icmp-type echo-request -j DROP'' * PING: ''iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT'' * bloquear dominio: * averiguar IP: ''$ host -t a www.facebook.com'' * averiguar el CIDR: ''$ whois | grep CIDR'' * ''$ iptables -A OUTPUT -p tcp -d -j DROP'' * o también con los nombres de dominio: ''$ iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP'' * añadir comentarios al LOG: ''$ iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP SPOOFING A:"'' * LOG+limites LOG (elimina spoofing cada 5 minutos en ráfagas de 7 entradas): ''$ iptables -> INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP SPOOFING A:"'' /via: [[http://elbauldelprogramador.com/20-ejemplos-de-iptables-para-sysadmins/]] == opciones $ iptables -A -p [tcp|upd] --dport [mysql] -j [ACCEPT|REJECT] -s xxx.xxx.xxx.xxx -m state ---state NEW,[STABLISHED]