Jsou nutná pravidla v iptables? Ve smyslu dalšího zabezpečení, abych nebyl zdrojem bogus paketů, marťanských paketů, aby se do mé vnitřní sítě naopak tyto nedostaly.
Podstatou dotazu je ,zda sám systém řeší korektní směrování & filtrování tak, aby
z WAN wlan0 neodcházely pakety s IP cílovou nebo zdrojovou patřící vnitřní síti (probíhá NAT)
na byly blokovány příchozí pakety s IP zdrojovou adresou rozsahu patřící vnitření síti mimo rozhraní eth0(kde se tato síť vyskytuje)
wlan=vnější rozhraní (upstream konektivita) WAN, síť např 192.168.2.0/24 - adresa stroje 192.168.2.32.
eth0=rozhraní vnitření sítě (192.168.1.0/24) - adresa 192.168.1.100
(komentáře vypadají stejně, ale liší se), pravidla jsou také zde v ukázce napsané vícekrát -mnohdy zbytečně. Která pravidla jsou naprosto zbytečná
--z důvodu že je řeší NAT nebo samotné forwardování a není potřeba se starat o fyzická rozhraní)
-- ale aby fungovoval přístup do internetu z vnitřní sítě-A FORWARD -i wlan0 -o wlan0 -j DROP
-P FORWARD DROP
-A FORWARD -i wlan0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A POSTROUTING -t mangle -o wlan0 -s 192.168.1.0/24 -j DROP ## dohnané a ohnuté do extrému, smyslem mělo být "ať wlan0 neopustí paket s zdrojovou adresou mé sítě) - jenže filter nemá POSTROUTING
-A POSTROUTING -t mangle -o eth0 -s 192.168.2.0/24 -j DROP ## dohnané a ohnuté do extrému, smyslem mělo být "ať do Eth0 nepřijde paket s IP nadřazené sítě) - jenže filter nemá POSTROUTING
-A PREROUTING -t mangle -i wlan0 -s 192.168.1.0/24 -j DROP ## dohnané a ohnuté do extrému, smyslem mělo být "ať do wlan0 nnepřijde paket paket s IP mé sítě) - jenže filter nemá
-A PREROUTING -t mangle -i eth0 -s 192.168.2.0/24 -j DROP ## dohnané a ohnuté do extrému, smyslem mělo být "ať do eth0 nepřijde paket paket s IP nadřazené sítě) - jenže filter nemá POSTROUTING
2.revize
-A FORWARD -i wlan0 -s 192.168.1.0/24 -j DROP ## pakety přicházející na WAN obsahující
-A FORWARD -o wlan0 -d 192.168.1.0/24 -j DROP ## smyslem mělo být "ať do wlan0 nnepřijde paket paket s IP mé sítě)
celkem je možno 8 kombinací (-i / -o , -s / -d wlan0/eth0)
Dopracoval jsem se k tomuto pravidlu (pro policy DROP)
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -o wlan0 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -i wlan0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
tím pádem jsou tyto zbytečná že:
-A FORWARD -d 192.168.2.0/24 -j DROP # chci aby sítě 168.1 a 168.2. spolu nemluvily ( outbound ,není potřeba určovat -s)
-A FORWARD -s 192.168.2.0/24 -j DROP # chci aby sítě 168.1 a 168.2. spolu nemluvily (inbound)
Je to dlouhý post plný pravidel firewallu, ale rád bych věděl, která pravidla jsou skutečně nutná a o která se není potřeba starat a vyplývají z logiky routování případně definice sítě (a zároveň bych se zbavil explicitních zápisu rozhraní a/nebo IP rozsahů kde to není bezpodmínečně nutné)
čili aby to nebylo tak dlouhé
# prázdná tabulka a policy DROP
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -o wlan0 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -i wlan0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT