Ako vytvoriť firewall na školskom serveri

 

Firewall

Firewall je sieťové zariadenie a/alebo softvér, ktorý kontroluje tok dát, ktoré cez neho prechádzajú. Táto kontrola údajov prebieha na základe aplikovania pravidiel, ktoré určujú podmienky a akcie. Podmienky sa stanovujú pre údaje (napr. zdrojová, cieľová adresu, zdrojový alebo cieľový port či rozhranie, a rôzne iné). Úlohou firewallu je vyhodnotiť podmienky a ak je podmienka splnená, vykoná sa akcia napríklad povolenie alebo zamietnutie komunikácie (ale sú aj iné akcie).

Existujú tri základné typy firewallov:

  • paketový filter - filtruje dáta v tzv packetoch na základe ich vlastností (IP, rozhranie, port...)
  • stavový - filtruje pakety na základe ich stavu (vytvárajúce spojenie, odpovede na požiadavky, ...)
  • aplikačný - filtruje pakety na základe zdrojovej/cieľovej aplikácie, obsahu stránok a podobne

Linuxový firewall aplikuje len prvé dva typy.

Brána firewall je integrovaná do jadra linuxu, preto ju netreba inštalovať. Na jej nastavenie slúži nástroj iptables, pomocou ktorého sa definujú pravidlá. Prechádzajúce dáta sú zaraďované do troch zabudovaných tzv. reťazí:

  • INPUT - pravidlá pre packety prichádzajúce do počítača
  • OUTPUT - pravidlá pre packety odchádzajúce z počítača počítača
  • FORWARD - pravidlá pre packety prechádzajúce z jednej sieťovej karty na druhú

Ak je v počítači iba jedna sieťová karta firewall filtruje iba prichádzajúce a odchádzajúce dáta. V prípade dvoch sieťových kariet sa z počítača stáva smerovač, ktorý môže filtrovať komunikáciu medzi dvoma sieťovými kartami, a teda medzi dvoma sieťami. Najčastejšie sa takýto spôsob filtrovania používa na riadenie komunikácie medzi vnútornou sieťou, ktorej dôverujeme, a vonkajšou sieťou napr. Internetom.

Nastavenie brány firewal však už nemusíme vykonávať priamo na serveri, ale môžeme využiť nainštalované rozhranie Webmin.


Vytvorenie firewallu pomocou rozhrania Webmin

Otvoríme ponuku Sieť v nej ťukneme na Linux Firewall pomocou prepínača na stavíme Block all except SSH, IDENT, ping and high ports - týmto prepínačom sa zablokuje všetko okrem spomínaných služieb, zafajkneme políčko Enable firewall at boot time a stlačíme tlačidlo Setup Firewall (viď obrázok).

Po vykonaní tohto kroku sa na webstránke zjaví tabuľka s pravidlami:

Teraz môžeme do firewallu doplniť porty služieb, ktoré by mal server dovoľovať. Odporúčame doplniť ešte nasledujúce službywww, https, pop3, smtp, imap, imaps, pop3s, a ak chceme mať prístup k správe servera prostredníctvom rozhrania Webmin doplňme i port 10000 (ak máme v počítači dve sieťové karty a chceme aby sa dalo server spravovať iba z vnätornej siete tak port 10000 nezadáme). Urobíme to tak, že pri pravidle If protocol is TCP and destination port is SSH klikneme na Accept (viď obrázok vyššie). Porty je potrebné napísať bez medzier.

 www,https,pop3,smtp,imap,imaps,pop3s,10000

Na stránke, ktorá sa následne otvorí doplníme všetky spomínané porty a oddelíme čiarkou. Potom už len stlačíme tlačidlo Uložiť.


Vytvorenie NAT pomocou rozhrania Webmin

Ak máme v počítači dve sieťové karty, musíme nastaviť i druhú sieťovú kartu. Môžeme náš server použiť ako firewall s prekladom adries. Ak má byť vaša sieť bezpečná tak jednu sieťovú kartu zapojíte do Cisco routera, cez ktorý sa pripájate na internet a druhú do switchu, do ktorého sú pripojené ostatné počítače siete.

Od Cisco routeru musí byť switch rozvádzajúci sieť odpojený. Server bude fungovať nasledovne:
Internet --> vonkajšia sieťova karta servera --> firewall s prekladom adries --> vnútorná sieťová karta servera -->switch --> ostatné počítače

Firewall je sieťové zariadenie a/alebo softvér, ktorého úlohou je oddeliť siete s rôznymi prístupovými právami (typicky napr. Internet a Intranet) a kontrolovať tok dát medzi týmito sieťami.

AK máte v počítači len jednu sieťovú kartu, kontrola údajov prebieha na základe aplikovania pravidiel, ktoré určujú podmienky a akcie. Podmienky sa stanovujú pre údaje (napr. zdrojová, cieľová adresu, zdrojový alebo cieľový port a rôzne iné). Úlohou firewallu je vyhodnotiť podmienky a ak je podmienka splnená, vykoná sa akcia napríklad povolenie alebo zamietnutie komunikácie (ale suú aj iné akcie).

Ak máte v počítači dve sieťové karty je možné obe siete navzájom oddeliť. Server v takomto prípade bude fungovať tak, že bude rozhodovať o tom, ktoré požiadavky z vonkajšej siete pustí do vnútornej a naopak.

Ak máte v počítači dve sieťové karty, je potrebné pridať ešte jedno pravidlo, ktoré bude vykonávať preklad adries. V hornej časti nastavíme do rozbaľovacieho poľa Network address translation (nat) a stlačíme tlačidlo Showing IPtable. Po jeho stlačení sa zmení obsah stránky, na ktorej klikneme na tlačidlo Add Rule v časti Packet after routing (viď obrázok).

Na stránke s definíciou pravidla nastavíme prepínač do polohy Source NAT, nastavenie IPs and ports for SNAT prepnite do polohy IP range a v riadku, zapíšeme IP adresu vonkajšej siete 10.x.y.2 a nastavíme, že výstupné zariadenie má byť eth0 vybraním hodnoty Equals v riadku Outgoing interface. Potom stlačíme tlačidlo Vytvoriť v spodnej časti stránky.

Teraz vytvoríme tri pravidlá v časti v časti Packet before routing.

Na otvorenej stránke prepneme prepínač do polohy Accept a a nastavíme, že výstupné zariadenie má byť eth1 vybraním hodnoty Equals v riadku Incoming interface. Potom stlačíme tlačidlo Vytvoriť v spodnej časti stránky.

Rovnaké pravidlo vytvoríme i pre zariadenie lo.

Pri vytváraní posledného pravidla prepneme prepínač do polohy Accept a a nastavíme, že výstupné zariadenie má byť eth0 vybraním hodnoty Equals v riadku Incoming interface. Teraz vyberieme v časti Conection states z ponuky Equals a vyberieme hodnoty Existing Conections a Related to conected (pri označovaní týchto hodnôt myšou, držte na klávesnici kláves CTRL). Nakoniec stlačíme tlačidlo Vytvoriť v spodnej časti stránky.

Teraz už stačí len novú zmenu aplikovať stlačením tlačidla Apply Configuration.

Po aplikovaní zmeny sa konfigurácia uluží do súboru iptables.up.rules. Tento súbor je potrebné ešte načítať pri štarte systému.


Vytvorenie spúšťacieho skriptu na zavedenie firewallu

Otvoríme položku Systém a klikneme na Štart a vypnutie. Na stránke ktorá sa otvorí klikneme na odkaz Create a new bootup and shutdown action.

Otvorí sa stránka na vytváranie skriptov, do ktorej zadáme názov nového skriptu webmin-ipt a do poľa Bootup commands napíšeme:

/bin/echo 1 > /proc/sys/net/ipv4/ip_forward 
/sbin/iptables-restore /etc/iptables.up.rules  

a klikneme na tlačítko Vytvor.

Aby sme nemuseli teraz reštartovať server načítame pravidlá ručne. Zo zoznamu skriptov vyberieme Webmin-ipt a spustíme ho pomocou tlačidla Start selected.

Nastavenú konfiguráciu môžeme overiť tak že sa pokúsime na stanici na ktorej práve teraz sme otvoriť ľubovolnú stránku z internetu (napr. www.google.sk). Mala by sa otvoriť.