Vyhledávání na webu

Nainstalujte a nakonfigurujte pfBlockerNg pro DNS Black Listing v pfSense Firewall


V dřívějším článku byla diskutována instalace výkonného firewallového řešení založeného na FreeBSD známého jako pfSense. pfSense, jak bylo zmíněno v předchozím článku, je velmi výkonné a flexibilní řešení firewallu, které dokáže využít starý počítač, který může ležet a nic moc nedělá.

Tento článek bude hovořit o skvělém doplňkovém balíčku pro pfsense s názvem pfBlockerNG.

pfBlockerNG je balíček, který lze nainstalovat do pfSense a poskytnout správci brány firewall možnost rozšířit možnosti brány firewall nad rámec tradiční stavové brány firewall L2/L3/L4.

Vzhledem k tomu, že schopnosti útočníků a kybernetických zločinců se neustále rozvíjejí, musí se rozvíjet i obrana, která je zaváděna, aby zmařila jejich úsilí. Stejně jako u čehokoli ve světě výpočetní techniky neexistuje jediné řešení, které by opravilo všechny produkty.

pfBlockerNG poskytuje pfSense schopnost firewallu přijímat/zamítat rozhodnutí na základě položek, jako je geolokace IP adresy, název domény zdroje nebo hodnocení Alexa konkrétních webových stránek.

Schopnost omezit položky, jako jsou názvy domén, je velmi výhodná, protože umožňuje administrátorům zmařit pokusy interních počítačů pokoušejících se připojit ke známým špatným doménám (jinými slovy doménám, o kterých je známo, že obsahují malware, nelegální obsah nebo jiné zákeřná data).

Tato příručka vás provede konfigurací zařízení brány firewall pfSense pro použití balíčku pfBlockerNG a také několik základních příkladů seznamů blokování domén, které lze přidat/konfigurovat do nástroje pfBlockerNG.

Požadavky

Tento článek vytvoří několik předpokladů a bude stavět na předchozím článku o instalaci o pfSense. Předpoklady budou následující:

  • pfSense je již nainstalován a nemá aktuálně nakonfigurovaná žádná pravidla (čistý štít).
  • Firewall má pouze WAN a LAN port (2 porty).
  • Schéma IP používané na straně LAN je 192.168.0.0/24.

Je třeba poznamenat, že pfBlockerNG lze nakonfigurovat na již spuštěném/konfigurovaném firewallu pfSense. Důvodem těchto předpokladů je zde pouze zdravý rozum a mnoho úkolů, které budou dokončeny, lze stále provést na nečistém břidlicovém boxu pfSense.

Laboratorní diagram

Obrázek níže je laboratorní diagram pro prostředí pfSense, který bude použit v tomto článku.

Nainstalujte pfBlockerNG pro pfSense

Když je laboratoř připravena jít, je čas začít! Prvním krokem je připojení k webovému rozhraní pro firewall pfSense. Toto laboratorní prostředí opět používá síť 192.168.0.0/24 s bránou firewall fungující jako brána s adresou 192.168.0.1. Pomocí webového prohlížeče a přechodem na „https://192.168.0.1“ se zobrazí přihlašovací stránka pfSense.

Některé prohlížeče si mohou stěžovat na certifikát SSL, to je normální, protože certifikát je podepsán sám firewallem pfSense. Varovnou zprávu můžete bezpečně přijmout a v případě potřeby lze nainstalovat platný certifikát podepsaný legitimní certifikační autoritou, ale to přesahuje rozsah tohoto článku.

Po úspěšném kliknutí na „Upřesnit“ a poté na „Přidat výjimku…“ potvrďte bezpečnostní výjimku kliknutím. Poté se zobrazí přihlašovací stránka pfSense a umožní správci přihlásit se k zařízení brány firewall.

Po přihlášení na hlavní stránku pfSense klikněte na rozbalovací nabídku „System“ a poté vyberte „Package Manager“.

Kliknutím na tento odkaz přejdete do okna správce balíčků. První stránka, která se načte, budou všechny aktuálně nainstalované balíčky a bude prázdná (tato příručka opět předpokládá čistou instalaci pfSense). Kliknutím na text „Dostupné balíčky“ zobrazíte seznam instalovatelných balíčků pro pfSense.

