Dlouhodobý test hardwarového firewallu RoBox - 3. díl: popis nejdůležitějších služeb a funkcí

Firewally se dostávají do podvědomí uživatelů stále více - internet expanduje a ochrana počítače je nezbytná. Softwarových firewallů jsou desítky ne-li stovky, ale hardwarových? Jeden takový byl podroben testu. Jak si vedl, co lze od něj očekávat a kolik vlastně stojí?
  • 1. díl testu RoBOXu: co se vlastně skrývá v té krabičce?
  • 2. díl testu RoBoXu: zapojení, konfigurace, pro koho se hodí?
  • 3. díl testu RoBoXu: popis nejdůležitějších služeb a funkcí
  • 4. díl testu RoBoxu: jak si vede konkurence?
  • 5. díl testu RoBoXu: Testy, testy, testy
  • 6. díl testu RoBoXu: Jak to tedy vlastně nakonec dopadlo
  • Popis nejdůležitějších služeb a funkcí RoBoXu alias GNAT Boxu

    • VPN

      RoBoX v základní verzi neobsahuje VPN podporu. Ale v té verzi v jaké jej zakoupíte u českého distributora VPN dostanete. Jedná se jen o zadání aktivačního kódu. VPN značí Virtual Private Network, což znamená, že firewall ve spolupráci s protistranou vytvoří zabezpečený kanál prostřednictvím nezabezpečené sítě. Zároveň v rámci VPN je možné počítačům přiřadit neveřejné a neregistrované IP adresy tak, že se navzájem vidí a chovají, jako by byli na jedné lokální síti. Při vytváření VPN sítě se obě strany autentizují podle standardních protokolů, z nichž ty nejdůležitější jsou v GNATBoxu implementovány. Firewally si vymění klíče, dohodnou pravidla přenosu a přičemž veškerá komunikace probíhá v zašifrované formě. GNAT Box VPN Klient podporuje jak manuální, tak automatické protokoly pro výměnu klíčů. Pomocí IKE (main, aggresive i quick módy) lze klíče předávat automaticky. Klíče je též možné vkládat ručně a k dispozici jsou též předgenerované klíče od výrobce. Pro šifrování je možné použít DES, 3DES, pro kontrolu integrity paketů jsou k dispozici MD-5 a SHA-1 protokoly a další standardní nástroje.

      RoBoX může tvořit VPN s každým IPSec kompatibilním firewallem. VPN Client dodaný k RoBoXu na CD umožňuje vytvoření VPN sítě proti firewallu (typicky proti RoBoXu).

      RoBoX (s registrovaným VPN) podporuje tvorbu VPN, bez dynamické výměny klíčů protokolem IKE. Pracuje v režimech one-to-one, many-to-one i many-to-many. Podpora se týká firewallu, klienty pro VPN je nutné zakoupit zvlášť.
      V GB-Flash a vyšších je podpora rozšířena o IKE a podporu mobilních (remote access) klientů. Tento software je na CD, nainstaluje se na klientský počítač (například doma) a po připojení do VPN se vše tváří jako jediná LAN síť, která však může v reálu být roztahaná po světě. Klient pro MS Windows je na CD, vše ostatní je součástí GNAT Boxu. Díky IPSec kompatibilitě GNAT produktů je možné VPN tvořit i s konkurenčními, nebo ještě lépe s Open source produkty, pokud záleží na ceně, přičemž kvalita je srovnatelná.

      VPN je výhodná i pro cestující uživatele. Umožňuje člověku na druhé půlce Zeměkoule připojit se přes Internet do firemní sítě a pro obě strany se vše tváří jako síť lokální a navíc je vše zabezpečené a šifrované.

      Nicméně sestavení takového spojení není až tak triviální, přesto je zmíním jen heslovitě.

      Na straně RoBoXu, který tvoří VPN bránu do lokální sítě je nutné zaregistrovat následující údaje: uživatelské jméno, nějaké reálie, uživatelův klíč atd. Na počítači vzdáleného uživatele pak patří GNAT Box Client, dodaný na CD, bohužel jen ve verzi pro Windows. Pokud by takto cestoval jediný uživatel, není problém, neboť každý GNAT Box umožňuje v základní verzi připojení jednoho uživatele (současně). Pokud by byla potřeba připojení více uživatelů je nutné tuto službu dokoupit (aktivační číslo).

    • Mail Proxy

      RoBoX umožňuje přímo filtrovat poštu již na úrovni firewallu. Zároveň pokud je tak nastaven, umožňuje základní obranu proti SPAMu a proti zneužití mailserveru, zákazem přijímání pošty z open relay SMTP serveru. Vhodným nastavením filtrů lze oddělit poštu z vnějšku od vnitřní (v rámci Intranetu), což je v době červů a virů jistě plus. Je možné vytvořit tunel na portu TCP/25, který tuto funkci GNAT Boxu obejde a veškerou poštu přesměruje rovnou na mailserver.

    • DHCP

      RoBoX podporuje DHCP, tudíž, je-li to žádoucí může být připojen do světa přes dynamicky přidělovanou adresu. Vnitřní síť je na nastavení vnější prakticky nezávislá. Funkce usnadňuje život při konfiguraci strojů v chráněné síti.

    • DNS

      DNS server na RoBoXu funguje jako primární DNS pro vnitřní sítě, možnost souběžného provozu vnitřního primárního a sekundárního serveru není přímo v GNATu podporována. Je-li nutný externí DNS, je možné pakety tunelem poslat na specializovaný DNS server umístěný například do PSN.

    • NTP

      Network Time Protocol jednoduše umožňuje přebírat aktuální čas z specializovaných serverů na Internetu.

    • NAT

      Network Address Translation je jeden z "pilířů" GNAT Boxu. Umožňuje odstínit adresový prostor za firewallem od vnějšího světa. Díky tomu stačí jediná registrovaná IP adresa pro množství počítačů v LAN (až do omezení počtem uživatelů). NAT překládá vnitřní síťové adresy a každému uživateli ve vnitřní síti umožní transparentní přístup do vnější sítě, a to přes jedinou, nebo více registrovaných IP adres. Je totiž možné pomocí aliasů přiřadit vnějšímu rozhraní RoBoXu až 100 jmenných aliasů.

      RoBoX podporuje 3 typy sítí. Vnější EXTERNAL síť, a dvě chráněné PSN a PROTECTED sítě. Díky NAT je možné odstínit nejen vnější síť od vnitřních, ale i PSN od PROTECTED. PSN (Private Service Network, nebo také demilitarizovaná zóna) je tedy další chráněná síť za firewallem, do které se typicky umísťují servery pro web, poštu atd. a které potřebují obousměrné spojení s vnějším světem. Tato síť je samozřejmě také chráněná a je možné pro ni mít specifické filtry, odlišné od těch pro PROTECTED síť. Případný průnik na stroj v PSN neohrozí (pokud správce neudělá fundamentální chybu) stroje v chráněné síti. Pro stroje v PROTECTED síti je PSN transparentní, tj. stroje z chráněné sítě vidí servery v PSN a mohou s nimi komunikovat. Z PSN však standardně cesta do chráněné sítě nevede.

      NAT pracuje nativně nad TCP, UDP, ICMP, IGMP, (ESP pro VPN a AH pro clustering) protokoly. Pro jiné protokoly je nutné použít transparentní tunel (přes IP Pass Through) a tyto protokoly pak GNAT Box nefiltruje. Další protokoly je možné v podstatě libovolně přidávat stejně jako pro ně tvořit specifické filtry ven i dovnitř prostřednictvím IP Pass Through. Pokud se nastaví Stealth mód pro firewall budou odfiltrovány veškeré odpovědi na pakety (včetně ICMP paketů pro ping), které nejsou explicitně povolené nějakým filtrem, čímž se firewall stane neviditelnym při náhodných skenech, které tvoří nezanedbatelnou část Internetového provozu:-)

    • IP Pass Through

      Alternativní mechanismus (standardně přes tunel ve spojení s příslušnými filtry), kterým GNAT Box zpřístupňuje některý ze strojů z vnitřních sítí. Vyžaduje to platnou IP adresu, pod kterou bude stroj dostupný z vnějšku. Adresa pak není nijak překládaná pomocí NAT. Nad IP Pass Through mohou běžet libovolné protokoly, ale nebudou nad nimi uplatněné standardní filtry. Pro IP Pass Through je nutné vytvořit separátní filtry platné pouze pro takto zpřístupněná IP.

    • Tunely a tunýlky

      Protože GNAT Box vše až na IP Pass Through spojení automaticky překládá pomocí NAT, není možné se zvenku přímo připojit na žádný z vnitřních strojů. Každý paket projde filtry a pak je rozhodnuto, zda projde či bude zahozen. Na každý stroj uvnitř se však dá vytvořit tunel, který specifikované pakety přesměruje na příslušný stroj. Je možné směrovat pakety pomocí tunelů na rozhraní jednotlivých sítí v RoBoXu a pak je dále směrovat jiným tunelem na konkrétní stroj v zabezpečené síti. Typicky na webserver v PSN budou přesměrovány veškeré pakety, které přijdou na vnější adresu RoBoXu port 80.

    • Virtual Cracks alias Application Proxy

      Co se skrývá pod tímto názvem ze samých sprostých slov? Některé protokoly, např FTP, ICQ a další jsou "zvyklé" otvírat vícero spojení na vícero portech. Není však obvykle možné dopředu říci, kdy to nastane a kdy ne. Proto GNAT Box má mechanismus zvaný Virtual Cracks (Virtuální průlomy), který umožňujě nastavit pro vybrané protokoly fígl, že firewall si ohlídá příslušné spojení a pokud přijde do stanovené doby a za filtry povolených podmínek požadavek na otevření, tak takový port otevře a tunelem ho spojí na cílovou adresu. Není tedy nutné nastavovat ručně další tunely pro každý obskurní port. U konkurence je tento mechanismus obvykle zván jako Application Proxy.

    • IP Aliasing

      K libovolnému rozhraní RoBoXu, ale zejména pak k rozhraní do vnější sítě s registrovanou IP adresou je možné přiřadit několik aliasů. Je tak možné přiřadit ke každé službě jiné IP a to pak tunelem spojit s příslušným serverem uvnitř PSN, či chráněné sítě. Ve spojení s DNS serverem, je možné zajistit jak pro vnitřní, tak i vnější síť tolik jmenných adres, kolik je potřeba. RoBoX zvládá až 100 aliasů (300 u vyšších GNAT Boxů).

    • RIP a Routing

      Routování (tedy směrování paketů) je též integrální součástí GNAT Boxu v RoBoXu. Nebudeme si nic nalhávat, je to zcela logické a nezbytné. Je možné nastavit do směrovací tabulky statické trasy, ale též využít protokolu RIP pro získávání směrovacích informací ze "světa". Pro RIP je nutné vytvořit příslušný tunel, což lze udělat povolením v menu a stiskem tlačítka default. Zde opět narážíme na ono mocné tlačítko, a to v jeho domácím prostředí. Výhodou jeho použití zůstává, že změníme-li příslušné údaje ve formuláři a stiskneme jej, pak nemusíme ručně nastavovat filtry, ani tunely a GNAT Box si vytvoří filtry podle aktuálního nastavení (podle pravidel nastavených od výrobce). Vyhneme se tak omylům a bezpečnostním dírám, ale též dojde k přepsání veškerých ručně provedených změn, pokud jsme nějaké dříve udělali. To už je ale druhá strana tohoto nástroje

    • Content Filtering pomocí CyberNOT URL Filter Listu a Time Schemes

      Tato služba umožňuje zablokovat přístup na stránky, které jsou specifikované v příslušném seznamu. Jedná se o volitelný a placený fíglík. Umožňuje filtrování podle několika kriterií, zcela odepřít přístup na určité adresy, či sítě. Jelikož je možné nastavit pro každý filtr jeho časové omezení, tak lze například v pracovní době zakázat veškeré brouzdání zaměstnanců mimo firemní servery. CyberNOT jsem nezkoušel, ale podle mých informací jsou k dispozici mnohem hodnotnější nástroje. Filtr též umožňuje filtrování obsahu podle nastavených atributů a znepřístupnění např. veškerých erotických materiálů.

    • Address Objects

      Pro snazší správu adres je v GNAT Boxu implementována možnost jejich sdružování do skupin. Například do skupiny Sekretářky se přiřadí IP adresy strojů sekretářek a ve filtrech se pak pracuje místo s jednotlivými adresami s objektem Sekretářky. Je možné vytvořit maximálně 100 objektů u RoBoXu (300 u vyšších GNATů). Objekt může mít maximálně 10 členů, ale mohou to být i jiné objekty, kromě IP adres, rozsahu IP adres, či podsítí, nebo objektů složených z jiných objektů. Objekty se chovají skutečně benevolentně, ale při omezení na 25 uživatelů jeho plnou sílu asi nevyužijeme. Pokud však pracujeme s GNAT Box PRO a s několika tisíci adresami a lidmi, tak tohle je to, co učiní jejich správu zvládnutelnou. Ostatně objekt ALL_IP, který umožňuje ve filtrech snadnou práci se všemi IP adresami zvenčí je toho dokladem.

    • Remote Logging

      Vzdálené logování (neboli ukládání informací o důležitých událostech) umožňuje odesílání veškerých informací z RoBoXu na vzdálenou stanici, nejčastěji v PSN, či chráněné síti. Do log souborů se ukládají informace o odmítnutých paketech, pokusech o průniky, stavové informace o RoBoXu a další důležité informace, ze kterých je možné vystopovat co se děje, či dělo. Uložením na vzdáleném stroji je zaručeno, že v případě bezpečnostního incidentu, či výpadku elektřiny budou data o událostech v RoBoXu zachována. Uvnitř RoBoXu je totiž logování výrazně omezené, a to na 512 položek v registru místěném v RAM. Při restartu zařízení se tato interní data mažou a jsou tak ztracena. Každý filtr má několik úrovní nebezpečnosti závislých na situaci. Je tak možné logovat třeba jen velmi podezřelé události, či naopak plnit disk nepřetržitým tokem informací o každém paketu. Každému dle jeho vkusu, ale ono odsud potud. Zvláště nebezpečné události, či jejich sled je možné signalizovat odesláním e-mailu, či vzkazu na pager. Ve zkratce, jedná se o klasický logovací program ve stylu BSD.

      GNAT Box umožňuje zaznamenávat zvlášť informace od filtrů, od filtrů obsahu a od NAT do separátních souborů. Na internetových stránkách dovozce je zdarma k dispozici prográmek na analýzu logů zvaný GNAT Box Reports Utility 3.2.5 (je zde i množství dalších užitečných věcí), ale lepší služby nejspíše poskytne tento freewareový prográmek RnR ReportGen. Alespoň u mě RnR fungoval, zatímco stachanovec GNAT BRU mlčel a mlčel. Bohužel RnR neposkytuje analýzy bezpečnostních incidentů a ovládá pouze statistické výstupy. V přípravě je přechod formátu log souborů na WELF formát, kompatibilní s profesionálními analyzéry.

    • Filtry

      Klíčem ke všemu jsou filtry. Jsou to booleovské rovnice, které jsou probírány postupně (od shora dolů) a podle nichž GNAT Box vyhodnocuje, zda na paket pustí, či nikoli. Paket je propuštěn pouze pokud nalezne filtr, který jej propouští. Pokud žádný takový filtr není, pak je paket firewallem bez milosti (a bez upozornění) zahozen podle pravidla "co není povoleno, to je zakázáno". To mj. znamená, že lze firewall provozovat i bez všech Remote Acces Filtrů, jen by prostě nic nesmělo dovnitř a neexistovaly by o tom žádné záznamy v log souborech. No ano, ale i zde platí podobnějako u cigaret, že jen blázen by to používal bez filtrů.

      GNAT Box má tři typy filtrů. Filtry Remote Acces, pro veškeré pakety, které smeřují na některé z rozhraní firewallu. Pravidla pro vstup paketů DOVNITŘ firewallu z vnější sítě definuje tunnel. Filtry Outbound pro veškeré pakety opouštějící chráněnou síť, přičemž samostatně se filtrují IP Pass Through spojení.

      Záznamy jsou velmi důležitou součástí filtrů, neboť je možné specifikovat několik úrovní závažnosti, vztahující se k danému paketu. Například evidentní spoofing může být hodnocen "událostí" alarm, zatímco mailový paket třeba jako notice, nebo bez události. Podle zvolené závažnosti události se vykoná uživatelem nastavená odezva (například zaslání e-mailu, vzkazu na pager, zápisu do log souboru, či jen tiché přijetí paketu, bez záznamu). Typicky je vhodné nepodstatné věci zahazovat, jinak je výsledný soubor plný záznamů o přijetí, či odmítnutí nepodstatných paketů a ty alarmující, pak jsou jimi zasypány.

      V RoBoXu je možné vytvořit až 100 filtrovacích pravidel (v GNAT Box Pro obecně 400).

      Velmi výhodné je používání Adresových objektů, opravdu to usnadňuje práci. Pokud se uživatel vejde do standardních nastavení, a nastaví Adresové objekty, pak může jednoduše pomocí tlačítka default, vygenerovat příslušné filtry, aniž by musel filtry ručně nastavovat. Je však nutné dát si velký pozor v případě, že byly provedené nějaké vlastní "ruční" změny, protože ty se tímto postupem nevratně zlikvidují.

    • Reset to defaults a Uložení nastavení

      Jako by byl Čuk bez Geka, a Laurel bez Hardyho, tak by byla funkce Uložení nastavení bez Reset to defaults. Samozřejmě to je jen vtip. Ve skutečnosti je jen extrémně málo důvodů pro použití Resetu do firemního nastavení, zatímco uložit nastavení by se mělo před každou manipulací s firewallem. Rozhodně ale neuškodí, když si obou funkcí všimneme.

      V základním menu je přítomná položka Reset to Defaults, která nastaví celý RoBoX do stavu v jakém vyšel z továrny. Pokud byste tuto položku odmáčkli omylem, tak přijdete o veškerá nastavení, a to jistě nepotěší, zejména pokud jste předtím nepoužili funkci druhou. Toto tlačítko však umístěním neprovokuje, čili tento omyl je snad vyloučený. Každopádně je vhodné si stávající konfiguraci (například přes web či GBAdmin) zazálohovat na lokální disk pomocí funkce Save settings. Upřímně doporučuji, výsledný soubor má jen pár kilobajtů, ale je to poklad. Jelikož toto nastavení můžete kdykoli znovu nahrát, lze takto mít uložených několik nejčastějších nastavení a pravidelné změny lze do značné míry zautomatizovat.

    • Configuration Verification

      Tato funkce nabízí v podstatě unikátní službu. Nikdo není dokonalý a chyby se dějí, ale proč by na ně měli zákazníci doplácet? Proto výrobce přidal do firewallu tuto funkci, která projde nastavení a zkontroluje, zda některé nastavení neotvírá nějakou nesmyslnou díru do systému, či zda se některé filtry vzájemně neruší. Tuto funkci si častěji a složitěji konfigurující uživatelé nejspíše zamilují. Podle průzkumů totiž k polovině průniků přes firewally dochází kvůli špatné konfiguraci, jak píše například magazín Silicon.com a nikoli kvůli špatným firewallům. Ukázku takového výpisu funkce Configuration verification naleznete zde.

      RoBoX respektive GNAT Box vůbec nabízí velké množství přehledných a elegantních výpisů, takže opravdu není problém mít o nastaveních přehled. Viz například výpis hardware.

    • Upgrade

      Techniky obrany i útoků se neustále vyvíjí, je nutné i sebelepší firewally občas upgradeovat. GNAT Box umožňuje upgrade softwaru na RoBoXu za plného provozu, a to nejlépe přes Internet (HTTPS), či klasicky z konfigurační stanice v Intranetu. Ovšem, upgrade je možný pouze, pokud je tento úkon správcem povolený. Je možné tuto výsadu zpřístupnit vybraným uživatelům, či například servisní organizaci. Upgrade je zabezpečený a dokud není potvrzeno korektní a kompletní stažení, tak pracuje stará verze firmware. Teprve pokud kontrola kontrolních součtů potvrdí integritu dat, pak po rebootu RoBoXu dojde ke startu nové verze. Tento elegantní upgrade je implementován od GNAT Boxu verze 2.x. Aktuální build pak je 3.2.5 a ještě nějakou dobu snad vydrží čerstvý. Nutno však dodat, že manuál tak rychle upgradovaný není a již nyní se v několika maličkostech (vzhled okének atd.) se softwarem rozchází. Za to samozřejmě výrobce kárám.

    • Proč je otevřený AUTH port TCP/113?

      V průběhu testu firewallu v živém provozu, který jsem uspořádal začátkem května, testeři objevili, že je "otevřený" port TCP/113, ač by být "neměl". GTA si dobře uvědomuje, že tento port přidělený službě AUTH (též IDENT), ač je z dob dřevních, je i dnes mnoha programy vyžadován. Původně měl sloužit pro autentizaci uživatele (zjištění jeho uživatelského jména), ale v reálu je důležité aby prostě jen odeslal nějaký string. Problém totiž nastane, pokud by na dotaz na tento port nepřišla žádná odpověď. Potom by například IRC, či SMTP programy nedostaly odpověď na svou žádost a to je obvykle značně rozčílí (zpravidla to způsobí odmítnutí připojení). U SMTP mailových programů se čeká na timeout (kolem 1 minuty) a teprve poté se SMTP připojí a vykoná co má (což jest doručení e-mailu), u zmíněného IRC prostě nedojde k připojení. Jistě si dovedete představit, jak může minutový timeout, před každým e-mailem zpomalit provoz mailserveru. Místo obvyklých stovek SPAMů by do schránek na mailserveru v síti za firewallem by tak prošlo denně maximálně 1440 /tj. 60*24 :-)/ e-mailů a to asi nikdo nechce:-)

      V GNAT Boxu je proto speciální prográmek, který nedělá nic jiného, než že při dotazu na tento port odešle nějaký string ("user unknown"). Ono totiž na obsahu toho, co AUTH vrací ani SMTP, ani IRC ani jiným nezáleží. Jen si chtějí ohřát prstíčky a slyšet nějaké to vlídné slovo, než vejdou. Toto řešení je samozřejmě zcela bezpečné a pokud správce explicitně nepřiřadí tunel k tomuto portu, pak není možné se jím do systému dostat. Je to prostě jen vychytávka, která usnadňuje život.

    • Ono slibované tlačítko default.

      Vlastně již jsem v textu poměrně přesně vysvětlil jeho funkci, a proto jen krátce. U GNAT Boxu má default tlačítko dva zásadní významy. Někde se jedná o návrat do bezpečného nastavení, čili dojde ke zrušení nastavených změn (typicky u Reset to Defaults, které vyresetuje celý firewall), zatímco druhý význam umožní vygenerování odladěných filtrů pro určitá nastavení. Ty pak většinou perfektně sedí i bez dalších úprav. Nevýhodou je, že veškeré ruční změny filtrů se tímto řešením ztratí. Kdy to které tlačítko co dělá je tedy rozhodně vhodné si v manuálu ověřit, jinak může Default nepříjemně překvapit. Před manipulací a zkoušením je silně doporučené si nastavení zazálohovat.