Linux jako server/IPfilter: Porovnání verzí
Smazaný obsah Přidaný obsah
sejv |
sejv |
||
Řádek 7:
do adresáře <code>/usr/local/sbin/</code>. Budou se nám dobře spouštět a nebudou
se dobře spouštět nikomu jinému.
Nespěchejte při ladění filtru s nastavováním restriktivních pravidel. Politika DROP
je dobrá u produkčního filtru, ale při ladění vám nadělá zbytečně moc práce.
Nechte politiku ACCEPT a sledujte pomocí pravidla LOG, co vám sítem pravidel
protéká.
== Sledování IP filtru ==
Řádek 13 ⟶ 18:
Přidáním volby -v dosáhneme zobrazení i množství paketů/dat prošlých každým pravidlem.
# iptables -L -v
Volba -n řekne, aby se
služeb, místo kterých se budou vypisovat IP adresy a čísla portů.
# iptables -L -v -n
Řádek 24 ⟶ 29:
To nám zajistí, že se výpis bude po dvou vteřinách obnovovat a my můžeme plynule
sledovat, jak se naše řádění s přidáváním/odebíráním pravidel projevuje. Samozřejmě
nám to "sežere" jednu konzoli, ale to nám vadit nemusí. Máme jich dost. Činnost
sledovače ''watch'' ukončujeme klasickým CTRL+C.
Takže si uděláme skriptík s názvem kupř. ''muj-ipf-watch'':
<pre>
#!/bin/sh
# skript pro sledovani ip filtru
watch "iptables -L -v -n --line-numbers"
</pre>
Nastavte práva 750, ať máte sichr, že se k tomu dostane jen root.
== Automatické shození filtru při ladění po síti ==
Je děsná sranda, když ladíte filtr po síti (přes ssh) a nějakou blbostí si zablokujete
přístup. Musíte-li se šťourat ve filtru přes síť, doporučuji mít připravený
skript, který vám filtr shodí, nebo uvede do předchozího stavu.
Nicméně začátek, předpokládám, nebudete testovat jinde, než na svém počítači
u kterého sedíte.
===
Následující skriptík zajistí, že IP filtr bude vyčištěn:
<pre>
Řádek 56 ⟶ 68:
exit 0
</pre>
Samozřejmě si přidáme
politiku na ACCEPT, protože pokud ji náš filtr bude nastavovat na DROP, bude
náš filtr "shozený"
něco řekli hned v úvodu.
Bez otestování jsme kaskadéři. V každém textu je aspoň jeden překlep. Takže si
Řádek 78 ⟶ 91:
</pre>
Tento skript spustíme a podíváme se do vedlejší konzole, kde nám běží náš ''muj-ipf-watch'',
co náš filtr dělá. Můžeme si třeba spustit internetový prohlížeč a načíst nějakou stránku.
Všechno by mělo projít pravidlem a politika by se neměla uplatnit.
Teď zkusíme spustit skritp ''muj-ipf-down'' a koukneme opět do vedlejší konzole.
Politiky by měly být všechny "ACCEPT" a pravidla žádná.
=== Shození filtru při ladění "na dálku" ===
Zmrskáme-li něco ve filtru na počítači u kterého sedíme, celkem nic se neděje.
Ale ladíme-li filtr na stroji, který je po síti daleko, je opatrnost nutná.
Než se v našem filtru začneme hrabat, zajistíme si nastavení výchozího stavu
pro případ, že by server s námi přestal komunikovat. Použijeme nějaký program
pro odložené spuštění příkazu. Tedy buď ''cron'', nebo ''at''.
Příkaz ''at'' mi přijde pružnější,
v zápalu boje zapomněl
filtru. Můžeme klidně oba příkazy zkombinovat. ''cron''
bude shazovat filtr jednou za hodinu (kdybychom zapomněli na ''at'')
a ''at''em si budeme nechávat filtr shazovat pružně dle potřeby.
Řádek 93 ⟶ 115:
at>muj-ipf-down
Nyní můžeme začít řádit. Víme, že ''at'' nám za pět minut filtr shodí.
S ''cron''em to uděláme takto:
# crontab -e
A přidáme řádek:
30 * * * * /usr/local/sbin/muj-ipf-down
který nám vždycky v půl shodí firewall.
|