Späť na blog

Konfigurácia firewallu pomocou UFW na Ubuntu 18.04

Konfigurácia firewallu pomocou UFW na Ubuntu 18.04

A firewall je jedným z kľúčových komponentov zabezpečenia systému. Je zodpovedný za správu prichádzajúcich a odchádzajúcich pripojení cez sieť. Je to primárna línia obrany pre vaše servery a dáta. Preto je mimoriadne dôležité mať dobre nakonfigurovaný firewall. V tejto príručke vás prevedieme krokmi nastavenia firewallu pomocou UFW na Ubuntu 18.04.

UFW na Ubuntu

Termín UFW znamená „Uncomplicated Firewall“ (Nekomplikovaný firewall). Je to predvolený firewall program, ktorý je predinštalovaný v Ubuntu. UFW je v skutočnosti rozhranie pre iptables. Cieľom UFW je uľahčiť konfiguráciu a správu firewallu. Hoci samotný iptables je robustná a flexibilná možnosť, pre začiatočníkov nie je príliš prívetivý. UFW uľahčuje prácu začiatočníkom aj skúseným používateľom.

Najprv sa pozrite na nášho všestranného sprievodcu, ktorý vám pomôže oboznámiť sa so základnými funkciami UFW. Môžete tiež postupovať podľa tohto návodu na inštaláciu vášho Ubuntu servera. Teraz poďme na to!

Na začiatok, ak z nejakého dôvodu nemáte UFW nainštalovaný, nainštalujte ho ihneď:

Konfigurácia UFW

  • Používanie IPv6

V súčasnosti je IPv4 stále dominantnou silou. S ohľadom na to sa väčšina tejto príručky venuje aj IPv4. Našťastie, UFW prichádza aj s podporou pre IPv6. Všetko, čo musíte urobiť, je povoliť túto funkciu v konfiguračnom súbore UFW.

Najprv otvorte konfiguračný súbor UFW v textovom editore. Na uloženie zmien musí byť textový editor spustený s oprávneniami sudo:

Vyhľadajte „IPV6“ a uistite sa, že je nastavené na „yes“.

  • Predvolená politika

Ak s firewallom pracujete prvýkrát, odporúča sa najprv definovať predvolené pravidlá. Tieto pravidlá určujú, ako sa riadi prevádzka, ktorá nezodpovedá žiadnemu explicitnému pravidlu. V predvolenom nastavení je UFW nakonfigurovaný tak, aby odmietal všetky prichádzajúce pripojenia, ale povoľoval všetky odchádzajúce pripojenia. Definuje, že nikto sa nemôže pripojiť k serveru, zatiaľ čo aplikácia spustená na serveri sa môže pripojiť von.

Nasledujúce príkazy len predefinujú predvolené správanie UFW. Upozorňujeme, že to zmení správanie UFW, ak bolo predtým upravené:

Pre osobný počítač by tieto samotné pravidlá firewallu stačili. Servery však vyžadujú viac na správne zabezpečenie.

Povolenie SSH pripojení

Spôsob, akým je teraz UFW nakonfigurovaný, spôsobí odmietnutie všetkých prichádzajúcich pripojení. Pre vzdialený server je to neprípustné. Bez prístupu k serveru nie je možné nič urobiť. Aby ste sa vyhli tomuto problému, UFW môže byť nakonfigurovaný tak, aby povolil prichádzajúce SSH alebo HTTP pripojenia.

Ak chcete povoliť SSH pripojenia k serveru, spustite nasledujúci príkaz. V podstate to povie UFW, aby povolil všetky pripojenia na porte 22. Je to port, na ktorom predvolene počúva SSH démon:

Namiesto tohto príkazu je možné priamo nakonfigurovať povolenie pripojení na port 22. Tento port je definovaný v súbore /etc/services:

Pretože port 22 je predvolený pre SSH démona, môže byť tiež náchylný na útoky. Čo ak je SSH server nakonfigurovaný tak, aby počúval na inom porte? V takejto situácii musí UFW povoliť pripojenie k tomuto portu. Za predpokladu, že SSH server počúva na porte 1234, potom použite nasledujúci príkaz:

