abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Nová verze

    Rocky Linux byl vydán v nové stabilní verzi 9.4. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 7
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 18
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 32
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 6
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 1
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 148 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    Rozcestník

    Dotaz: iptables

    25.5.2009 11:27 aaaaaaaaa
    iptables
    Přečteno: 1611×

    Hello,

    potreboval by som poradit s iptables. Na port 22 by som potreboval povolit pripajanie iba jednej IPcke ktoru zadefinujem, ako by sa to dalo?

    Odpovědi

    25.5.2009 11:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Předpokládám protokol TCP:
    iptables -A INPUT -p tcp --dport 22 -s ! $IP -j REJECT
    
    25.5.2009 11:46 aaaaaaaaa
    Rozbalit Rozbalit vše Re: iptables


    iptables -A INPUT -s xxx.xxx.xxx.xxx --destination-port 22 -j ACCEPT

     

    ?

    25.5.2009 14:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Předpokládám, že dotaz byl na to, jak přístup z jedné IP adresy povolit a z ostatních zakázat. Ve výchozím nastavení je povolen libovolný provoz, takže je zbytečné povolovat ještě extra tuto IP adresu a port.
    polo23 avatar 25.5.2009 14:38 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Ahoj, kdyz uz je tu diskuze o iptables chtel bych se zeptat kde je ulozen konfiguracni soubor Iptables. Nemuzu ho nikde najit(pouzivam Debian). Vim asi mi reknete ze si mam napsat skript s prikazy a ten pak spustit. No me by to zajimalo uz jen ze zvedavosti. Rad bych si ten soubor prosel. Diky

    25.5.2009 14:49 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Není uložen nikde – pravidla se musí aplikovat při každém startu znova. iptables umožňují aktuální stav pravidel uložit do souboru a později jej zase obnovit – toho některé distribuce využívají. Třeba Gentoo má init skript /etc/init.d/iptables, který umí pravidla uložit na žádost uživatele a při startu tato pravidla obnoví. Kam ta pravidla ukládá, na to se musíte podívat do toho skriptu. Předpokládám, že Debian to bude mít podobně.
    polo23 avatar 25.5.2009 15:16 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    No nekde ty pravidla byt ulozena musi kdyz se aplikuji pri kazdem startu znova. Musi byt nejaky soubor kde jsou uvedena - odkud Iptables cerpaji. Ja prave v /etc/init.d iptables vubec nemam uvedeno. Kdyz chcete do pravidel na trvalo nejake pridat tak musite prece editovat nejaky konfigurak.

    25.5.2009 20:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    No nekde ty pravidla byt ulozena musi kdyz se aplikuji pri kazdem startu znova. Musi byt nejaky soubor kde jsou uvedena - odkud Iptables cerpaji.
    Sice píšete že musí, ale já jsem se vám snažil vysvětlit, že nic takového neexistuje. iptables pouze umožňují stav pravidel nastavených na firewallu uložit a z uloženého souboru zase načíst – toho pak využívají distribuční skripty. Podívejte se, který skript vám volá iptables-resore, a tím zjistíte, který skript to má na starosti ve vašem systému.
    25.5.2009 15:20 chinook | skóre: 28
    Rozbalit Rozbalit vše Re: iptables
    Ja mam v debiane v /etc/rc.local iptables-restore < /etc/firewall.conf a v souboru /etc/firewall.conf mam nadefinovana pravidla. V centOs je soubor /etc/syssconfig/iptablse, kde jsou opet zadana pravidla, ale tam se to nahazuje samo.

    polo23 avatar 25.5.2009 15:29 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Tak ja mam v Debianu taky /etc/rc.local ale nic s iptables v nem neni. /etc/firewall.conf tak nemam vubec. Tak by me zajimalo odkud se ta ma konfigurace bere?

    25.5.2009 17:24 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: iptables
    To mě taky, protože Debian žádný distribuční způsob nemá. Ještě zkuste nakouknout do /etc/network/if-up.d/.
    polo23 avatar 25.5.2009 17:30 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Tak v adresari ktery doporucujete taky nic neni...bohuzel:(

    25.5.2009 17:36 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: iptables
    Tak ještě je možné, že tam máte nějaký IDS nebo něco jiného, co si nahrává vlastní pravidla. Nebo se zeptejte toho, po kom jste ten systém zdědil. Nebo znefunkčněte /sbin/iptables (třeba mu seberte příznak spustitelnosti) a pří následném rebootu sledujte, který skript si bude stěžovat.
    polo23 avatar 25.5.2009 18:09 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Tak jsem mu vzal ten priznak spustitelnosti jak jste doporucoval ale nic:( Nikdo si na nic nestezuje... PC jsme po nikom neprebral. Je to muj notebook:)

    25.5.2009 23:09 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: iptables
    A teď ta zásadní otázka: Když pustíte iptables-save, tak to vypíše co? Jsou tam vůbec nějaká pravidla?
    26.5.2009 13:18 chinook | skóre: 28
    Rozbalit Rozbalit vše Re: iptables
    Omlouvam se za demagogii. Ty pravidla jsem si tam dal sam. Debian po instalaci skutecne zadna pravidla nema. Aspon ja nic nenasel. Jen jsem chtel poradit autorovi jak se to da resit. CentOS ta pravidla ma standardne /etc/syssconfig/iptables nebo nejak tak. Ted tu zadny stroj po ruce nemam, abych koukl na presnou cestu.
    25.5.2009 20:07 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: iptables
    vi /etc/init.d/iptables ?
    grep -r iptables-restore /etc/* ?
    polo23 avatar 25.5.2009 21:33 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables
    grep -r iptables-restore /etc/* ? Nenasel nic.
    /etc/init.d/iptables ? V init.d iptables vubec nemam:(
    
    26.5.2009 07:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    A po startu systému vůbec nějaká pravidla v iptables máte?
    polo23 avatar 26.5.2009 14:53 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    No tady je vypis iptables -L:

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination        

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination        

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination        
     

    To je vsechno co tam mam...

    26.5.2009 15:30 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Takže nic, politika ACCEPT je výchozí politika. Takže dál nemusíte hledat, co vám nastavuje při startu pravidla, protože vám je nic nenastavuje.

    Pokud tedy chcete automatické nastavování pravidel při startu (pokud na tom počítači potřebujete firewall, tak je to rozumné, nikomu by se nechtělo firewall pokaždé znova nastavovat ručně), máte dvě možnosti – buď Debian už nějaké skripty pro uložení a obnovu nastavení firewallu má (pak je zřejmě stačí doinstalovat), nebo si pomocí iptables-save a iptables-restore můžete napsat skripty vlastní.
    26.5.2009 10:59 Filip F
    Rozbalit Rozbalit vše Re: iptables
    Ja mam v praci debian Lenny, a konfiguracni soubort iptables je /etc/iptables.up.rules

    A potom v /etc/network/interfaces mam
    ...
    iface eth0 inet static
            address 192.168.1.4
            netmask 255.255.255.0
            broadcast 192.168.1.255
            network 192.168.1.0
            post-up iptables-restore < /etc/iptables.up.rules
    ...
    
    polo23 avatar 26.5.2009 14:54 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Taky mam debian Lenny ale zadne /etc/iptables.up.rules tam bohuzel nemam:(

    26.5.2009 15:15 Filip F
    Rozbalit Rozbalit vše Re: iptables
    Tak si ho vytvor :)
    iptables-save > /etc/iptables.up.rules
    
    26.5.2009 15:18 kmarty | skóre: 15
    Rozbalit Rozbalit vše Re: iptables

    Sak to si tam davas ty sam. Ja tam mam /etc/iptables/up.rules.

    Sveho casu to bylo u Debiana nekde v /usr/share/doc/iptables/ jako mozny nebo dokonce doporucovany zpusob.

     

    polo23 avatar 26.5.2009 18:02 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Ja jsem hledal soubor ve kterem jsou dosavadni pravidla ze kterych iptables firewall cerpa informace a chtel jsme si k nim pripsat nejaka svoje. Ted jsem si ho sice vytvoril ale neni v nem skoro nic a nezda se mi ze by to byla jedina pravidla v mem PC co jsme tam dosud mel. Navic chci po zmene takoveho souboru aby z neho iptables cerpali dal... Ted jsem cosi vytvoril ale iptables o tom nevi a tak to podle me nebere v potaz. Tohle je vypis toho noveho souboru:

    # Generated by iptables-save v1.4.2 on Tue May 26 17:53:03 2009
    *filter
    :INPUT ACCEPT [196767:231519618]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [167934:58767252]
    COMMIT
    # Completed on Tue May 26 17:53:03 2009
     

    26.5.2009 19:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    nezda se mi ze by to byla jedina pravidla v mem PC co jsme tam dosud mel
    Podle toho výpisu výše tam žádná pravidla nemáte.
    Navic chci po zmene takoveho souboru aby z neho iptables cerpali dal...
    Běžně se to dělá tak, že nastavíte pravidla jak chcete a uložíte je pomocí iptables-save. Ve startovacím skriptu pak obnovíte pravidla přes iptables-restore. Výhoda je ta, že ukládáte aktuální pravidla firewallu, která vám nejspíš fungují. Pokud byste upravoval skript s pravidly, je velká pravděpodobnost, že ten skript nebo pravidla pokazíte.

    polo23 avatar 26.5.2009 21:00 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    No a kdyz tam zadna pravidla nemam tak to mam chapat tak ze je muj pocitac nechraneny? Myslel jsme ze iptables aspon v defaultu nejake pravidla maji aspon omezeni prichozi komunikace - takhle na me muze kdokoliv zkouset utoky.

    K te druhe casti vaseho prispevku - uprimne moc Vam nerozumim-mejte se mnou tu trpelivost a vysvetlete mi to polopate. Ja si to predstavuju tak ze napisu do nejakeho textaku(skriptu) prikazy(pravidla) pro iptables. Pak musim nejakym zpusobem zajistit aby se tento skript spustil pokazde kdyz zapnu PC a pravidla se tak aplikovala. Jo jeste bych dodal ze ja tam nemam zadny iptables startovaci skript(mam tim na mysli v /etc//init.d ani nic v /etc). Moc prave nechapu jak je mam ulozit pomoci iptables-save a k cemu je to restore?

    27.5.2009 00:05 chinook | skóre: 28
    Rozbalit Rozbalit vše Re: iptables
    V defaultu zadna pravidla nadefinovana nejsou. Aspon u distribuci co znam. Zkus napsat:
    iptables -L -n -v 
    
    a uvidis co mas definovane. Podle me je pc chranene i bez firewallu pokud ti neco neposloucha na nejakem portu, ktery nechces mit otevreny. napises normalne pravidla neco ve smyslu:
    
    iptables -I INPUT -p tcp 22 -j ACCEPT
    .
    .
    .
    .
    iptables -P INPUT DROP
    
    atd.

    pak to ulozis do nejakeho souboru napr:
    
    iptables-save > firewall.conf
    
    a pravidla pak obnovis
    
    iptables-restore < firewall.conf
    
    27.5.2009 00:42 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    No a kdyz tam zadna pravidla nemam tak to mam chapat tak ze je muj pocitac nechraneny?
    Ne, znamená to, že je veškerá komunikace povolena. To nemusí nutně znamenat nechráněný počítač. Počítač je chráněný jedině v případě, kdy máte ve firewallu pravidla, kterým rozumíte a která tam chcete mít.
    Myslel jsme ze iptables aspon v defaultu nejake pravidla maji aspon omezeni prichozi komunikace - takhle na me muze kdokoliv zkouset utoky.
    Neexistuje žádné "základní" nastavení firewallu -- resp. základní nastavení je vypnutý firewall, tedy povolení veškeré komunikace. A pokud nevíte, co děláte, je nastavování jakýchkoli dalších pravidel stejně k ničemu.

    Útoky může každý zkoušet, ale pokud je bezpečný software na tom počítači, k ničemu mu to nebude. A pokud na tom počítači nemusí běžet žádné síťové služby, není důvod, aby běžely, a pak není co napadat. Pak už může firewall sloužit pouze jako obecná ochrana sítě (proti útokům na infrastrukturu sítě, nikoli na konkrétní programy), jenže taková ochrana musí být z principu před onou sítí, na koncovém počítači je k ničemu.
    K te druhe casti vaseho prispevku - uprimne moc Vam nerozumim-mejte se mnou tu trpelivost a vysvetlete mi to polopate. Ja si to predstavuju tak ze napisu do nejakeho textaku(skriptu) prikazy(pravidla) pro iptables. Pak musim nejakym zpusobem zajistit aby se tento skript spustil pokazde kdyz zapnu PC a pravidla se tak aplikovala. Jo jeste bych dodal ze ja tam nemam zadny iptables startovaci skript(mam tim na mysli v /etc//init.d ani nic v /etc). Moc prave nechapu jak je mam ulozit pomoci iptables-save a k cemu je to restore?
    Ne, postup je jiný. Spouštíte si příkazy iptables s potřebnými parametry na příkazovém řádku a tím nastavujete firewall. Občas se vám nějaké pravidlo nepovede, odstřihnete se úplně od sítě nebo od ssh -- v takovém případě si poděkujete, že vše děláte z místní konzole, a že nemáte pravidla v nějakém skriptu, který byste takhle upravil a od sítě se odstřihl při příštím restartu (což je typicky v situaci, kdy jste od serveru tisíc kilometrů daleko a za 15 minut má začít prezentace webových stránek, které na tom serveru běží). Takhle si to nastavení firewallu ladíte (přidáváte, upravujete a mažete pravidla), dokud s ním nejste spokojen. Pak zavoláte příkaz iptables-save > /etc/moje-nastaveni-firewallu. Do startovacích skriptů (třeba do rc.local, nebo si vytvoříte nový skript) si pak přidáte příkaz iptables-restore < /etc/moje-nastaveni-firewallu. Ten první vezme aktuální nastavení firewallu a vypíše jej v nějakém formátu (který je shodou okolností čitelný a dost podobný parametrům iptables, kterým se pravidla nastavují), druhý pak data ve stejném formátu zase načte a nastaví příslušným způsobem firewall. Možná je k tomu dobré ještě dodat, že iptables nejsou samotný firewall. Firewall je sada pravidel nastavených v jádře -- iptables je jenom utilita, která s těmito pravidly umožňuje manipulovat (měnit je, přidávat a odebírat). A iptables-save a iptables-restore jsou příkazy, které umí tuhle aktuální sadu pravidel jádra v nějakém formátu uložit a pak zase z toho formátu nahrát zpět do jádra.

    Pokud pak chcete pravidla později změnit, zase pomocí příkazů iptables upravíte aktuální nastavení firewallu a pak je pomocí iptables-save uložíte opět do souboru, který používá váš inicializační skript k obnově po startu.
    27.5.2009 07:21 chinook | skóre: 28
    Rozbalit Rozbalit vše Re: iptables
    A pokud na tom počítači nemusí běžet žádné síťové služby, není důvod, aby běžely, a pak není co napadat. Pak už může firewall sloužit pouze jako obecná ochrana sítě (proti útokům na infrastrukturu sítě, nikoli na konkrétní programy), jenže taková ochrana musí být z principu před onou sítí, na koncovém počítači je k ničemu.
    Koncovym pocitacem myslis co? Ze FW nesmi bezi na stejnem stroji jako ostatni sluzby a nebo ze FW nesmi bezet za sluzbama?
    27.5.2009 08:08 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Nevím, jaký je rozdíl mezi těmi variantami v otázce, ale firewall přímo na počítači se službami má význam hlavně v případě, kdy tam nějaká služba má běžet, ale nemá být dostupná všem a není možné to nastavit přímo v tom daném programu. Ochrana před útoky typu DoS už tam moc smysl nedává, protože problém je už když vám ten útok zahltí vnitřní síť. To pásmo, kdy firewall na počítači se službou ještě dokáže zahazovat provoz, který by už aplikaci položil, ale provoz ještě není natolik silný, aby položil i síťovou vrstvu jádra nebo okolní infrastrukturu, je velice úzké. No a proti útokům na samotnou síťovou vrstvu jádra je takový firewall zcela neúčinný, protože je stejná pravděpodobnost, že bude chyba v kódu před firewallem nebo v samotném firewallu (a firewall je tedy na nic nebo dokonce situaci zhorší), jako že bude až za firewallem.

    Takže má smysl mít firewall před servery nebo DMZ, má smysl mít firewall před sítí, kde mohou být neaktualizované počítače se spoustou děr v softwaru (typická síť s Windows), ale na samotné pracovní stanici uživatele, kde žádné síťové služby neběží, je firewall skoro zbytečný. Ne že by za nějaké velmi výjimečné konstelace událostí nemohl pomoci, ale třeba pravidelná aktualizace jádra pomůže v takovém případě nesrovnatelně víc. A to už vůbec nemluvím o tzv. personálních firewallech často používaných ve Windows, to už je úplně na nic. Za prvé uživatel, který tomu nerozumí, stejně vždy povolení odklikne, za druhé tam je firewall na stejné pozici, jako kterýkoli vir, takže jde jenom o to, kdo koho přechytračí, firewall tam nemá žádné technické možnosti, které by vir neměl. (To platí v Linuxu taky v případě, kdy by onen vir byl modulem v jádru, což je přeci jen už dost extrémní případ, protože běžný uživatel jen tak snadno modul do jádra nenaistaluje.)
    27.5.2009 12:57 polo23
    Rozbalit Rozbalit vše Re: iptables

    Takze secteno podtrzeno... mala rekapitulace jak nastavit iptables v mem PC.

    1) Napisu pomoci prikazu iptables do konzole pravidla jako napr: iptables -A INPUT -s xxx.xxx.xxx.xxx --destination-port 22 -j ACCEPT

    2) Do konzole napisu prikaz iptables-save > /etc/muj_firewall tim dojde k ulozeni konfigurace(v mem pripade pravidla iptables -A INPUT -s xxx.xxx.xxx.xxx --destination-port 22 -j ACCEPT) do souboru muj_firewall.

    3) Vytvorim si skript.sh ve kterem bude prikaz  iptables-restore < /etc/muj_firewall a tento skript umistim nejlepe pomoci update-rc.d skript.sh default do /etc/init.d/ a do /etc/rcX.

    Mame hotovo skript.sh se spusti pokazde pri startu, provede se prikaz iptables-restore < /etc/muj_firewall ktery zavede pravidla ze souboru muj_firewal do pameti(aplikuje je). Posledni vec ktera mi neni uplne jasna... v jakem formatu se ulozi pravidla do souboru muj_firewall pomoci iptables-save? Klasicky textovy ktery mohu editovat a pripadne tam pravidla dopsat? To pochybuju kdyby to tak bylo byly by prikazy iptables-save/restore asi zbytecne ze? Tzn bude to nejaky format zrejme s tim ze forma ulozeni bude nejakym zpusobem pozmenena - prikazy nebudou mit stejnou formu jak jsme je zadaval do konzole.

    A malem bych zapomnel... Kdyz uz ta pravidla mam aplikovana(tzn po prikazu iptables - restore) tak je zmenim? To musim zase vsechno vypsat do konzole a pak celou proceduru udelat znova?

     

    Druha moznost reseni podle me mnohem jednodussi bez utilit jako iptables save/restore:

    1) Vytvorim si soubor muj_firewall a do neho napisu prikazy iptables jako napr iptables -A INPUT -s xxx.xxx.xxx.xxx --destination-port 22 -j ACCEPT

    2) Pomoci update-rc.d muj_firewall default ho dostanu do do /etc/init.d/ a do /etc/rcX.

    Pri kazdem startu PC se vykonaji prikazy ulozene v muj_firewall. Tato vyrianta mi prijde mnohem jednodussi - nebo v ni snad vidite nejakou slabinu?

    27.5.2009 14:21 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Posledni vec ktera mi neni uplne jasna... v jakem formatu se ulozi pravidla do souboru muj_firewall pomoci iptables-save? Klasicky textovy ktery mohu editovat a pripadne tam pravidla dopsat? To pochybuju kdyby to tak bylo byly by prikazy iptables-save/restore asi zbytecne ze?
    Ten formát vás nemusí zajímat, pracují s ním jen příkazy iptables-save a iptables-restore. Jinak je to ale čistě textový formát, který má syntaxi velmi podobnou tomu, jak vypadá zápis pravidel pro příkaz iptables. Takže s trochou opatrnosti jej upravíte i v textovém editoru – ale to je zbytečné, vizte dále.
    A malem bych zapomnel... Kdyz uz ta pravidla mam aplikovana(tzn po prikazu iptables - restore) tak je zmenim? To musim zase vsechno vypsat do konzole a pak celou proceduru udelat znova?
    Ne, po iptables-restore máte firewall ve stejném stavu, jako byste ta pravidla nahrál přes jednotlivé příkazy iptables. Takže prostě jen dalšími příkazy iptables nastavení firewallu změníte a pak nastavení znova uložíte pomocí iptables-save.

    Například, nejprve si nastavíte firewall tak, aby v příchozí komunikaci povoloval pokračování v navázaných spojeních a připojení na port 22 a 80 a uložíte:
    iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -P INPUT DROP
    iptables-save > /etc/muj-firewall
    
    Pak můžete třeba tisíckrát spustit iptables-restore a nastavení firewallu se vždy obnoví. Pak se vzpomenete, že chcete firewall upravit – přístup na port 80 zakážete a povolíte port 443. Nejprve si vypíšete aktuální stav firewallu, zjistíte, který řádek chcete vymazat (ten s pravidlem pro port 80) a přidáte nové pravidlo.
    iptables --line-numbers -nvL
    iptables -D INPUT 3 #chcete smazat 3. pravidlo v INPUT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
    Teď máte firewall nastaven do nového požadovaného stavu, otestujete jej a když jste spokojen, zase jeho stav uložíte:
    iptables-save > /etc/muj-firewall
    
    Druha moznost reseni podle me mnohem jednodussi bez utilit jako iptables save/restore:

    1) Vytvorim si soubor muj_firewall a do neho napisu prikazy iptables jako napr iptables -A INPUT -s xxx.xxx.xxx.xxx --destination-port 22 -j ACCEPT

    2) Pomoci update-rc.d muj_firewall default ho dostanu do do /etc/init.d/ a do /etc/rcX.

    Pri kazdem startu PC se vykonaji prikazy ulozene v muj_firewall. Tato vyrianta mi prijde mnohem jednodussi - nebo v ni snad vidite nejakou slabinu?
    Výhod je několik. iptables-restore je pravděpodobně atomická operace, takže firewall je nejprve v jednom stavu, a pak hned v druhém. Pokud zadáváte pravidla postupně přes iptables, aplikují se postupně – takže je možné, že třeba nejprve nastavíte výchozí politiku na DROP a za pár sekund povolíte pravidlem SSH spojení – jenže mezitím bylo pár sekund SSH spojení zakázáno a spojení se přerušilo (a nemáte jak zadat to druhé pravidlo). Toto je samozřejmě extrémní případ, ale obecně není moc dobré mít firewall v nějakém mezistavu.

    Za druhé, když budete pokaždé znova spouště skript nastavující firewall pomocí příkazů, budete muset řešit problém, jak skript otestovat. Buď jej testovat nebudete, a pak až při příštím restartu zjistíte, že jste omylem zakázal přístup k nějaké důležité službě – třeba k SSH a musíte jet fyzicky k serveru. S iptables-restore se tomu snadno vyhnete – třeba přes příkaz at si nastavíte, ať se za 5 minut obnoví vaše dosavadní nastavení firewallu. Pak přes iptables nastavení změníte a vyzkoušíte. Když funguje, načasovanou akci obnovení firewallu zrušíte, když nefunguje a třeba jste se odpojil, počkáte 5 minut, až se pravidla obnoví.

    Druhá možnost je testovat skript tím, že jej při každá změně zkusíte spustit. Pak máte ale stejný problém jako v předchozím případě s tím, že se můžete od počítače snadno odstřihnout. Druhý problém je v tom, že při testování nebudete skript aplikovat na firewall ve stejném stavu, jako při startu počítače. Tj. musíte na začátek skriptu přidat výmaz všech uživatelských řetězců a nastavení všech výchozích hodnot. Jenže pak budou iptables zase při startu PC řvát, že mažete neexistující řetězec (a nejlépe vám to init systém pošle e-mailem), jednak hrozí, že při mazání na něco zapomenete, pak vám při testování bude skript fungovat (protože jste nějaké pravidlo zapomněl vymazat a pak nastavit, ve firewallu tedy zůstane), ale po restartu už bude firewall nastavený špatně (protože to nastavující pravidlo tam prostě bude chybět).

    Proto je lepší používat kombinaci iptables-save a iptables-restore – vytvářet skript s voláním iptables je jen složitější a jsou tam zbytečná rizika.
    27.5.2009 15:36 polo23
    Rozbalit Rozbalit vše Re: iptables

    Rozumím... Chápu tedy správně že souhlasíte s mým prvním návrhem v mém posledním příspěvku? Jde mi jen o to zda je ta koncepce správná a zda by bylo vhodné ji používat.  Co říct závěrem? Pane Jirsák nezbývá mi než Vám poděkovat za vyčerpávající vysvětlení problematiky IPTABLES na distribuci Debian.  a za to že jste se mnou měl tu trpělivost:) Snad už tomu rozumím na té úrovni, že si sám dokážu nastavit pravidla(jejich syntaxi se samozřejmě musím ještě doučit) a ty následně aplikovat.

    27.5.2009 17:57 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: iptables
    Osobně doporučuji následující postup:

    1) udělat iptables-save do souboru někam do /root/iptables.rules

    2) naučit se trochu iptables

    3) doplnit do uvedeného souboru všechna žádoucí pravidla

    4) tento skript 2x zkontrolovat jestli jste si náhodou nezakázal to milionkrát omílané SSH, zálohovat ho, mít ho v RCS apod.

    5) udělat iptables-restore z tohoto souboru

    6) pokud to funguje jak má, udělat ještě jednou iptables-save, tentokrát někam do /etc/blah kde to bude uloženo jakože konfigurace a dělat při startu iptables-restore z tohoto souboru

    *) další změny (přidávání služeb, tuning) dělat opět v tom souboru /root/iptables.rules a pravidla aktualizovat pomocí iptables-restore < /root/iptables.rules, tedy už nikdy více nedělat iptables-save jakéhosi "aktuálního stavu"

    beru tedy daný konfig. soubor jako zdroják programu, který bude dělat to, co jsem do něj napsal. Psaní pravidel (většinou neatomicky) z příkazové řádky a pak "daný vytvořený funkční stav" uložit se mi jeví spíš hardcore a odobně méně přehledné než napsaný skript pro iptables-restore. Rovněž pokud firewall sdílí více uživatelů, může to být výhoda (komentáře atd.). Také návrat k "bezpečnému stavu fw" pokud by v živém stavu někdo udělal binec je snadný (iptables-restore < /root/iptables.rules). Je to samozřejmě individuální, někdo se dobře vyzná v iptables -L a stačí mu to pro kontrolu aktuálního stavu.

    Příklad komentovaného konfiguráku:
    # default table with build-in INPUT, FORWARD and OUTPUT chains
    *filter
    
    # attemp to flush all rules in filter table
    -F
    
    # flush built-in rules
    -F INPUT
    -F OUTPUT
    -F FORWARD
    
    # delete all user-defined chains
    -X
    
    # --- chains ---
    
    # default policies
    
    # drop
    -P INPUT DROP
    -P OUTPUT DROP
    -P FORWARD DROP
    
    # --- chains for services
    
    # ssh
    -N S_SSH
    -F S_SSH
    
    # sebe povolit
    -A S_SSH -s mojeip/32 -j ACCEPT
    # ostatni omezit
    -A S_SSH -m recent --set --name s_ssh_recent
    #log and block 4th attempt
    -A S_SSH -m recent --update --seconds 60 --hitcount 4 --name s_ssh_recent -m limit --limit 1/minute --limit-burst 1 -j LOG --log-level debug --log-prefix "iptables: SSH blocked: "
    -A S_SSH -m recent --update --seconds 60 --hitcount 4 --name s_ssh_recent -j DROP
    -A S_SSH -j ACCEPT
    
    # www
    ...
    
    # --- Main ----
    
    # loopback input/output
    
    -A INPUT -i lo -j ACCEPT
    -A OUTPUT -o lo -j ACCEPT
    
    # panic
    
    #COMMIT
    
    # --- input chain
    
    # not from lo, but destination 127.0.0.1/8
    -A INPUT -d 127.0.0.0/8 -j DROP
    
    # accept all from localhost
    -A INPUT -s 127.0.0.1 -j ACCEPT
    
    # disable some ports
    -A INPUT -p tcp -j DENIEDPORTS
    
    # DROP/ACCEPT packets depending on the state of the connection
    -A INPUT -j KEEPSTATE
    
    ...
    
    # --- input chain services
    
    # ssh
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j S_SSH
    
    # http
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j S_WWW
    
    ...
    
    # --- output chain
    
    ...
    
    # --- output chain services
    
    ...
    
    # --- logging ---
    
    # LOG all superfluous packets
    
    -A INPUT -m limit --limit 5/minute --limit-burst 5 -j LOG --log-level debug --log-prefix "iptables: undefined input: "
    -A FORWARD -m limit --limit 5/minute --limit-burst 5 -j LOG --log-level debug --log-prefix "iptables: undefined forward: "
    -A OUTPUT -m limit --limit 5/minute --limit-burst 5 -j LOG --log-level debug --log-prefix "iptables: undefined output: "
    
    # but finally be kind and allow other output
    -A OUTPUT -j ACCEPT
    
    COMMIT
    
    polo23 avatar 27.5.2009 22:09 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    Ohledne toho konfiguraku... nemely by byt ty pravdila

    # drop
    -P INPUT DROP
    -P OUTPUT DROP
    -P FORWARD DROP
    az na konci? Kazdy FW prece projizdi tabulku od vrchu dolu a aplikuje jednotliva pravidla. U toho Vaseho by se vsechno hned na zacatku zahodilo ne?

    28.5.2009 01:31 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: iptables
    Ono tohle nejsou pravidla (rules), tohle jsou policies, vizte to -P, nikoliv -I nebo -A. Policy je možné nastavit pro předdefinované chainy, tedy v tabulce filter jsou to ty INPUT, OUTPUT, FORWARD a uplatňují se když paket dojde na konec chainu. U uživatelských chainů (u mně třeba S_SSH atd.) se paket pro projdení tímto chainem vrací do chainu ze kterého si odskočil (např INPUT).
    28.5.2009 01:38 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: iptables
    A ano, trochu si protiřečím když mám -P OUTPUT DROP a na konci mám -A OUTPUT -j ACCEPT. Takže na začátku se tvářím tvrdě jako že hodlám ve finále zahazovat i nepovolená odchozí spojení, a na konci vyměknu protože si nechci přidělávat problémy :) Říkám si že někdy zkusím to ACCEPT na konci smazat, schválně co všechno přestane fungovat.
    28.5.2009 13:10 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Osobně bych to určitě nedělal tak, že budu mít v nějakém skriptu příkazy iptables a ten skript nechám spouštět při startu systému. Podle mne si tak člověk koleduje o průšvih. Osobně upřednostňuju variantu s iptables-save a iptables-restore. Možné jsou samozřejmě oba způsoby, výhody a nevýhody jsem popsal v předchozích příspěvcích.
    polo23 avatar 29.5.2009 08:30 polo23 | skóre: 28 | blog: polo23
    Rozbalit Rozbalit vše Re: iptables

    No ono kdyz se to tak vezme tak ten zpusob s iptables-save a iptables restore je taky spusteni skriptu po startu. Vyjde to podle me uplne na stejno. Jednou aplikujete primo prikazy iptables a podruhe zase pomoci iptables-restore je taky tahate ze souboru pri startu. Ja v tom rozdil nevidim.

    29.5.2009 11:41 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables
    Rozdíly jsem popisoval nahoře – s iptables-restore dojde k atomickému nastavení firewallu (který tedy není nějakou dobu v nedefinovaném stavu), navíc s iptables-restore daleko snáz zařídíte, že firewall bude po startu nastaven správně (protože se pouze obnovuje již vyzkoušené nastavení firewallu), a konečně s iptables-save a iptables-restore se daleko snáz dělají na firewallu úpravy.

    V obou případech jde o spouštění skriptu, v tom rozdíl není. Rozdíl je v tom, co ten skript udělá – buď obnoví dříve použité nastavení firewallu (iptables-restore), nebo postupně mění současné nastavení firewallu (sada volání iptables) – přičemž ale výchozí stav firewallu je pokaždé jiný, takže je těžké napsat skript tak, aby fungoval vždy správně.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.