Jakmile se načte stránka 'Dostupné balíčky', napište 'pfblocker' do pole 'Hledaný výraz' a klikněte na 'Hledat<'. První vrácená položka by měla být pfBlockerNG. Najděte tlačítko ‚Instalovat‘ napravo od popisu pfBlockerNG a kliknutím na ‘+‘ balíček nainstalujte.

Stránka se znovu načte a požádá správce o potvrzení instalace kliknutím na „Potvrdit“.

Po potvrzení začne pfSense instalovat pfBlockerNG. Neopouštějte stránku instalačního programu! Počkejte, dokud se na stránce nezobrazí úspěšná instalace.

Po dokončení instalace může začít konfigurace pfBlockerNG. Prvním úkolem, který je třeba dokončit, je několik vysvětlení toho, co se stane, jakmile bude pfBlockerNG správně nakonfigurován.

Jakmile je pfBlockerNG nakonfigurován, požadavky DNS pro webové stránky by měly být zachyceny firewallem pfSense se softwarem pfBlockerNG. pfBlockerNG pak bude mít aktualizované seznamy známých špatných domén, které jsou mapovány na špatnou IP adresu.

Firewall pfSense musí zachycovat požadavky DNS, aby mohl odfiltrovat špatné domény a použije místní překladač DNS známý jako UnBound. To znamená, že klienti na rozhraní LAN musí používat firewall pfSense jako DNS resolver.

Pokud klient požaduje doménu, která je na seznamech blokování pfBlockerNG, pak pfBlockerNG vrátí falešnou IP adresu domény. Začněme proces!

Konfigurace pfBlockerNG pro pfSense

Prvním krokem je povolit překladač UnBound DNS na firewallu pfSense. Chcete-li to provést, klikněte na rozbalovací nabídku „Služby“ a poté vyberte „DNS Resolver“.

Když se stránka znovu načte, bude možné konfigurovat obecná nastavení překladače DNS. Tato první možnost, kterou je třeba nakonfigurovat, je zaškrtávací políčko „Povolit DNS Resolver“.

Další nastavení je nastavení naslouchacího portu DNS (normálně port 53), nastavení síťových rozhraní, na kterých by měl DNS resolver naslouchat (v této konfiguraci by to měl být LAN port a Localhost) a poté nastavení výstupního portu (měl by být WAN v této konfiguraci).

Po provedení výběru nezapomeňte kliknout na 'Uložit' v dolní části stránky a poté na tlačítko 'Použít změny', které se zobrazí v horní části strana.

Dalším krokem je konkrétně první krok v konfiguraci pfBlockerNG. Přejděte na konfigurační stránku pfBlockerNG v nabídce ‚Firewall‘ a poté klikněte na ‚pfBlockerNG‘.

Jakmile se pfBlockerNG načte, klikněte nejprve na záložku „DNSBL“ a začněte nastavovat seznamy DNS před aktivací pfBlockerNG.

Po načtení stránky „DNSBL“ bude pod nabídkami pfBlockerNG nová sada nabídek (níže zvýrazněna zeleně). První položkou, kterou je třeba řešit, je zaškrtávací políčko „Povolit DNSBL“ (níže zvýrazněno zeleně).

Toto zaškrtávací políčko bude vyžadovat, aby byl v poli pfSense použit překladač UnBound DNS, aby bylo možné kontrolovat požadavky DNS od klientů LAN. Nebojte se UnBound byl nakonfigurován dříve, ale toto políčko bude nutné zaškrtnout! Další položka, kterou je třeba na této obrazovce vyplnit, je ‚DNSBL Virtual IP‘.

Tato IP adresa musí být v rozsahu privátní sítě a ne platná IP v síti, ve které se používá pfSense. Například síť LAN na 192.168.0.0/24 může používat IP 10.0.0.1, protože jde o soukromou IP a není součástí sítě LAN.

Tato IP bude použita ke shromažďování statistik a také ke sledování domén, které pfBlockerNG odmítá.

Posouváním stránky dolů je zde několik dalších nastavení, která stojí za zmínku. První je „DNSBL Listening Interface“. Pro toto nastavení a většinu nastavení by toto nastavení mělo být nastaveno na „LAN“.