Povolenie UFW

Hoci sú pravidlá UFW vytvorené, nebudú nič robiť, kým sa UFW neaktivuje. V predvolenom nastavení je UFW vypnutý, čo znamená, že napriek deklarovaniu pravidiel ich nebude vynucovať. Ak chcete povoliť UFW, spustite nasledujúci príkaz:

UFW môže zobraziť varovné hlásenie o prerušení existujúcich SSH pripojení. Keďže SSH pripojenia boli nakonfigurované ako povolené, povolenie UFW nespôsobí žiadne prerušenie. Ak chcete zobraziť, aké pravidlá sú nastavené, spustite nasledujúci príkaz:

Povolenie rôznych pripojení

V tomto bode by mal byť nástroj UFW vybavený ďalšími pravidlami, aby bol zážitok stabilný. Pripojenia, ktoré majú byť povolené, závisia od vašich konkrétnych potrieb. Už bolo ukázané, ako prikázať UFW, aby povolil pripojenia na základe názvu služby alebo čísla portu.

Tu sú niektoré ďalšie porty, ktoré bývajú veľmi často otvorené:

  • SSH (port 22): Toto je predvolený port nakonfigurovaný pre pripojenia SSH.
  • HTTP (port 80): Toto je predvolený port, ktorý používajú nešifrované webové servery.
  • HTTPS (port 443): Toto je predvolený port, ktorý používajú šifrované webové servery.

Ak chcete povoliť pripojenia SSH, spustite jeden z nasledujúcich príkazov:

Ďalej, ak chcete povoliť pripojenia HTTP, spustite jeden z nasledujúcich príkazov:

Ak chcete povoliť pripojenia HTTPS, spustite jeden z nasledujúcich príkazov:

Rozsah portov

Doteraz sme si ukázali, ako povoliť konkrétny port. Čo ak je však potrebný rozsah portov? Deklarovať každý port v UFW zvlášť je dosť neefektívne. Niektoré aplikácie používajú viacero portov. Našťastie, UFW umožňuje deklarovať rozsah portov. Ak to chcete urobiť, použite nasledujúcu štruktúru príkazu:

Nasledujúci príklad povoľuje pripojenia X11, ktoré používajú porty 60006007:

Odporúča sa deklarovať protokoly vždy, keď je to možné. Vo väčšine prípadov to však nie je potrebné a všetko bude fungovať bez problémov.

Špecifické IP adresy

Pri používaní UFW je tiež možné filtrovať pripojenia podľa konkrétnych IP adries. V predvolenom nastavení bude UFW blokovať pripojenia z akejkoľvek IP adresy. Je možné deklarovať povolenie pripojenia z určitých IP adries. Ak chcete povoliť pripojenie z IP adresy, použite nasledujúcu štruktúru príkazu:

Môžete tiež deklarovať konkrétne porty, ku ktorým sa IP adresa môže pripojiť. Ak to chcete urobiť, pridajte k príkazu to any port nasledované číslom portu:

Podsiete

Ak potrebujete povoliť podsieť IP adries, je to možné urobiť pomocou zápisu CIDR. V tomto príklade UFW povolí pripojenie z IP adries v rozsahu od 203.0.113.1 do 203.0.113.254:

Podobne ako v predchádzajúcom kroku je tiež možné špecifikovať port, ku ktorému sa tieto IP adresy môžu pripojiť:

Pripojenie k špecifickému sieťovému rozhraniu

V serverovom prostredí môže byť k systému pripojených viacero sieťových rozhraní. Pomocou UFW je možné definovať, že určité pravidlo sa vzťahuje len na konkrétne sieťové rozhranie. Najprv skontrolujte všetky sieťové rozhrania pripojené k serveru. Hlavná pozornosť sa sústreďuje na názov cieľového sieťového rozhrania:

 firewall with UFW on Ubuntu 18.04. 4

V našom prípade existuje iba jedno sieťové rozhranie ens3, ktoré sa pripája k verejnému internetu. Ak chcete povoliť prichádzajúce pripojenia z tohto sieťového rozhrania, použite nasledujúcu štruktúru príkazu:

