DNS server – NXFilter

Ve firmě jsme časem vzdali používání invazivní techniky filtrování webového obsahu. Většina technik spočívala v instalaci doplňku prohlížeče sledujícího a filtrujícího webový obsah uživatele nebo přesměrovávání spojení přes lokální nebo vzdálený proxy server.
Tyto techniky se čas ukázali jako nespolehlivé a značně omezující. U proxy byl problém se šifrovaným webem a certifikáty. U řešení s doplňky prohlížeče zase v rychlosti vydávání nových verzí webových prohlížečů a snadného obejití.

Po dlouhém hledání jsem se nakonec rozhodl vyzkoušet a následně využívat DNS filter s názvem NX filter.

DNS filtr filtruje požadavky uživatelů na základě DNS požadavku na domény. Nelze tedy filtrovat celá URL ale pouze domény. To je sice omezení, ale vetšinou se setkáte s požadavkem na odfiltrování celého konkrétního webu (jeho domény).

NXfiler obsahuje několik blacklistů a místo pro 300 000 vlastních záznamů. Základní blacklist „GlobList“ s cca 400 000 záznamů v kategoriích Porn, Phishing/Malware, Adds je zdarma. V tomto režimu nelze tyto kategorie přidělit uživatelům. Fungují pouze globálně.
Rozšířený blacklist je pak za poplatek. V režimu placeného blacklistu pak umí DNS i autoklasifikaci na základě klasifikačních hodnot (vyskytující se slova v doméně, na hlavní stránce atd).

Uživatelské rozhraní je jednoduché ale účelné a rychlé. Vše běží na Javě a webové rozhraní na tomcat serveru. Je ho tedy možné rozjet kdekoliv je možné spustit Javu (Včetně NAS serveru, mini pc typu RASPBERRY Pi atd).

Instalace:

Instalace je popsána pro debian stretch. Instalace je velice dobře popsána v příručce.
https://nxfilter.org/tutorial.html#install-ubuntu

Nainstalujeme Javu
                  apt-get install default-jre

Pomocí třeba Wget stáhneme instalační archív
                  wget http://www.nxfilter.org/download/nxfilter-4.3.3.2.deb

V případě debianu pak použijeme systémovou instalaci (pro ubuntu přidáme před příkaz „SUDO“)
dpkg -i nxfilter-4.3.3.7.deb

Aktivujeme automatické spuštění
systemctl enable nxfilter.service

Zapneme NXfilter
systemctl start nxfilter.service

POZOR! Od verze 4.3.3.8 a vyšší již NX filter ve své free verzi (S GlobList) nepodporuje aplikaci více politik.
Je to bohužel problém pro firemní nasazení kde pak nejste schopní rozdělit skupinám uživatelů jiné politiky (protože aktivní je pouze „Default“) nebo jim nastavit jinou politiku na přestávku a jinou mimo ní. Defaultní politiku ale nastavovat můžete podle libosti. Verze 4.3.3.7 ale funguje dobře

Administrátorské rozhraní a nastavení

Najdete ho na adrese https://vasserver/admin .
Defaultní přihlášení je admin/admin.

V Dashboard jsou přehledně všechny informace o registrovaných klientech, počtu dotazů, blokace a další.

Jako první změníme administrátorské heslo. Můžete změnit jak heslo tak název uživatele. Bohužel systém podporuje pouze jednoho admina a jednoho report uživatele s právy dívat se na reporty. V případě potřeby více adminů je potřeba zakoupit produkt NXcloud který toto řeší.

Config/Admin

Dále nastavíme DNS. Máme několik možností. Můžeme nastavit jakýkoliv jiný DNS. V doméně pak Local DNS nebo přenést celou zonu. Systém také umí DNS Over HTTPS, což je technologie šifrující DNS dotazy přes klasický HTTPS (pouze server/server, klienti se na NXfilter touto technologií nepřipojí).

DNS/setup


-Upstream server – DNS server na který NXfilter posílá DNS dotazy
-Response Cache Size – počet uchovávaných záznamů, čím více tím systém více zabírá RAM. Pod nastavením je pak       zobrazeno množství aktuálních uložených DNS záznamů (domén).
-Use Persistent Cache – DNS záznamy uchová i po expiraci (TTL). Umožňuje to odpovídat na dotazy i když není nastavený DNS server dostupný.
Více o nastaveních DNS zde.


DNS Over HTTPS nám umožňuje posílat si mezi DNS servery dotazy šifrovaně (skrze HTTPS). Zatím je to podporována pouze u google (8.8.8.8) a Cloudflare (1.1.1.1). Zamezí to odposlechu DNS dotazů (jelikož dotazy jdou šifrovaným kanálem). Také port je standardní HTTPS 443 ne 53. Což zase obejde mnohá blokování DNS či jejich přesměrování.

Pokud máte doménový řadič s DNS serverem, je možní NX filteru říc, že si má od něho převzít všechny zony.

Pomocí Zone Transfer nakonfigurujeme IP adresu doménového DNS serveru (vetšinou instalovaném na doménovém řadiči).

Pomocí Redirection můžeme nakonfigurovat přesměrování domény na danou IP. Zadává se pouze doména, kterou chceme přesměrovat a IP na kterou přesměrováváme. DNS server NXfilter pak klientům bude na dotaz pro danou doménu odpovídat zadanou IP adresou.

V config/setup pak nastavujeme adresu stránky, která se uživatelům ukáže při blokaci a další pro začátek méně důležitá nastavení jako je SysLog server, NetFlow nebo autoBackup.
Na další nastavení bych odkázal na manuál (tutoriál), který je k NX filteru opravdu podrobný a dobře napsaný.

Uživatelé a skupiny

