Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.
OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.
Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).
Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.
Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.
Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.
Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.
Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.
V dnešním dílu se vám pokusím přiblížit základní funkce firewallu. Budeme se pohybovat v obecné rovině a podíváme se, z čeho vlastně čerpají profesionální návrháři. V závěru článku jsem pak uvedl odkazy na dokumenty, které pocházejí z dílny amerického normalizačního úřadu (NIST), a popisují velmi podrobně problematiku, kterou zde dnes budeme probírat. České normy zatím bohužel neexistují, takže nezbývá než se odkazovat na dokumenty v anglickém jazyce. Dnes se tedy budeme pohybovat v obecné rovině. Odkazy na zajímavé projekty z oblasti Linuxu uvedeme v některém z dalších dílů.
Síťové firewally jsou zařízení nebo systémy, které oddělují jednotlivé datové sítě a to prostřednictvím pravidel, kterým říkáme bezpečnostní politiky. Firewall je vlastně jakási ochranná hráz, skrze kterou musejí projít všechny informace (rozumějte pakety), které si chceme "mezi oddělenými světy" předat. Ve velké většině případů je firewall zmiňován právě v souvislostech propojení s Internetem a ve spojitosti s rodinou protokolů TCP/IP. Nicméně, firewally nejsou nutně závislé na Internetu a musejí být schopny pracovat i s jinými protokoly. Internet je sice častý, nicméně ne jediný případ jejich využití. Klasickým příkladem mohou být například vnitropodnikové sítě, kdy jednotlivé pobočky jsou k "hlavnímu stanu" připojeny pomocí privátních kanálů. Tyto kanály (např. WAN sítě) jsou rovněž chráněny firewally, přestože v těchto větvích se nemusí nacházet jediná přípojka do Internetu. V době zvané "informace nad zlato" se tak jejich provozovatelé snaží předejít neoprávněným přístupům k zařízením (k informacím v těchto zařízeních uložených), monitorovat provoz v těchto sítích, povolit jen vybrané síťové služby, omezit provoz na pronajatých linkách apod. Určité modelové topologie zapojení firewallu jsme si již ukázali ve 3.dílu, podrobný popis jednotlivých zapojení pak najdete v literatuře (1).
V 2. dílu jsme uvedli, že firewall má celkem 4 stupně. Pokud se však pozorně začtete do níže uvedené literatury (2), dozvíte se, že můžeme rozlišovat celkem až 8 (!) stupňů. Tento zdánlivý rozpor si hned vysvětlíme.
Členění stupňů firewallů vypadá (podle 2) v současné době takto:
Podíváte-li se blíže, pak pojmy dedicated proxy firewall, host based firewall a personal firewall jsme si ve druhém dílu dovolili vynechat, protože se jedná o zvláštní případy instalací. Ještě připomenu, že vlastní překlad adres (network address translation - NAT) bývá často zařazován na úroveň paketových filtrů. Nyní jsme tedy již u našeho starého známého schématu:
tak, jak jsme uvedli v druhém dílu. Podívejme se teď na jednotlivé stupně poněkud blíže.
Tvoří základní stupeň každého firewallu a to mimo jiné i proto, že má na své straně dvě velké výhody, kterými jsou rychlost a přizpůsobitelnost (flexibility). Paketový filtr může být použit v libovolné síti na libovolný typ protokolu (my se ale budeme věnovat jen rodině protokolů TCP/IP). I to je důvod, proč jsou paketové filtry využívány i na jiných zařízeních než firewallech, klasickým případem jsou směrovače (router).
Paketové filtry však mají i řadu nevýhod:
Klasickým příkladem zařízení, které bude používat pouze paketový filtr, je právě router provozující ACL (access list) pro kontrolu síťového provozu. Takovýto "přístupový" router je v literatuře (1) označován jako Boundary router a jeho zapojení může vypadat právě takto:
Vidíme, že náš Boundary router vlastně tvoří jakýsi "první stupeň" firewallu. Můžeme na něm provozovat paketový filtr, který odfiltruje nežádoucí pakety a zbytek provozu předá firewallu, který pak může provádět kontrolu na vyšších vrstvách OSI modelu, jak si řekneme níže.
Jakmile TCP (spojově orientovaná služba) aplikace vystaví TCP spojení (relaci) s protější stranou, ja na zdrojové straně tomuto spojení rovněž přiřazen určitý port. Tento port pak "obhospodařuje" spojení vystavené s protější stranou (remote host system). Paketový filtr musí povolit (přijmout) všechny příchozí pakety (příchozí ve směru od druhé strany) tak, aby spojově orientovaná služba mohla vůbec pracovat. Nicméně povolení určitého množství portů již vytváří prostor pro neposedy, kteří by této vlastnosti chtěli využívat k nejrůznějším pokusům, případně nekalostem.
Stavový firewall to řeší tak, že si vytvoří tabulku pro každé spojení, kam zaznamenává každé vytvořené (platné) TCP spojení a to včetně portů odpovídajících tomuto spojení. Tato "stavová tabulka" je pak následně využívána pro ověřování činnosti jednotlivých spojení. Dorazí-li tedy paket, který žádnému vystavenému spojení neodpovídá (neodpovídá tabulce), je stavovým firewallem vyhodnocen jako nevyhovující (přesněji, nevyhovující politice) a podle politiky s ním pak stavový firewall i naloží (zahodí jej, odmítne, propustí, přesměruje apod.).
Stavový firewall se oproti paketovému filtru liší také tím, že není obecně univerzální, ale je využitelný (nasaditelný) pouze pro TCP/IP protokoly.
Jistěže, stavové firewally mohou obsluhovat (podobně jako paketové filtry) řadu protokolů, ale technologie "stavových tabulek" je zatím využitelná pouze pro protokoly z rodiny TCP/IP. Z tohoto důvodu je stavový firewall někdy v literatuře označován jako "nadstavba" paketového filtru. Podrobnější popis stavového firewallu nad IPTABLES můžete najít například zde.
Jedná se o další rozšíření funkčnosti firewallu, které kombinuje tzv. "lower layer access control" (tedy na úrovni síťové vrstvy OSI modelu zde, což zajišťuje právě paketový filtr) s tzv. "upper layer" (tedy 7, neboli Aplikační vrstva OSI modelu). Všechny síťové pakety, které procházejí skrze firewall, pak musí projít skrze tuto bránu. Zde je tedy ono správné místo, kde můžeme narazit na výrazy typu "SMTP proxy, http proxy, ftp proxy" a podobně.
Velkou výhodou aplikačních serverů je právě ta skutečnost, že kontrolu provádějí přímo na aplikační, tedy 7. vrstvě OSI modelu. Nevýhodou je skutečnost, že tento provoz "něco stojí" a zaplatíte za něj částí výkonu stroje. To bývá obvykle hlavním důvodem, proč jsou jednotlivé aplikační servery umístěny v DMZ na samostatných strojích. Klasickým příkladem je samostatný stroj pro poštu (SMTP server), samostatný stroj pro ftp, samostatný stroj pro www služby apod. Modelová topologie pak může vypadat třeba takto:
Přece jen se o nich krátce zmíním. Tento firewall se od klasické aplikační proxy liší tím, že představuje jakýsi "mezistupeň". Jeho úkolem je zachycovat provoz sledované síťové služby a dané pakety přeposílat na další stroj, který se nachází v DMZ, Vnitřní síti apod. Vlastní provoz může být jak jednosměrný (tedy pakety zvenčí dovnitř nebo zevnitř ven), tak obousměrný. Klasickým příkladem je SMTP proxy zvaná SMTP on firewall. Popis konfigurace můžete najít zde.
Důvod tohoto zapojení je prostý - zvenčí je vidět pouze SMTP proxy, která však poštu předává dalšímu poštovnímu serveru v DMZ nebo ve vnitřní síti. Vlastní poštovní server pak není zvenčí vidět. Není asi třeba zdůrazňovat, že náš "dedicated proxy firewall" nebo-li SMTP proxy je jednoúčelový tupoučký automat, který skutečně neumí nic jiného než to, co po něm přesně chceme. Pak si jej můžeme dovolit předřadit před firewall a umístit buď někam na samostatný stroj nebo na přístupový router (opět náš Boundary router viz. literatura (1) na konci článku).
Vlastní analyzátor je samozřejmě pasivní záležitost. Výstupem mohou být zpracované výstupy v podobě logů, varovných nebo kritických zpráv. Klasickým analyzátorem paketů je třeba snort, který toho samozřejmě umí mnohem více (snort již lze zařadit do kategorie nástrojů IDS, nicméně u této kapitoly ještě zdaleka nejsme). Za další lze jmenovat např. portsentry (pro Debian např. zde) a anglicky psaný popis zde.
Nicméně, v této kapitolce bych uvítal aktivitu čtenářů a čtenářek. Pokud tedy máte odkaz na zajímavý nástroj z této oblasti, pak neváhejte a napište. Rádi vaše dílko uveřejníme.
Zde jen krátce. Hlavním posláním zmíněného překladu adres je "skrytí" vnitřní sítě před sítí vnější. Vlastní NAT pak může probíhat v několika režimech zvaných static, hiding a port. Vzhledem k tomu, že této věci se již věnoval Martin v jednom z předchozích dílů, dovolím si zájemce o podrobnější vysvětlení odkázat na literaturu na konci článku nebo na nějaké to NAT HOWTO, například sem nebo sem.
Shrneme-li tedy vše, co zde již bylo řečeno, pak lze základní funkce firewallu popsat asi takto:
Je celkem zřejmé, že všechny tyto stupně se mohou, ale také nemusejí, nacházet na jednom a témž stroji. Rozdělení těchto modulů na fyzické stroje bude závislé na konkrétní situaci a na celkové zátěži, kterou jsme ochotni "přidělit" každému stroji.
Filtrování paketů by pak mělo probíhat na základě následujících charakteristik:
NIST je zkratka pro National Institute of Standards and Technology a jak sami již z názvu tušíte, jedná se o organizaci zabývající se vývojem a vydáváním standardů (v našem případě se tedy jedná o standardy z oblasti informačních systémů). Bližší informace o NIST naleznete zde
Nástroje: Tisk bez diskuse
Tiskni Sdílej: