Jak správně uložit pravidla iptables

xmms

  • ***
  • 148
    • Zobrazit profil
    • E-mail
Jak správně uložit pravidla iptables
« kdy: 11. 01. 2011, 14:41:04 »
Mám suse, kde se hodně věcí šteluje přes yast a nastavení iptables dělám normálně ručně v konzoli. Jaký je ten správný systémový způsob uložení pravidel, aby se to načítalo po dalším restartu?

mám tam (mimo jiné) třeba tohle pravidlo vytvořené automaticky
Kód: [Vybrat]
-A input_ext -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A input_ext -p icmp -m icmp --icmp-type 8 -j ACCEPT

já chci vymazat icmp 8 a uložit. Napadá mě použít iptables-save a iptables-restore a hodit to do nějakého skriptu, ale to asi není nejvhodnější. Je na to nějaký vhodný postup?
Yast mi neumožňuje editovat tyhle konkrétní pravidla, ale jen si přidat nějaké svoje vlastní a je to dost omezené.


j.

Re: Jak správně uložit pravidla iptables
« Odpověď #1 kdy: 11. 01. 2011, 15:15:11 »
<off-topic> Ruce bych lamal za zakazovani pingu...
RFC 1122:
            Every host MUST implement an ICMP Echo server function that
            receives Echo Requests and sends corresponding Echo Replies.
            A host SHOULD also implement an application-layer interface
            for sending an Echo Request and receiving an Echo Reply, for
            diagnostic purposes.
</off-topic>

asdfasdf

Re: Jak správně uložit pravidla iptables
« Odpověď #2 kdy: 11. 01. 2011, 15:28:35 »
Ruce bych lamal za zakazovani pingu...

+1

# grep -r iptables-restore /etc

Re: Jak správně uložit pravidla iptables
« Odpověď #3 kdy: 11. 01. 2011, 15:40:05 »
preco ste proti zakazaniu pingu?

Re: Jak správně uložit pravidla iptables
« Odpověď #4 kdy: 11. 01. 2011, 16:16:31 »
Protože na něj spoléhá řada aplikací. ICMP není určen jen pro klasické pingání po síti, ale posílají se po něm i další stavové informace. S blokací pak přestanou některé věci fungovat, protože si klienti třeba předem zjišťují dostupnost cílového stroje a ten se jim bude jevit nefunkční a spojení se vůbec neuskuteční.

Navíc blokace ICMP nemá naprosto žádný smysl ani z technického ani z bezpečnostního hlediska.


Re: Jak správně uložit pravidla iptables
« Odpověď #5 kdy: 11. 01. 2011, 16:19:47 »
ddos?

Re: Jak správně uložit pravidla iptables
« Odpověď #6 kdy: 11. 01. 2011, 16:41:27 »
Proti DDoS útokům skrze ICMP se brání jinak, rozhodně ne kompletní blokací ICMP. Mnohem rozumnější je nastavit na firewallu pravidla, která omezí běžné ICMP útoky - například tím, že budete kontrolovat, jestli mají přicházející pakety správnou vnější adresu a nesnaží se tvářit jako pakety zevnitř sítě a podobně. Je také možné omezit šířku pásma využitelnou pro ICMP na nějakou rozumnou úroveň.

xmms

  • ***
  • 148
    • Zobrazit profil
    • E-mail
Re: Jak správně uložit pravidla iptables
« Odpověď #7 kdy: 11. 01. 2011, 16:52:07 »
Ach jo, to je zase diskuze. Předně upozorňuju, že nejsem žádný pan server, ale pouze jeden malý konzument na internetu. Přijímání nevyžádaných pingů proto není potřeba, žádnou veřejnou službu neprovozuju. Funkčnost ICMP mám samozřejmě zajištěnou pomocí INPUT RELATED a ESTABLISHED. Tedy takové icmp, které jsem si vyžádal. A nikdo nemá seriózní důvod mě pingovat a zkoumat můj stroj.

Pokud se pletu (což je u mě dost možné), uveďte prosím, jakým způsobem to může nabourávat funkčnost aplikací a co např. můžu takovým přístupem pokazit. Na veřejném serveru bych to samozřejmě povolil.

No a teď by mě zajímalo, jak to uložím. Tedy zpět k původnímu dotazu.

PS: tušil jsem, že to s tím pingem jsem si měl nechat pro sebe. Ale už je to venku.

Re: Jak správně uložit pravidla iptables
« Odpověď #8 kdy: 11. 01. 2011, 17:02:02 »
S tou diskusí bych si nedělal hlavu. Prostě debatujeme, neber si to osobně. A teď k tomu dotazu konečně :).

# iptables-save > /root/firewall.pravidla
# iptables-restore < /root/firewall.pravidla


Můžeš si to připsat třeba do /etc/rc.local. Některé distribuce na to mají už přímo udělané init skripty.

j.

Re: Jak správně uložit pravidla iptables
« Odpověď #9 kdy: 11. 01. 2011, 17:25:45 »
Citace
Přijímání nevyžádaných pingů proto není potřeba