V případě zvolení Enable Authentication v config/setup je možné začít filtrovat domény pro uživatele či skupiny.
Pozor, toto nastavení také způsobí že NXfilter odmítne spojení s kýmkoliv, koho nezná (koho nemá v uživatelích).

Můžeme přidat uživatele ručně v menu user/user nebo NXfilter nechat načíst skupiny a uživatele z domény.

Přidání uživatele je jednoduché, zadáte jméno uživatele a popis (nepoviný). V seznamu uživatů Vám přibude vytvořený uživatel. Kliknete na edit a můžete mu měnit další parametry.

Jméno po vytvoření již nelze měnit. Můžete uživateli přidat členství ve skupině. Pokud zadáte uživateli IP adresu, nebude se muset přihlašovat ale systém bude předpokládat že z dané adresy přistupuje pouze daný uživatel. IP adres můžete zadat více.

WorkTime policy se aplikuje vždy mimo freeTime, Freetime (přestávka) se aplikuje jen na globálně a skupinově nastavenou přestávku. V uživateli se čas přestávky definovat nedá.

Při přiřazení do skupiny bude mít uživatel politiku dle dané skupiny, pokud mu přímo neurčíte jinak. Princip je pak takový, že první se bere politika uživatele, pokud není (je Default), bere se politika skupiny, pokud není je nastavena základní politika(default).

Je také možné nechat uživatele a skupiny naimportovat z domény. NXFilter se nastavuje stejně jako většina zařízení pracujících s ActiveDirectory (Doménou). Je nutné nastavit IP serveru doménového řadiče, uživatele, BaseDN (část stromu, který se bude načítat) a výjimky (podle jména objektu). Také zvolíte četnost aktualizace domény (vetšinou stačí jednou za den).
Z důvodu bezpečnosti by jste v poli admin neměli vyplňovat doménového administratora. Pro načtení dat z domény stačí pouze učet doménového uživatele.

Politiky

Do verze 4.3.3.7 při použití free verze GlobList je možné používat několik politik.
Politiky se používají pro jiné chování NXFilteru pro různé skupiny nebo časy. Můžete tak mít politiku pro pracovní a volný čas (přestávky) pro vedení a zaměstnance či speciální případy (třeba servery).

Dále je možné nastavit globální přestávku (freetime) platný pro všechny uživatele s jinou politikou. Přímo výběr politiky je možný v nastavení uživatele nebo skupiny.

V politice pak nastavujeme parametry dané politiky. V tutoriálu je to všechno hezky popsané víz gui-policy
Block Unclassified zablokuje všechny dotazy na domény které nezná (nejsou v žádné z kategorií).
Ad-remove se pokouší z komunikace DNS odstranit všechny dotazy na prázdné stránky. Zkoušel jsem to a některé weby pak nefungují korektně.
Max Domain Length mám nastaveno na 40. Většina webů nemá delší DNS dotaz. Výrazně se tím snižuje možnost vynášení informací přes DNS dotazy.
Allow ‚A‘ Record Only poměrně často blokuje legitimní dotazy některých webů. Užívejte opatrně.

Kategorie

V sekci kategorií si můžete vytvořit a spravovat vlastní kategorie do maximálního počtu 300 000 záznamů (celkem za všechny kategorie). Chování Kategorie pak určujete v politikách (jde nastavit zda se má daná kategorie blokovat, povolit nebo započítat do quot).

Jako první musíte nastavit chování celého NXFilteru.
Můžete si koupit licenci na Jahaslist který je veliký a pro neznámé weby používá Classifier (automatickou klasifikaci DNS dotazů pomocí čtení stránek kam směřují). Pro 20 uživatelů lze použít Jahaslist zadarmo viz Jahaslist.
Nebo free variantu GlobList. Ten funguje pouze globálně a nelze jeho kategorie používat v politikách. Od verze 4.3.3.8 pak s GlobListem nelze používat jinou politiku než „Default“.

Dále je možné si vytvořit vlastní kategorie (custom). Volíte pouze jméno a případně popis kategorie.
Do kategorií můžete přidávat domény. Kategorie mají vždy přednost před Globlistem.
Je možné a určitě to doporučuji používat hvězdičkovou anotaci tj *.test.cz kde test.cz a jakákoliv subdoména bude započítána do této kategorie.
NXFilter má trochu zvláštní chování v přidávání již jednou použitých domén. Pokud se doména plně shoduje, z původní kategorie jí odebere a přidá do nově zvolené. Pokud jde ale jen o subdoménu již jednou použité domény, nechá jí v původní tj pokud do kategorie A dáte *.test.cz a do B *.test.cz, z A ji odebere a přidá do B. Pokud ale přidáte do C 2.test.cz, nechá jí v obou. Poté při dotazu na doménu je vrácena kategorie B pokud není doména přesně.

Logging

Zde si můžete prohlížet stav dotazů na DNS server. Je zde možnost měnit čas výčtu dotazů, nechat si načíst jen dotazy od určitého uživatele/IP nebo jen z konkrétní kategorie nebo politiky a nakonec zobrazit jen blokované – políčko Block (používám docela často při hledání příčiny blokace).

V záznamech je pak čas dotazů, počet a typ, doména, uživatel který dotaz na DNS server vznesl a jeho IP. Dále pak skupina do které patří a aplikovaná politika. V případě blokace pak její důvod (vetšinou kategorie nebo třeba velká délka dotazu atd).

Při kliknutí na doménu můžete nastavit její kategorii.

Závěr

NXFilter má opravdu podrobně zpracovanou dokumentaci. Doporučuji z ní čerpat. Dokumentace je také pravidelně aktualizována a doplňována. Viz https://nxfilter.org/tutorial.html 

 

You may also like...

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.