Linux, un avanzado router/firewall Ejemplo: Protección de un servidor // que no rutee , en /etc/sysctl.conf # Disables packet forwarding net.ipv4.ip_forward=0 // equivalentemente echo 0 > /proc/sys/net/ipv4/ip_forward // politicas de firewall por omision # iptables -P FORWARD DROP # iptables -P INPUT DROP # iptables -P OUTPUT DROP // permitir entradas de conexiones ya establecidas (stateful firewall) # modprobe ip_conntrack # iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT // permitir conexiones salientes solo de root # iptables -A OUTPUT -m owner --uid-owner root -j ACCEPT // LOG de paquetes rechazados (max 10/minute) # iptables -A OUTPUT -m limit --limit 10/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT OUTPUT packet died: " // permitir otras cosas... como www y ssh entrante # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --dport ssh -j ACCEPT // LOG de paquetes rechazados (max 10/minute) # iptables -A INPUT -m limit --limit 10/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT INPUT packet died: " // LOG de paquetes rechazados (max 10/minute) # iptables -A FORWARD -m limit --limit 10/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT FORWARD packet died: "