Vyzaduje to standard? Vyzaduje. Navic k zakazovani echo requestu opravdu neni zadny rozumny duvod.

Z pohledu jednoho uzivatele kaslat na standardy az tak neboli, ale z pohledu architekta ruznych sitovych aplikaci fakt premyslim, jak by byl svet krasny, kdyby se vsechnu hosty chovali konzistentne spravne.

Proto spravna otazka nezni "jak moc mne osobne bude bolet ignorace standardu", ale "jake skvele, easy to use aplikace, by mohli existovat, kdyby se standardy dodrzovali, pripadne o kolik by byli aplikace jednodussi a privetivejsi".

xmms

  • ***
  • 148
    • Zobrazit profil
    • E-mail
Re: Jak správně uložit pravidla iptables
« Odpověď #10 kdy: 11. 01. 2011, 17:48:36 »
Můžeš si to připsat třeba do /etc/rc.local. Některé distribuce na to mají už přímo udělané init skripty.

Takový soubor tam nemám. Místo toho tam jsou dva:
/etc/rc.d/SuSEfirewall2_init
/etc/rc.d/SuSEfirewall2_setup

V těhle se to startuje. Skriptovat moc neumím a tak jsem z toho nedokázal vyčíst, kde se ta pravidla nacházejí. Chtěl bych pozměnit ty existující. Prohledal jsem všechny soubory na disku pro výskyt některých řetězců z mých pravidel, ale nikde je to nenašlo.

Pak jsou nějaké skripty v /etc/sysconfig/scripts
to je vhodné místo pro uložení vlastních pravidel?

j.:
Potřebuje někdo pingovat můj počítač? PROČ?
Já nejsem architekt síťových aplikací. A mám k tomu rozumný důvod - a sice nemám rád nevyžádané pakety už z principu. Jsem toho názoru, že pokud někdo potřebuje pingovat můj počítač v internetu, může osobně dojít za mnou a domluvit se. Vysvětlí mi k tomu opravdový pádný důvod a já mu možná udělím výjimku v iptables :)

Jinak co je komu do mého ECHO? No ne?

xmms

  • ***
  • 148
    • Zobrazit profil
    • E-mail
Re: Jak správně uložit pravidla iptables
« Odpověď #11 kdy: 11. 01. 2011, 18:18:02 »
Jen mě tak napadlo, že by se to tam dalo dát takhle
iptables -I INPUT -p icmp --icmp-type echo-request -m random --average 33 -j REJECT --reject-with icmp-net-prohibited
iptables -I INPUT -p icmp --icmp-type echo-request -m random --average 33 -j REJECT --reject-with icmp-port-unreachable
iptables -I INPUT -p icmp --icmp-type echo-request -m random --average 33 -j REJECT --reject-with icmp-proto-unreachable


aby byla aspoň sranda. Já mám tyhle vychytávky moc rád.
Ale nejde to:
iptables v1.4.8: Couldn't load match `random':/usr/lib/xtables/libipt_random.so: cannot open shared object file: No such file or directory

Dá se nějak dokompilovat tenhle konkrétní modul, abych nemusel celé jádro?

David

Re: Jak správně uložit pravidla iptables
« Odpověď #12 kdy: 11. 01. 2011, 20:03:37 »
vsechnu hosty chovali konzistentne spravne. ... by mohli existovat, kdyby se standardy dodrzovali, pripadne o kolik by byli aplikace jednodussi a privetivejsi".
Hm, je to off-topic, ale neda mi to. Nic proti, ale k tem standardum patri i cestina a jeji pravidla o psani mekkeho a tvrdeho i / y (tusim se tomu rika shoda podmetu s prisudkem) :-P

Adam

Re: Jak správně uložit pravidla iptables
« Odpověď #13 kdy: 11. 01. 2011, 20:46:07 »
vsechnu hosty chovali konzistentne spravne. ... by mohli existovat, kdyby se standardy dodrzovali, pripadne o kolik by byli aplikace jednodussi a privetivejsi".
Hm, je to off-topic, ale neda mi to. Nic proti, ale k tem standardum patri i cestina a jeji pravidla o psani mekkeho a tvrdeho i / y (tusim se tomu rika shoda podmetu s prisudkem) :-P

Spatne a zbytecne standarty je potreba porusovat! :)

j.

Re: Jak správně uložit pravidla iptables
« Odpověď #14 kdy: 11. 01. 2011, 21:14:29 »
vsechnu hosty chovali konzistentne spravne. ... by mohli existovat, kdyby se standardy dodrzovali, pripadne o kolik by byli aplikace jednodussi a privetivejsi".
Hm, je to off-topic, ale neda mi to. Nic proti, ale k tem standardum patri i cestina a jeji pravidla o psani mekkeho a tvrdeho i / y (tusim se tomu rika shoda podmetu s prisudkem) :-P

Omluvi me, pokud jsem si nedelal skolu v Cechach a cestinu jsem na skole nikdy nemel?