Modelovým příkladem budiž síť na základní škole, kde je dnes předmět informatika samozřejmostí. Často mají děti k dispozici také místní Wi-Fi síť, ke které mohou připojit vlastní zařízení. Vedení školy má samozřejmě jasný požadavek: blokovat na síti nevhodný obsah, aby se k němu děti nedostaly. Omylem, ale ani záměrně.
Různých seznamů nevhodných webů je na internetu spousta, stačí si některý vybrat, případně jich sloučit víc dohromady. Blokace pak může probíhat na úrovni DNS či ve firewallu, řada škol platí za služby a nástroje, které dokáží znepřístupnit část internetu jedním kliknutím.
Vyhledávání ve službách
Pořád tu ale zůstává velká mezera v podobě vyhledávání u jednotlivých služeb. Například vyhledávač Google dovoluje mezi obrázky vyhledat i velmi explicitní obsah. Na tohle je blokace na síti samozřejmě krátká, protože vyhledání a zobrazení výsledků probíhá uvnitř služby. Museli bychom tedy provádět nějakou náročnou inspekci šifrovaného provozu, abychom zjistili, co je vyhledáváno a kdy to blokovat.
Tyto služby ale často poskytují takzvané bezpečné vyhledávání (safe search), což je funkce, která ve výsledcích hledání zablokuje nevhodný obsah. Můžete ji ručně aktivovat tak, že nejprve vyhledáte nějaký problematický výraz a po zobrazení výsledků na konec URL přidáte volbu &safe=active
a načtete stránku znovu.
Google sám tuhle funkci popisuje tak, že pomáhá skrýt výsledky s explicitním obsahem, jako jsou násilné snímky
. Přiznává, že to není stoprocentní řešení, ale funguje to velmi dobře a většina problematických výsledků se tímto způsobem skutečně skryje.
Samozřejmě to funguje jen ve zmíněných výsledcích vyhledávání a pokud by se podařilo někomu proklikat na nezablokovaný web, tento filtr už samozřejmě dál obsah nemění. Přesto je to velmi užitečné a účinné řešení.
Bezpečné vyhledávání lze vynutit několika způsoby: v jednotlivých prohlížečích na spravovaných zařízeních, u konkrétních účtů pod naší organizací nebo na úrovni sítě pomocí změny odpovědí z DNS. Podíváme se na poslední jmenovanou možnost, která je rychlá a univerzální.
Bezpečné hledání úpravou DNS
Různé vyhledávače poskytují speciální IP adresu, na které uživatelům bezpečné vyhledávání aktivují. Tuto adresu nabízejí prostřednictvím doménového jména, například Google má v DNS jméno forcesafesearch.google.com
. Principem naší úpravy je tedy přesměrovat uživatele na tuto doménu či přímo IP adresu, místo běžného vyhledávání.
Nejjednodušší variantou je úprava souboru /etc/hosts
v konkrétním počítači. Potřebujeme k tomu zjistit IP adresu, kterou nám výše uvedená doména vrací a tu začít vracet pro národní domény používané Googlem. Celé už to pro nás naštěstí někdo zkombinoval, takže stačí tenhle seznam vzít a vložit ho do hosts
.
Tohle řešení je sice jednoduché a pro jeden konkrétní počítač v dětském pokoji to bude fungovat, ale neškáluje to. Pokud chcete rozšířit chování na celou síť, budete potřebovat vlastní DNS resolver. Je pravděpodobné, že něco takového na síti provozujete, takže stačí jen vytvořit místní zónu pro vybrané domény a přidat do ní vlastní záznamy.
Řešení s DNS resolverem Bind
Pokud používáte populární Bind, budete v jeho konfiguraci muset přidat vlastní RPZ. To provedete připsáním následující konfigurace do /etc/bind/named.conf.local
.
zone "safesearch.rpz" { type master; file "/etc/bind/db.safesearch.rpz"; allow-query { none; }; };
Aby zóna fungovala jako RPZ, je potřeba ji aktivovat v /etc/bind/named.conf.options
. Dovnitř sekce options
je třeba připsat:
response-policy { zone "safesearch.rpz"; };
Poté už můžeme vytvořit vlastní zónový soubor pro vybrané domény. Rovnou stejnou metodu použijeme nejen pro Google, ale také pro YouTube, Bing a DuckDuckGo. Princip je stejný, potřebujeme jen vytvořit záznam typu CNAME a nasměrovat ho na správnou doménu. Vytvoříme tedy nový soubor /etc/bind/db.safesearch.rpz
a do něj zapíšeme něco takového:
$ORIGIN safesearch.rpz. $TTL 1H @ IN SOA localhost. root.localhost. ( 7546546 ; 1H ; 15m ; 30d ; 2h ; ) NS localhost. ; force Google SafeSerach google.com IN CNAME forcesafesearch.google.com. www.google.com IN CNAME forcesafesearch.google.com. google.cz IN CNAME forcesafesearch.google.com. www.google.cz IN CNAME forcesafesearch.google.com. ; force youtube safe search www.youtube.com IN CNAME restrict.youtube.com. m.youtube.com IN CNAME restrict.youtube.com. youtubei.googleapis.com IN CNAME restrict.youtube.com. youtube.googleapis.com IN CNAME restrict.youtube.com. www.youtube-nocookie.com IN CNAME restrict.youtube.com. ; force bing strict www.bing.com IN CNAME strict.bing.com. ; force duckduckgo safe search duckduckgo.com IN CNAME safe.duckduckgo.com.
Nyní je potřeba Bind restartovat a ověřit funkčnost:
# systemctl restart bind9 # dig cname www.google.cz … ;; ANSWER SECTION: www.google.com. 3600 IN CNAME forcesafesearch.google.com.
Řešení s DNS resolverem Unbound
Populární je také DNS resolver Unbound, který na vlastní síti nasadíte velmi rychle. Umí taky jednoduše provozovat vlastní místní zóny, takže konfigurace téhož je u něj hračkou. Stačí vytvořit nový konfigurační soubor /etc/unbound/unbound.conf.d/safesearch.conf
a do něj zapsat:
server: local-zone: "www.google.com" redirect local-data: "www.google.com CNAME forcesafesearch.google.com" local-zone: "www.google.cz" redirect local-data: "www.google.cz CNAME forcesafesearch.google.com" local-zone: "www.youtube.com" redirect local-data: "www.youtube.com CNAME restrict.youtube.com" local-zone: "www.bing.com" redirect local-data: "www.bing.com CNAME strict.bing.com" local-zone: "duckduckgo.com" redirect local-data: "duckduckgo.com CNAME safe.duckduckgo.com"
Poté musíme Unbound restartovat a vše můžeme vyzkoušet v praxi.
# systemctl reload unbound
Zkouška u uživatele
Kromě toho, že můžeme vyhledat nějaký explicitní výraz a ověřit tím funkčnost, můžeme v Google klepnout vpravo nahoře na ozubené kolečko Nastavení a v pravém panelu najít položku Filtr explicitních výsledků. Za běžných okolností je vedle ní přepínač, kterým můžeme funkci zapnout.
Pokud jsme ale správně zavedli záznam do místního DNS resolveru, zmíněný přepínač zmizí a místo něj se objeví zámeček. Bezpečné vyhledávání je nyní zapnuté a uživatel si ho nemůže vypnout. Informuje ho o tom také stránka s dalšími informacemi.
Odkazy
(Tip poslal Petr Macek.)