cortafuegos mínimo de iptables

cortafuegos mínimo de iptables

Tengo la intención de construir un firewall iptables mínimo dentro del servidor ubuntu 14.04. Sólo para asegurarme de que estoy construyendo mi firewall correctamente y ejecutándolo correctamente, lo estoy ejecutando a través de la comunidad para su verificación. No entiendo muy bien la forma -o interfacey -i interfaceel funcionamiento. Cada vez que miro diferentes reglas de firewall, se configuran de manera diferente, lo que complica la forma en que se configuran mis wanreglas lan. La forma en que lo entiendo es así:ordenador personal>-i interface LAN -o interface>-i interface PÁLIDO -o interface>INTERNET. Esto también es válido para NATlas mesas. prerouting>RED postroutingy forwardbypassesRED.

Este es un conjunto de reglas generales para que el firewall funcione si estoy en lo correcto, dónde wanestá eth0y lanestá eth1:

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Este es mi conjunto de reglas donde wanestá eth0y lanestá eth1:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate DNAT,ESTABLISHED,RELATED -j ACCEPT
iptables -P FORWARD -j DROP

iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 67 -j ACCEPT
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -P INPUT -j DROP

iptables -P OUTPUT -j ACCEPT

iptables -t nat -P INPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT

También respecto a la ejecución permanente del firewall. ¿Después de editar este conjunto de reglas sudo nano -w /etc/rc.locallo uso sudo chmod 755 /etc/rc.localy sudo rebooteste conjunto de reglas será permanente cada vez que se inicie el dispositivo?

Respuesta1

Antes de seguir adelante. Mire las "tablas de filtro neto" ( nftables). Reemplaza a iptables, iptables6, arptables, ...

nftables es: más fácil de usar, más potente y más nuevo. En sistemas recientes, iptables es una interfaz (heredada) para nftables.

Un ejemplo de un conjunto de reglas de nftables: bloquear el acceso directo a la red del usuario othery obligarlo a usar un proxy. Todavía tiene dos contadores que se usaron en las pruebas (se podrían quitar). Además accept, skuid "proxy-server" es innecesario. Como esta es la política actual.

#!/usr/sbin/nft -f

table ip my_table {}
flush table my_table

table ip my_table {
    chain output {
        type filter hook output priority 0; policy accept;
        skuid "other" jump restrict_chain;
        skuid "proxy-server" accept;
    }

    chain restrict_chain {
        counter;
        oifname != "lo" reject;
        tcp dport != "1080" reject;
        counter;
        accept;
    }
}

información relacionada