Druhé nastavení je „List Action“ pod „DNSBL IP Firewall Settings“. Toto nastavení určuje, co se má stát, když zdroj DNSBL poskytuje IP adresy.

Pravidla pfBlockerNG lze nastavit tak, aby prováděla libovolný počet akcí, ale s největší pravděpodobností bude požadovanou možností „Zakázat obojí“. Tím zabráníte příchozím a odchozím připojením k IP/doméně na zdroji DNSBL.

Po výběru položek přejděte na konec stránky a klikněte na tlačítko „Uložit“. Jakmile se stránka znovu načte, je čas nakonfigurovat seznamy blokovaných DNS, které by měly být použity.

pfBlockerNG poskytuje správci dvě možnosti, které lze konfigurovat nezávisle nebo společně v závislosti na preferencích správce. Tyto dvě možnosti jsou ruční podávání z jiných webových stránek nebo EasyLists.

Chcete-li si přečíst více o různých EasyListech, navštivte domovskou stránku projektu: https://easylist.to/

Nakonfigurujte pfBlockerNG EasyList

Nejprve probereme a nakonfigurujeme EasyLists. Většině domácích uživatelů budou tyto seznamy dostačující a zároveň nejméně administrativně náročné.

Dva EasyListy dostupné v pfBlockerNG jsou „EasyList w/o Element Hiding“ a „EasyPrivacy“. Chcete-li použít některý z těchto seznamů, klikněte nejprve na ‚DNSBL EasyList‘ v horní části stránky.

Jakmile se stránka znovu načte, zpřístupní se konfigurační sekce EasyList. Bude nutné nakonfigurovat následující nastavení:

  • Název skupiny DNS – Volba uživatele, ale žádné speciální znaky
  • Popis – Volba uživatele, povoleny speciální znaky
  • EasyList Feeds State – zda se používá nakonfigurovaný seznam
  • EasyList Feed – Který seznam použít (EasyList nebo EasyPrivacy), oba lze přidat
  • Záhlaví/štítek – Uživatelská volba, ale žádné speciální znaky

Další část slouží k určení, které části seznamů budou blokovány. Opět se jedná o všechny preference uživatele a v případě potřeby lze vybrat více. Důležitá nastavení v „DNSBL – EasyList Settings“ jsou následující:

  • Kategorie – Lze vybrat uživatelské preference a více
  • Akce seznamu – Aby bylo možné kontrolovat požadavky DNS, musí být nastaveno na hodnotu „Nevázané“.
  • Frekvence aktualizací – Jak často bude pfSense aktualizovat seznam špatných stránek

Když jsou nastavení EasyList nakonfigurována podle preferencí uživatele, nezapomeňte přejít na konec stránky a kliknout na tlačítko „Uložit“. Jakmile se stránka znovu načte, přejděte do horní části stránky a klikněte na kartu „Aktualizovat“.

Jakmile jste na kartě aktualizace, zaškrtněte přepínač „Znovu načíst“ a poté zaškrtněte přepínač „Vše“. Proběhne to sérií stahování z webu, aby se získaly seznamy bloků vybrané dříve na konfigurační stránce EasyList.

To je nutné provést ručně, jinak nebudou seznamy staženy až do naplánované úlohy cron. Kdykoli jsou provedeny změny (seznamy přidány nebo odebrány), nezapomeňte tento krok spustit.

V okně protokolu níže sledujte případné chyby. Pokud by vše šlo podle plánu, klientské počítače na LAN straně firewallu by měly být schopny dotazovat se firewallu pfSense na známé špatné stránky a na oplátku přijímat špatné IP adresy. Znovu však musí být klientské počítače nastaveny tak, aby používaly box pfsense jako svůj DNS resolver!

Všimněte si v nslookup výše, že url vrací falešnou IP nakonfigurovanou dříve v konfiguracích pfBlockerNG. To je požadovaný výsledek. To by vedlo k tomu, že jakýkoli požadavek na adresu URL „100pour.com“ byl přesměrován na falešnou IP adresu 10.0.0.1.

Nakonfigurujte zdroje DNSBL pro pfSense

