Stavové filtrování s iptables

Re:Stavové filtrování s iptables
« Odpověď #15 kdy: 20. 11. 2017, 14:45:39 »
Kód: [Vybrat]
modinfo nf_conntrack_ftp

filename:       /lib/modules/4.9.0-0.bpo.4-amd64/kernel/net/netfilter/nf_conntrack_ftp.ko
alias:          nfct-helper-ftp
alias:          ip_conntrack_ftp
description:    ftp connection tracking helper
author:         Rusty Russell <rusty@rustcorp.com.au>
license:        GPL
depends:        nf_conntrack
intree:         Y
vermagic:       4.9.0-0.bpo.4-amd64 SMP mod_unload modversions
parm:           ports:array of ushort
parm:           loose:bool

Pokud Vám ftp neběží na portu 21, pak je potřeba helperu předat parametrem ports čísla portů, kde má "šmírovat".


j

Re:Stavové filtrování s iptables
« Odpověď #16 kdy: 20. 11. 2017, 18:08:57 »
Pokud Vám ftp neběží na portu 21, pak je potřeba helperu předat parametrem ports čísla portů, kde má "šmírovat".
jj, nejlepsi je psat nesmyslny informace ktery davno neplatej ...

https://home.regit.org/netfilter-en/secure-use-of-helpers/


FTP je právě ideální příklad. RELATED naopak vždy vyžaduje helper.
Pokud nepoužíváte žádný protokol, který by potřeboval helper, pak můžete RELATED z konfigurace firewallu vynechat.
Coz je pochopitelne taktez blabol, protoze icmp (napriklad) je ten spravnej priklad. A zadnej helper na doruceni odpovedi nepotrebuje.


Tomas123

Re:Stavové filtrování s iptables
« Odpověď #17 kdy: 20. 11. 2017, 19:23:10 »
lsmod | grep ftp
nf_nat_ftp                 12460  0
nf_nat                       18241  1 nf_nat_ftp
nf_conntrack_ftp        16783  1 nf_nat_ftp
nf_conntrack              87424  6 nf_nat_ftp,xt_helper,nf_nat,xt_conntrack,nf_conntrack_ftp,nf_conntrack_ipv4

...
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED -m helper --helper ftp -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m multiport --dports 139,445 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
...
-A INPUT -j DROP

Nemal by si FTP (pure-ftpd, passive mod) otvorit nejaky nahodny datovy port? (Priznak RELATED packet dostane) Ci mu tie porty musim v netfiltry specificky povolit (iptables -t filter -A INPUT -p tcp --match multiport --dports 29799:29899 -j ACCEPT #v takomto pripade mi to ide, ked ich otvorim). Moduly nacitane mam..... Nechcem mat zbytocne otvorene porty, pokial netreba... Rad by som docielil to, ze by si ich sam otvaral. Stale to dropne na vypisi adresara v klientovi. V logoch vidim, ze uzivatel je pripojeny.

Re:Stavové filtrování s iptables
« Odpověď #18 kdy: 20. 11. 2017, 21:13:21 »
Coz je pochopitelne taktez blabol, protoze icmp (napriklad) je ten spravnej priklad. A zadnej helper na doruceni odpovedi nepotrebuje.

Máte pravdu, ICMP error mi nedošel. Ale nic dalšího, co by nevyžadovalo helper, mně nenapadá.

naseptavac

Re:Stavové filtrování s iptables
« Odpověď #19 kdy: 20. 11. 2017, 23:45:30 »
-A INPUT -m state --state INVALID -j DROP

by melo byt na prvnim miste, protoze smyslem tohoto radku je odchytit veskery bordel, ktery by se jnak mohl dostat pres RELATED a ESTABLISHED dal.

Nebo respektive pokud to dela to same, co --ctstate (tazatel si to laskave dohleda sam)

-A INPUT -m conntrack --ctstate INVALID -j DROP
-A FORWARD -m conntrack --ctstate INVALID -j DROP


Re:Stavové filtrování s iptables
« Odpověď #20 kdy: 21. 11. 2017, 14:22:26 »
-A INPUT -m state --state INVALID -j DROP

Podle mě by na prvním místě mělo být odchytávání nevaldiních kombinací TCP flagů, to bezstavové a početně jednodušší. Na druhém místě terpve stavové INVALID.

Tomas123

Re:Stavové filtrování s iptables
« Odpověď #21 kdy: 22. 11. 2017, 20:23:11 »
Ahoj
...
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
...
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m multiport --dports 7200:7300 -m state --state ESTABLISHED,RELATED -j ACCEPT
...
-A INPUT -j DROP

Ked mam takto setnuty firewall, preco mi nefunguje ftp? Resp. preco klient nedostane vypis adresara, ale sa pripoji? Ked odstranim '... -m state --state ESTABLISHED,RELATED ...' Tak sa klient pripoji, dostane vypis adresara.
Modul conntrack mam zavedny. Kde robim chybu, preco mi to nejde?


V.

Re:Stavové filtrování s iptables
« Odpověď #22 kdy: 22. 11. 2017, 21:34:52 »
Otázka je na to, proč je v konfiguraci firewallu kontrola stavových spojení?

Některé protokoly jsou tak nastaveny, že mají nějakou posloupnost činností. A chytřejší firewall umí i kontrolu toku protokolu řešit. Třeba i povolit jen něco v http, ftp, sipu, "dns doctoring", h.323 kontrolu apod.

Firewall dost často funguje i tak, že povoluje jen to, co má smysl. Kontroluje i routing podle interfejsů ...

Pokud se podíváte na to, jak tečou spojení firewallem / kernelem, tak to platí pro každé spojení, ono schéma. Pokud je spojení navázané, je jeho zpracování firewallem jednodušší.