Taktiež je možné definovať port, na ktorý môže prichádzať prevádzka zo sieťového rozhrania:

Odmietnutie pripojenia

Podľa predvolenej konfigurácie bude UFW odmietať pripojenie z akéhokoľvek zdroja (okrem deklarovaných výnimiek). Toto je odporúčaný spôsob používania UFW. Môže však byť potrebné zablokovať konkrétne pripojenia z určitej zdrojovej IP adresy alebo podsiete. Možno je predvolené správanie UFW nastavené tak, aby povoľovalo všetky pripojenia (neodporúča sa).

Na odmietnutie pripojenia z určitých IP adries vyžaduje UFW pravidlá odmietnutia. Písanie pravidiel odmietnutia je celkom jednoduché. Vezmite akékoľvek pravidlo povolenia, nahraďte výraz „allow“ výrazom „deny“ a voila! Stane sa z neho pravidlo odmietnutia.

Pozrite sa na nasledujúci príklad. Ak chcete odmietnuť akékoľvek HTTP pripojenie, použite nasledujúce pravidlo odmietnutia:

Na odmietnutie pripojenia z 203.0.113.1, použite nasledujúce pravidlo odmietnutia:

Vymazanie pravidiel

Všetko, čo sme sa doteraz naučili, je ako vytvárať pravidlá. Rovnako ako sa pravidlá vytvárajú, dajú sa aj vymazať. V prípade UFW existujú dva konkrétne spôsoby vymazania pravidla.

  • Vymazanie pravidla podľa čísla pravidla

Toto je najjednoduchší spôsob vymazania pravidla UFW. Každé pravidlo v UFW má svoje číslo. Nasledujúci príkaz vypíše všetky pravidlá UFW spolu s ich číslom:

 firewall with UFW on Ubuntu 18.04. 3

Nasledujúci príkaz vymaže pravidlo určené číslom pravidla:

  • Vymazanie pravidla podľa samotného pravidla

Toto je zložitejšia metóda vymazania pravidla. Vyžaduje si manuálne zadanie samotného pravidla, ktoré chcete vymazať. V nasledujúcom príklade UFW vymaže pravidlo určené pomocou allow http:

Pravidlo mohlo byť špecifikované aj pomocou allow 80. V takom prípade ho vymaže nasledujúci príkaz:

Vymazaním pravidla sa vymaže pre IPv4 aj IPv6.

Kontrola stavu a pravidiel UFW

Je dôležité uistiť sa, či je UFW aktívny alebo nie. Ak chcete zistiť stav UFW, spustite nasledujúci príkaz:

 firewall with UFW on Ubuntu 18.04. 2

Ak je stav „inactive“, aktivujte ho podľa kroku Enabling UFW vyššie. Ak je aktívny, UFW nahlási stav „active“ a vypíše všetky aktívne pravidlá.

Zakázanie UFW

Ak z nejakého dôvodu nebudete UFW používať, zakážte ho pomocou nasledujúceho príkazu:

Ak je UFW zakázaný, všetky vytvorené pravidlá už nie sú aktívne. Pravidlá sa však nevymažú. Po opätovnej aktivácii UFW budú všetky pravidlá opäť aktívne. Čo ak je aktuálna konfigurácia UFW v neporiadku? Namiesto postupného vymazávania pravidiel je možné vymazať ich všetky jedným príkazom. Ak chcete resetovať UFW, spustite nasledujúci príkaz:

 firewall with UFW on Ubuntu 18.04. 1

Upozorňujeme, že to nezmení predvolené správanie UFW, ktoré bolo nakonfigurované na začiatku.

Záver

Správna konfigurácia firewallu je nevyhnutná na zaistenie bezpečnosti a funkčnosti. Mal by byť nakonfigurovaný tak, aby povoľoval iba potrebné prichádzajúce pripojenia a zároveň obmedzoval tie nepotrebné.

Ak sa chcete zoznámiť s ďalšími riešeniami firewallu, pozrite sa na náš blog pre ďalšie zdroje:

Príjemnú prácu s počítačom!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.