Na rozdíl od AdBlock EasyLists je v pfBlockerNG také možnost používat další černé listiny DNS. Existují stovky seznamů, které se používají ke sledování příkazů a kontroly malwaru, spywaru, adwaru, uzlů tor a všech druhů dalších užitečných seznamů.

Tyto seznamy lze často stáhnout do pfBlockerNG a také použít jako další černé listiny DNS. Existuje několik zdrojů, které poskytují užitečné seznamy:

  • https://forum.pfsense.org/index.php?topic=114499.0
  • https://forum.pfsense.org/index.php?topic=102470.0
  • https://forum.pfsense.org/index.php?topic=86212.0

Výše uvedené odkazy poskytují vlákna na fóru pfSense, kde členové zveřejnili velkou sbírku seznamů, které používají. Některé z autorových oblíbených seznamů zahrnují následující:

  • http://adaway.org/hosts.txt
  • http://www.malwaredomainlist.com/hostslist/hosts.txt
  • http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext
  • https://zeutracker.abuse.ch/blocklist.php?download=domainblocklist
  • https://gist.githubusercontent.com/BBcan177/4a8bf37c131be4803cb2/raw

Opět existuje spousta dalších seznamů a autor důrazně doporučuje, aby jednotlivci hledali další/jiné seznamy. Pokračujme však v konfiguračních úlohách.

Prvním krokem je znovu přejít do konfigurační nabídky pfBlockerNG přes 'Firewall' -> 'pfBlockerNG' -> 'DSNBL'.

Jakmile jste znovu na konfigurační stránce DNSBL, klikněte na text „DNSBL Feeds“ a poté klikněte na tlačítko „Přidat“, jakmile se stránka obnoví.

Tlačítko přidat umožní správci přidat do softwaru pfBlockerNG další seznamy špatných IP adres nebo DNS jmen (dvě položky, které již v seznamu jsou, jsou autorovy z testování). Tlačítko přidat přivede správce na stránku, kde lze do firewallu přidat seznamy DNSBL.

Důležitá nastavení v tomto výstupu jsou následující:

  • Název skupiny DNS – Zvolený uživatel
  • Popis – užitečné pro uspořádání skupin
  • Nastavení DNSBL – Toto jsou skutečné seznamy
    • Stát – zda je daný zdroj použit nebo ne a jak je získáván
    • Zdroj – odkaz/zdroj černé listiny DNS
    • Záhlaví/štítek – Uživatelská volba; žádné speciální znaky
  • Akce seznamu – Nastavte na Nevázáno
  • Frekvence aktualizací – Jak často by se měl seznam aktualizovat

Po nastavení těchto nastavení klikněte na tlačítko uložit dole na stránce. Stejně jako u všech změn v pfBlockerNG se změny projeví v příštím plánovaném intervalu cron nebo může správce ručně vynutit opětovné načtení přechodem na kartu 'Aktualizovat', kliknutím na 'Znovu načíst<“ a poté klikněte na přepínač „Vše“. Jakmile je vyberete, klikněte na tlačítko „Spustit“.

V okně protokolu níže sledujte případné chyby. Pokud vše proběhlo podle plánu, otestujte, že seznamy fungují, jednoduše tím, že se pokusíte provést nslookup z klienta na straně LAN do jedné z domén uvedených v jednom z textových souborů použitých v konfiguraci DNSBL.

Jak je vidět na výstupu výše, zařízení pfSense vrací virtuální IP adresu, která byla nakonfigurována v pfBlockerNG jako špatná IP pro domény černé listiny.

V tomto okamžiku mohl správce pokračovat v ladění seznamů přidáním dalších seznamů nebo vytvořením vlastních seznamů domén/IP. pfBlockerNG bude i nadále přesměrovávat tyto omezené domény na falešnou IP adresu.

Děkujeme, že jste si přečetli tento článek o pfBlockerNG. Ukažte prosím své uznání nebo podporu softwaru pfSense a také pfBlockerNG tím, že jakkoli bude možné přispívat k dalšímu vývoji obou těchto úžasných produktů. Jako vždy prosím níže komentujte s jakýmikoli návrhy nebo dotazy!