Pro efektivní ochranu zařízení v domácí síti je třeba zastavit malware i další typy útoků již na hranici sítě, dříve než zasáhnou koncová zařízení. Ukážeme vám, jak to zajistit s použitím starého počítače nebo Raspberry Pi.
Ochrana proti phishingu, škodlivému softwaru a dalším typům útoků se zpravidla řeší bezpečnostním softwarem na koncových zařízeních. Počet zařízení připojených k domácím sítím ale velmi rychle roste a s tím se zvyšuje i náročnost spolehlivého zabezpečení všech notebooků, smartphonů, tabletů nebo zařízení inteligentní domácnosti. Proto je stále důležitější blokovat nebezpečnou datovou komunikaci a malware centrálně, dříve než doputuje ke koncovým zařízením. Tuto funkci by mohl zastat domácí router (a děje se tak stále častěji - viz náš článek o bezpečnostních routerech v minulém Chipu), faktem ale je, že běžné domácí Wi-Fi routery jsou až příliš zaměstnány koordinací datového provozu připojených zařízení a jejich firewall má jen základní bezpečnostní funkce. Restriktivní opatření na úrovni routeru by navíc mohla způsobit problémy v situacích, kdy bude nějaké zařízení či aplikace potřebovat přístup k síti bez filtrování provozu. Z těchto důvodů je tedy celkem chytré dedikovat filtrování síťového provozu na samostatné zařízení, jako jsou ve firemním IT hardwarové firewally. My se blíže podíváme na software Pi-hole, vyvinutý pro levné mikropočítače Raspberry Pi, který ale pracuje i na jakémkoli linuxovém operačním systému.
Instalaci si předvedeme na prvním modelu mikropočítače Raspberry Pi, jehož výkon je pro provoz Pi-hole zcela dostačující. Výhodou je, že tento mikropočítač stojí jen pár stokorun a jeho spotřeba elektřiny je zcela zanedbatelná. Pokud ale už máte doma některý z novějších modelů Raspberry Pi, samozřejmě je není problém použít. Postup instalace a nastavení je stejný, a to nejen pro různé modely Raspberry Pi, ale také pro běžné počítače s Linuxem (typicky s distribucí Ubuntu).
Nastavení Raspberry Pi
Kromě samotného mikropočítače Raspberry Pi budete potřebovat ještě krabičku, která jej bude chránit před prachem a případným poškozením, a také napájecí zdroj s microUSB koncovkou a příkonem 2 A. Elegantním řešením je ale také napájení Raspberry Pi přímo z USB portu Wi-Fi routeru, ke kterému vám stačí jen USB kabel. Operační systém a potřebný software nahrajete na microSD kartu s kapacitou alespoň 2 GB. Paměťová karta bude poměrně intenzivně namáhána zápisem dat, takže vám pro provoz domácího DNS severu v Raspberry Pi doporučujeme použít některou z kvalitnějších microSD karet pro profesionální nasazení, jako třeba Transcend TS16GUSDHC10V nebo Kingston Industrial. Jsou sice trochu dražší než nejlevnější modely microSD karet, ale zajistí vám spolehlivější provoz po velmi dlouhou dobu. Selhání paměťové karty zastaví běh Pi-hole a domácího DNS serveru, a tedy i veškerého síťového provozu všech zařízení.
Instalace Raspbianu
Abyste mohli instalovat linuxovou distribuci Raspbian (raspberrypi.org/downloads/raspbian) na microSD kartu, budete potřebovat počítač vybavený čtečkou paměťových karet. Použitá paměťová karta musí mít souborový formát FAT32, což můžete snadno zajistit, když v Průzkumníku souborů kliknete na označené paměťové karty pravým tlačítkem myši a z kontextové nabídky zvolíte funkci »Formátovat«. V nastavení formátování pak zvolte souborový formát FAT32. Z webu raspberrypi.org si stáhněte Raspbian Strech Lite a budete potřebovat také program Etcher (etvcher.io). Použijte tzv. portable verzi, kterou není třeba instalovat do počítače. Spusťte program Etcher, klikněte na »Select image« a vyberte instalační soubor Raspbianu s koncovkou ».zip«. Po kliknutí na tlačítko »Change« si ověřte, že jste pro instalaci Raspbianu zvolili správnou paměťovou kartu, a pak už tlačítkem »Flash!« spusťte instalaci operačního systému. Když program Etcher dokončí svoji práci, zavřete okno s varováním Windows, že je třeba paměťovou kartu před použitím naformátovat.
Vytáhněte kartu ze čtečky a zase ji zasuňte zpět. V Průzkumníku souborů se dostanete k bootovacímu oddílu karty, který má kapacitu jen několik MB. Přidržte klávesu [Shift], pravým tlačítkem myši klikněte na označení microSD karty a z kontextové nabídky zvolte funkci »Otevřít zde okno PowerShell« (ve Windows 7 stejným způsobem otevřete příkazový řádek). Do příkazového řádku zadejte »fsutil file createnew ssh 0« (poslední znak je nula). Tímto způsobem vytvoříte prázdný soubor nazvaný »ssh«, který nemá žádnou koncovku. Tento soubor budete později potřebovat pro vzdálený přístup k Raspberry Pi prostřednictvím sítě. Pak můžete vysunout kartu ze čtečky a vložit ji do mikropočítače Raspberry Pi. Připojte mikropočítač LAN kabelem k routeru a připojením k adaptéru nebo USB portu routeru jej spusťte.
Vzdálené ovládání Linuxu
Raspberry Pi můžete kompletně na dálku ovládat ze svého počítače. Budete k tomu potřebovat program PuTTY (putty.org), kde jako »Host Name« a »Saved Sessions« zadejte »raspberrypi« a pokračujte tlačítky »Save« a »Open«. Kdyby se vám tímto způsobem nepodařilo k Raspberry Pi připojit, budete muset jako »Host Name« zadat IP adresu mikropočítače, kterou zjistíte v administračním rozhraní vašeho Wi-Fi routeru. Otevře se vám příkazový řádek s popiskem »login as:«. Všude zadejte »pi« a potvrďte klávesou [Enter] a pak jako heslo (které nebude zobrazeno) zadejte »raspberry«. Tím budete přesměrováni na linuxový příkazový řádek, kde je třeba při zadávání příkazů odlišovat velká a malá písmena. Nejdříve si po zadání příkazu »password« zvolte vlastní heslo. Pak aktualizujte Raspbian příkazy »sudo apt update« a »sudo apt -y upgrade«.
Instalace Pi-hole
Nyní je třeba instalovat program Pi-hole, což provedete příkazem »curl -sSL https://install.pi-hole.net / sudo bash«. Příkaz »curl« stáhne ze zadané adresy instalační skript a předá jej ke spuštění. Jakmile se skript spustí, potvrďte první tři instrukce klávesou [Enter]. Šipkou dolů skrolujte u řádku »Select Upstream DNS Provider« až k volbě »Custom« a pak zase klepněte na [Enter]. Zadejte IP adresu vašeho Wi-Fi routeru (běžně bývá 192.168.1.1) a potvrďte zadání klávesou [Enter]. Tím zajistíte funkčnost rozlišování počítačů a dalších zařízení připojených k síti jejich názvy. Na dotaz »Do you want to use your current network settings as a static address?« zvolte odpověď »
V následujícím okně potvrďte klávesou [Enter] výchozí nastavení »IPv4 default gateway«, stejně jako všechny další předvolby. Spustí se instalace softwaru Pi-hole, která může trvat několik minut. Hlášení o dokončení instalace potvrďte klávesou [Enter]. Pak v příkazovém řádku přiřaďte heslo webovému rozhraní Pi-hole pomocí příkazu »sudo pihole -a -p« a poté příkazem »sudo reboot« mikropočítač restartujte. Nyní můžete ve svém počítači zavřít okno aplikace PuTTY.
Integrace Pi-hole do domácí sítě
Jakmile je mikropočítač opět spuštěný, vyzkoušejte na počítači, jestli funguje jeho DNS server. Otevřete si Ovládací panely, přejděte do nabídky »Síť a internet / Centrum síťových připojení a sdílení« a zde klikněte na aktivní připojení k routeru. Máte-li počítač současně připojený LAN kabelem i k Wi-Fi, kabel vytáhněte nebo vypněte Wi-Fi adaptér, abyste měli aktivní pouze jeden typ připojení. Ten následně nakonfigurujte. Klikněte na »Vlastnosti«, v nově otevřeném okně označte položku »Protokol IP verze 4 (TCP/IPv4)« a pokračujte tlačítkem »Vlastnosti«. Označte předvolbu »Použít následující adresy serverů DNS« a do prvního řádku zadejte IP adresu mikropočítače Raspberry Pi. Potvrďte nastavení tlačítkem »OK«, otevřete si internetový prohlížeč a zadejte do něj adresu »http://pi.hole«. Pokud vše funguje, jak má, uvidíte uživatelské rozhraní programu Pi-hole a můžete otevírat i další webové stránky.
Nastavení DNS serveru v routeru
Ve většině routerů lze změnit nastavení na dvou různých místech. Tím prvním, ale pro naše účely nesprávným, je nastavení v konfiguraci připojení k internetu. Pokud zde ale zadáte adresu vašeho mikropočítače s programem Pi-hole, zacyklí se všechny dotazy na webové stránky do nekonečně smyčky. Proto zde ponechejte nastavený DNS server vašeho poskytovatele internetového připojení nebo některý z veřejných DNS serverů. Právě druhá z možností je často nejlepší a poskytuje nejrychlejší odezvu. Dobré DNS servery navíc blokují stránky se škodlivým kódem nebo phishingové weby.
Správné nastavení je v administračním rozhraní často trochu skryto v předvolbách domácí sítě, zpravidla pod označením lokální DNS server. Zde je třeba zadat IP adresu vašeho mikropočítače Raspberry Pi, nastavenou během instalace programu Pi-hole. Router pak bude tento DNS server používat jen pro klientská zařízení, a nikoli pro svoje vlastní připojení k internetu. Aby se nové nastavení projevilo ve všech zařízeních připojených k vaší domácí síti, je třeba je odpojit a zase připojit, což nejjednodušeji provedete jejich restartem.
Detailní nastavení a speciální funkce
Pi-hole ve svém výchozím nastavení blokuje primárně sledovací a reklamní servery, se kterými klientská zařízení vůbec nemohou komunikovat. Úpravou nastavení můžete ochranu vašich zařízení posílit o blokování malwaru, phishingu a webových stránek obsahujících škodlivý kód, když rozšíříte standardní sadu seznamů filtrovaných webů. Zadejte do webového prohlížeče adresu http://pi.hole/admin a přihlaste se heslem nastaveným během instalace Pi-hole. Seznamy blokovaných stránek najdete pod nabídkou »Settings / Block Lists«. Tyto seznamy můžete snadno doplnit o další adresy, například o seznamy dostupné na webu wally3k.github.io. Jelikož příliš mnoho filtrovaných adres snižuje výkon Pi-hole, a tedy i rychlost surfování na internetu, rozšiřte seznam jen o adresy pod nabídkou »Malicious Lists«, které zkopírujete do zadávacího pole v administračním rozhraní Pi-hole a potvrdíte jejich uložení tlačítkem »Save and Update«. Během dvou až tří minut budou zařízení ve vaší domácí síti chráněna před napadením z většiny známých nebezpečných stránek.
Aktualizace a spolehlivý provoz Pi-hole
K Raspberry Pi byste se měli přes PuTTY připojovat nejméně jednou měsíčně kvůli aktualizacím softwaru Pi-hole. K aktualizacím slouží příkazy »sudo apt update«, »sudo apt upgrade« a »sudo pihole -up«. Pro stabilní provoz DNS serveru je také důležité, abyste Raspberry Pi před odpojením od napájení vždy korektně vypnuli. Jinak může snadno dojít k poškození souborového systému na paměťové kartě. Vypínání mikropočítače můžete částečně automatizovat pomocí androidové aplikace ConnectBot. Instalujte si tuto aplikaci na smartphone nebo tablet, se kterým se připojujete ke své domácí Wi-Fi síti. V aplikaci ConnectBot použijte modré tlačítko »+« a pak jako »uživatelské jméno« zadejte »pi@[IP adresa vašeho Raspberry Pi]«. Aktivujte předvolbu »Zavřít po ukončení spojení«, k nastavení »Automatizace po přihlášení« zadejte příkaz »sudo halt« a nakonec přidejte klepnutí na klávesu [Enter]. ConnectBot vám pak po zadání hesla umožní na dálku vypnout mikropočítač s aplikací Pi-hole. Vypínání bude ještě rychlejší, když si na domovskou obrazovku svého smartphonu či tabletu přidáte widget aplikace ConnectBot. Najdete jej v nabídce widgetů, zobrazené po přidržení prstu na prázdném místě obrazovky mobilního zařízení.
Nefiltrované připojení
Pro otevírání webových stránek, které neumožňují přístup z prohlížečů blokujících reklamu, je třeba Pi-hole obejít. Pro tento účel je vhodné řešení využívající Browser in the Box (cybersecurity.rohde-schwarz.com/en/products/secure-endpoint/browser-box), jehož instalaci a použití popisujeme v článku na straně 92. Virtuální stroj, ve kterém Browser in the Box běží, využívá veřejné DNS servery (které nesmíte během instalace změnit). Alternativní, ale trochu pracnější možností je změna nastavení DNS v počítači na veřejný server.
Foto popis| D Programy z tohoto článku najdete na CHIP-DVD c
Foto popis| Instalace a ovládání Raspbianu Instalační obraz operačního systému Raspbian je třeba pomocí programu Etcher nahrát na microSD kartu.
Foto popis| Než vložíte paměťovou kartu do mikropočítače Raspberry Pi, vytvořte v jejím bootovacím oddílu prázdný soubor nazvaný »ssh«.
Foto popis| Raspberry Pi můžete na dálku ovládat prostřednictvím SSH klienta PuTTY.
Foto popis| Pevná IP adresa pro Pi-hole Při instalaci webového filtru Pi-hole je třeba změnit některá nastavení. Například je třeba zajistit, aby váš router i nadále fungoval jako DNS server.
Foto popis| Raspberry Pi s aplikací Pi-hole bude pracovat jako DNS server pro všechna zařízení ve vaší domácí síti. Pro spolehlivou funkci musí mít přiřazenu pevnou IP adresu, která musí být mimo DHCP rozsah vašeho routeru.
Foto popis| Konfigurace počítače a routeru Aby se váš počítač obracel na Raspberry Pi s Pi-hole jako na DNS server, je třeba provést změnu nastavení adres DNS v konfiguraci připojení k síti.
Foto popis| Filtrování webu bude fungovat jen v případě, kdy bude Pi-hole nastaven jako lokální DNS server pro zařízení ve vaší domácí síti.
Foto popis| Použití alternativních DNS serverů Alternativní, veřejné DNS servery mohou zrychlit načítání webových stránek a některé z nich navíc blokují phishingové nebo jinak nebezpečné stránky. Nastavení DNS je třeba provést přímo v routeru.
Foto popis| Ve webovém administračním rozhraní Pi-hole můžete přidat další filtry malwarových a phishingových serverů.
Foto popis| Zabezpečení Raspbianu Nástroj Roadkil’s DiskImage (roadkil.net) je sice starší, ale umí vytvořit kompletní obraz paměťové karty s instalací Raspbianu včetně vaší konfigurace. V případě potřeby můžete obraz okamžitě nahrát na novou microSD kartu.
Foto popis| Úspora energie Jestliže budete napájet Raspberry Pi 1 z USB portu vašeho Wi-Fi routeru, bude mít spotřebu pouhých 2,5 W. Při použití samostatného zdroje je spotřeba vyšší o jeho ztráty.
Foto popis| Před odpojením mikropočítače Raspberry Pi od napájení je potřeba jej korektně vypnout. Pomůže vám s tím androidová aplikace ConnectBot.
O autorovi| CHRISTOPH SCHMIDT, RADEK KUBEŠ, autor@chip.cz