Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Ufw: firewall jednoduše a rychle

IPtables je mocný nástroj, který se správnými znalostmi dokáže cokoli, co si jen umíte u filtrování provozu na síti představit. Když ale potřebujete ochránit pouze svůj počítač, ať už jde o desktop či notebook, je to jako obrovský kanón na malého vrabce. Proto vznikla řada projektů, které firewall zjednodušují.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Řeč bude o projektu ufw, což je zkratka pro Uncomplicated Firewall. Cílem projektu je přinést jednoduché rozhraní pro linuxový firewall, a hned při prvních pokusech zjistíte, že se mu to daří docela dobře.

Pomocí ufw lze nastavit:

  • pravidla pro běžící služby
  • pravidla pro aplikace
  • pravidla pro konkrétní porty a rozsahy portů

Důležité je, že o iptables prakticky nic nemusíte vědět a firewall nastavíte. Pokud vám dělá problémy používat řádkové aplikace, můžete použít gufw, což je grafická nadstavba pro ufw. Nečekejte od ufw nic převratného, je to jednoúčelová aplikace, která má zamezit komunikaci aplikací, u kterých si to nepřejete.

Ufw se vyvíjí pro Ubuntu a je v něm k dispozici od verze 8.04 ve výchozí instalaci. Gufw je taktéž vyvíjeno pro Ubuntu, ale není k dispozici ve výchozí instalaci, takže pokud si chcete firewall jednoduše naklikat, je potřeba gufw nainstalovat:

$ sudo aptitude install gufw 

Teď byste měli mít všechno pro řádkové i grafické nastavení firewallu a můžeme si ukázat několik příkladů použití, které se vám budou v běžném provozu hodit.

ufw

Základem každého firewallu je výchozí politika a přidávání a odebírání pravidel. Na tohle je ufw jako stvořené a obě změny se s ním dělají víc než dobře.

Nejdříve začneme tím, že firewall zapneme:

$ ufw enable 

Tím jsme inicializovali strukturu chainů v iptables, která obsahuje pravidla pro logování a ve výchozím stavu jsou zakázána příchozí spojení. Také je nastaven stavový firewall, který vpustí pakety připojení, jež jsou vytvořeny od nás, takže všechny běžné služby by měly fungovat. Pokud netušíte, co je to chain nebo iptables, můžete zkusit náš seriál o iptables, ale pro další práci s ufw to vědět nepotřebujete. Uvádím to jen jako porovnání, pokud iptables znáte. Když se vám firewall přestane líbit, můžete ho zase vypnout:

$ ufw disable 

Rozhodnete-li se volit jinou politiku než je povolování jednotlivých služeb, tedy že povolíte všechno a budete některé služby zakazovat, bude se vám hodit následující ukázka:

$ ufw default allow incoming 

nebo

$ ufw default reject incoming 

Klíčové slovo „incoming“, tedy příchozí provoz, můžete změnit na „outgoing“, tedy odchozí provoz.

Po zapnutí firewallu a nastavení výchozího chování je čas pro přidávání pravidel. Ty se dají rozdělit do třech skupin, jak je popsáno výše. Můžete pracovat s přednastavenými profily aplikací, služeb a pak s jednotlivými porty či jejich rozsahem. Když třeba provozujeme na lokálním stroji webový server, povolíme jeho službu:

$ ufw allow in http 

Pokud to je SSH, povolíme SSH:

$ ufw allow in ssh 

A podobně to funguje i u ostatních. Nezapomeňte, že takhle povolujete příchozí provoz. Odchozí provoz se povoluje nahrazením parametru „in“ za parametr „out“. Pokud nás zajímá seznam dostupných profilů, tak ten získáme po zadání:

$ ufw app list 

Profil ssh ani http tady nehledejte, protože tu nejsou vypsané, ale najdete je v gufw, společně s mnoha dalšími.

Nicméně mnohem častěji budete povolovat jednotlivé porty a tady jsou parametrové orgie přeci jen větší:

ufw allow|reject|deny in|out proto tcp|udp from any|IP to any|IP port 80,22,21
ufw allow|reject|deny in|out proto tcp|udp from any|IP port 8000 to any|IP port 8010 

V prvním příkladu je ukázáno, jak nastavit politiku pro několik portů najednou a ve druhém a třetím jde o rozsah portů 8000 až 8010. Také se zde setkáváme s parametry „allow“, „reject“ a „deny“. Pomocí „allow“ provoz povolíme, přes „reject“ dáme vědět druhé straně, že tudy ne a „deny“ pakety tiše zahodí. Běžně se sluší dávat o stavu portu vědět druhé straně, ale pokud jste opravdu paranoidní, použijte deny.

Možností, jak pravidla zapsat, je hromada, proto vám sem dám několik příkladů z výpisu gufw, které si budete případně schopni upravit podle sebe:

$ ufw allow in proto tcp from any to any port 51413
$ ufw allow in proto tcp from any to any port 135,139,445
$ ufw allow in from any to any port 8000
$ ufw allow in from any to any port 8000-8100
$ ufw allow in proto tcp from any port 8000 to any port 8010 

Stav firewallu získáme zadáním:

$ ufw status 

Se seznamem pravidel pak:

$ ufw status verbose 

Ve výpise získáme:

Status: active
Do                         Akce        Od
--                         ----        --
[ 1] 51413/tcp             ALLOW IN    Anywhere
[ 2] 22                    ALLOW IN    Anywhere
[ 3] 135,139,445/tcp       ALLOW IN    Anywhere
[ 4] 137,138/udp           ALLOW IN    Anywhere
[ 5] 2049                  ALLOW IN    Anywhere 

Když už máme čísla pravidel, můžeme pohodlně pravidla mazat:

$ ufw delete 3
Deleting:
 allow 135,139,445/tcp
Proceed with operation (y|n)? y
Pravidlo smazáno 

Nemusíte se bát, že byste udělali chybu, ufw se zeptá, jestli má smazat konkrétní pravidlo. Lze používat podobně jako v iptables mazání zadáním přesného pravidla, ale přes indexy je to jednodušší při ručním mazání.

gufw

Pokud zrovna nekonfigurujete nějaký jednoduchý server nebo nenastavujete firewall skriptem, třeba podle nějakých podmínek, spíš vás bude zajímat grafická nadstavba gufw, protože s ním lze firewall udělat přece jen o něco rychleji a pohodlněji.

Gufw má jednoduché rozhraní, které v úvodu nabídne zapnutí firewallu a tlačítka pro přidání a odstranění pravidel.

Přidávání pravidel je rozděleno do třech tabů:

  • Předpřipravené
  • Jednoduché
  • Pokročilé

V předpřipravených najdete několik služeb a aplikací, které gufw zná a ví, jak pro ně firewall nastavit, pravděpodobně lépe, než to víte sami. Není to ale volba pro paranoidní uživatele, kteří chtějí mít pod kontrolou každý port.

V tabu „Jednoduché“ se nastavují taková pravidla, která povolují jen jeden port a nepotřebujeme u nich definovat IP adresu. Opačný případ je tab „Pokročilé“, kde najdeme nastavení rozsahu IP adres i portů. Zápis se provádí podobně jako u ufw.

TIB2012

       

U všech pravidel máme možnost povolit rozšířené akce, kde kromě pořadí pravidla lze nastavit, jestli se mají průchody přes pravidlo logovat v dmesg, což se hodí pro ladění pravidel.

Závěr

Já sám používám ufw a gufw na desktopu a notebooku a je to perfektní pomocník, když potřebujete firewall bez hledání pravidel v manuálu pro iptables. Není sice tak flexibilní, ale to se mu dá samozřejmě odpustit, na běžném osobním počítači prakticky nic jiného než povolení Samby/NFS a podobně nepotřebujete. Díky ufw se dá pohodlně naskriptovat firewall podle požadavků aktuální situace a skript ani nemusí být nějak složitý.

Adam Štrauch

Adam Štrauch

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.

Školení Google+ pro firmy

DW - Školení PPC
  • Jak využít Google+ pro firemní komunikaci a marketing.
  • Čím se liší Google+ od Twitteru a Facebooku z pohledu firemního využití.
  • Jak využít Google+ v souladu s pravidly užívání.
  • Založení Google+ Page (Stránky) krok po kroku, včetně praktických tipů.

Detailní informace o školení Google+ »

Ohodnoťte jako ve škole:
Průměrná známka 1,43

Přehled názorů

otazka pri kazdom pokuse o pripojenie
Deafboy 19. 8. 2010 08:10
Nový
├ 
Re: otazka pri kazdom pokuse o pripojenie
vvv 19. 8. 2010 10:12
Nový
│
└ 
Re: otazka pri kazdom pokuse o pripojenie
Deafboy 19. 8. 2010 10:57
Nový
│
 
└ 
Re: otazka pri kazdom pokuse o pripojenie
Martin Tomášek 19. 8. 2010 12:24
Nový
│
 
 
└ 
Re: otazka pri kazdom pokuse o pripojenie
Xjmeno363 19. 8. 2010 19:23
Nový
│
 
 
 
├ 
Re: otazka pri kazdom pokuse o pripojenie
Martin Tomášek 19. 8. 2010 22:12
Nový
│
 
 
 
└ 
Re: otazka pri kazdom pokuse o pripojenie
vvv 20. 8. 2010 00:02
Nový
│
 
 
 
 
└ 
Re: otazka pri kazdom pokuse o pripojenie
vvv 20. 8. 2010 00:02
Nový
├ 
Re: otazka pri kazdom pokuse o pripojenie
Sten 19. 8. 2010 15:24
Nový
└ 
Re: otazka pri kazdom pokuse o pripojenie
Hobit 19. 8. 2010 23:57
Nový
 
├ 
Re: otazka pri kazdom pokuse o pripojenie
Sten 20. 8. 2010 13:15
Nový
 
└ 
Re: otazka pri kazdom pokuse o pripojenie
Tomáš Crhonek 20. 8. 2010 15:37
Nový
PF (Unix)
TomJ. 19. 8. 2010 10:24
Nový
Pravidla na rozhraní?
Tomáš Hofman 19. 8. 2010 11:15
Nový
fireHOL
-vh- 19. 8. 2010 11:15
Nový
└ 
Re: fireHOL
davro 19. 8. 2010 16:37
Nový
Re: Ufw: firewall jednoduše a rychle
JardaP . 19. 8. 2010 11:49
Nový
└ 
Re: Ufw: firewall jednoduše a rychle
Martin Tomášek 19. 8. 2010 12:12
Nový
Umí nebo čumí?
kdoneumíčumí 19. 8. 2010 13:42
Nový
spousteni pod rootem
tux.martin 19. 8. 2010 17:10
Nový
└ 
Re: spousteni pod rootem
Michal Breškovec 19. 8. 2010 18:27
Nový
filter na interface
marcelix 20. 8. 2010 19:51
Nový
Problem s pristupem k windows network
Arthur 23. 8. 2010 10:58
Nový
└ 
Re: Problem s pristupem k windows network
kyytaM 23. 8. 2010 22:01
Nový
Ubuntu - pravidlo pro sambu
k23 8. 12. 2010 23:58
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem