Fórumok
Üdv!
A firewalld-vel (iptables) szeretnék blokkolni bizonyos országokat (pl. Kína... :))
A neten keresgéltem, de nem igazán találom a szép/korrekt megoldást.
Pl.:
https://www.clearos.com/clearfoundation/social/community/block-access-f…
https://documentation.clearos.com/content:en_us:kb_howtos_country_block…
https://linuxconfig.org/how-to-automatically-execute-shell-script-at-st…
Mi lenne a szép megoldás?
Hozzászólások
Szerintem a legkorrektebb megoldás, ha ipset-tel felveszed az adott ország tartományait és azt töltöd be. Nem tudom, hogy az nftables-nél hogy működik, de iptables-szel így csinálom és hibátéanul teszi a dolgát (látom, hogy írtad az iptables-t, de a ( alapértelmezetten nftables-t használ, menjünk biztosra).
firewalld.conf-ban
FirewallBackend=iptables
A link alapján: https://documentation.clearos.com/content:en_us:kb_howtos_country_block…
Ez mehetne a cron.monthly-ba:
Ez az "ipset-block.sh" script:
Systemd service unit:
Ez jó lehet? Az ipset-block.sh a megadott országokat tiltja, ha jól írtam.
Jónak tűnik, én Shorewall-lal használom, szerintem nyugodtan üzemeld be így.
Hogy tudom tesztelni, hogy házzadta az IP-ket az iptables-hez?
Az "iptables -L" grepeltem IP-re, de nem biztos, hogy jól csinálom...
Nálam a Shorewall-ban így néz ki:
shorewall show |grep blacklist
461 22122 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set blacklist1 src
1124 62213 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set blacklist2 src
1449 76028 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 match-set blacklist_cn src
Ugye alapvetően blacklistX konvencióval hozom létre az ipset-eket, szépen meg is jelenik. A shorewall show parancs egyébként egyenértékű az iptables -L -n -v paranccsal.
Annyira figyelj még, hogy az ipset nem perzisztens, ezért mindig legyen mentés az aktuális állapotról, és az a tűzfal indulása előtt töltődjön be, a service-ben erre is van lehetőség, én is hasonlóan oldottam meg.
Elvileg firewalld-hez ez kell:
https://www.linode.com/community/questions/11143/top-tip-firewalld-and-…
Ez az ipdeny.com egy adott ország minden tartományat tartalmazza? Ha fordítva használnám application levél szinten szuresre, pl csak magyar+osztrak IP-rol menjen egy adott app, akkor arra is le lehet? (Nyilván lassítana az IP subset parseolasa, de egy kis cache segíthet)
A .hu domainen kivül tiltottam mindent, de mégsem tudok belépni telekom hálózatból. :)
Szóval óvatosan kell kezelni!
Melyik a korrekt country IP list?
https://ip.ludost.net
https://www.ipdeny.com
Vagy mást érdemes használni?
Működik a script, ha lefuttatom, akkor ipset delete és felépíti mégegyszer (elvileg). Jó ez így?
A ciklus után egy warning van: