Instalirajte i konfigurirajte pfBlockerNg za DNS crnu listu u pfSense vatrozidu


U ranijem članku raspravljalo se o instalaciji moćnog rješenja vatrozida temeljenog na FreeBSD-u poznatog kao pfSense. pfSense, kao što je spomenuto u prethodnom članku, vrlo je moćno i fleksibilno vatrozidno rješenje koje može iskoristiti staro računalo koje možda leži uokolo i ne radi puno.

Ovaj će članak govoriti o prekrasnom paketu dodataka za pfsense pod nazivom pfBlockerNG.

pfBlockerNG je paket koji se može instalirati u pfSense kako bi administratoru vatrozida pružio mogućnost proširenja mogućnosti vatrozida izvan tradicionalnog L2/L3/L4 vatrozida s praćenjem stanja.

Kako sposobnosti napadača i kibernetičkih kriminalaca napreduju, tako moraju i obrane koje su postavljene da osujete njihove napore. Kao i sa bilo čim u svijetu računalstva, ne postoji jedno rješenje koje popravlja sve proizvode.

pfBlockerNG pruža pfSenseu mogućnost vatrozida da dopušta/odbija stavke temeljene na odlukama kao što su geolokacija IP adrese, naziv domene resursa ili Alexa ocjene određenih web stranica.

Mogućnost ograničavanja stavki kao što su nazivi domena vrlo je korisna jer omogućuje administratorima da spriječe pokušaje internih strojeva koji se pokušavaju spojiti na poznate loše domene (drugim riječima, domene za koje se može znati da imaju zlonamjerni softver, ilegalni sadržaj ili druge podmukli podaci).

Ovaj će vodič proći kroz konfiguraciju vatrozidnog uređaja pfSense za korištenje paketa pfBlockerNG kao i kroz neke osnovne primjere popisa blokiranih domena koji se mogu dodati/konfigurirati u alat pfBlockerNG.

Zahtjevi

Ovaj članak će napraviti nekoliko pretpostavki i temeljit će se na prethodnom instalacijskom članku o pfSense. Pretpostavke će biti sljedeće:

  • pfSense je već instaliran i trenutno nema konfiguriranih pravila (čisti list).
  • Vatrozid ima samo WAN i LAN port (2 porta).
  • IP shema koja se koristi na strani LAN-a je 192.168.0.0/24.

Treba napomenuti da se pfBlockerNG može konfigurirati na već pokrenutom/konfiguriranom pfSense vatrozidu. Razlog za ove pretpostavke ovdje je jednostavno radi zdravog razuma i mnogi od zadataka koji će biti dovršeni, još uvijek se mogu obaviti na pfSense kutiji koja nije čista.

Laboratorijski dijagram

Slika ispod je laboratorijski dijagram za okruženje pfSense koje će se koristiti u ovom članku.

Instalirajte pfBlockerNG za pfSense

Kad je laboratorij spreman za rad, vrijeme je za početak! Prvi korak je povezivanje s web sučeljem za vatrozid pfSense. Opet ovo laboratorijsko okruženje koristi mrežu 192.168.0.0/24 s vatrozidom koji djeluje kao pristupnik s adresom 192.168.0.1. Korištenjem web-preglednika i navigacijom do ‘https://192.168.0.1’ prikazat će se stranica za prijavu na pfSense.

Neki se preglednici mogu žaliti na SSL certifikat, to je normalno budući da je certifikat sam potpisao vatrozid pfSense. Možete sigurno prihvatiti poruku upozorenja i po želji se može instalirati važeći certifikat potpisan od strane legitimnog CA, ali to je izvan opsega ovog članka.

Nakon uspješnog klika na "Napredno", a zatim na "Dodaj iznimku...", kliknite za potvrdu sigurnosne iznimke. Zatim će se prikazati pfSense stranica za prijavu i omogućiti administratoru da se prijavi na vatrozidni uređaj.

Nakon što se prijavite na glavnu stranicu pfSense, kliknite na padajući izbornik 'Sustav' i zatim odaberite 'Upravitelj paketa'.

Klikom na ovu poveznicu otvorit će se prozor upravitelja paketa. Prva stranica koja će se učitati bit će svi trenutno instalirani paketi i bit će prazna (ovaj vodič opet pretpostavlja čistu instalaciju pfSense-a). Kliknite na tekst 'Dostupni paketi' da biste dobili popis paketa koji se mogu instalirati za pfSense.

Kada se stranica 'Dostupni paketi' učita, upišite 'pfblocker' u okvir 'Pojam za pretraživanje' i kliknite 'Traži<'. Prva stavka koja se vrati trebala bi biti pfBlockerNG. Pronađite gumb ‘Instaliraj’ desno od opisa pfBlockerNG-a i kliknite ‘+’ da biste instalirali paket.

Stranica će se ponovno učitati i zatražiti od administratora da potvrdi instalaciju klikom na 'Potvrdi'.

Nakon potvrde, pfSense će početi instalirati pfBlockerNG. Ne odlazite sa stranice programa za instalaciju! Pričekajte dok stranica ne prikaže uspješnu instalaciju.

Nakon što je instalacija završena, konfiguracija pfBlockerNG-a može započeti. Prvi zadatak koji treba dovršiti su neka objašnjenja o tome što će se dogoditi kada se pfBlockerNG pravilno konfigurira.

Nakon što je pfBlockerNG konfiguriran, DNS zahtjeve za web stranice trebao bi presresti vatrozid pfSense koji pokreće softver pfBlockerNG. pfBlockerNG će tada imati ažurirane popise poznatih loših domena koje su mapirane na lošu IP adresu.

Vatrozid pfSense treba presresti DNS zahtjeve kako bi mogao filtrirati loše domene i koristit će lokalni DNS rezolver poznat kao UnBound. To znači da klijenti na LAN sučelju moraju koristiti pfSense vatrozid kao DNS razrješivač.

Ako klijent zatraži domenu koja je na pfBlockerNG popisu blokiranih, tada će pfBlockerNG vratiti lažnu IP adresu za domenu. Započnimo proces!

pfBlockerNG Konfiguracija za pfSense

Prvi korak je omogućiti UnBound DNS resolver na vatrozidu pfSense. Da biste to učinili, kliknite padajući izbornik 'Usluge', a zatim odaberite 'DNS razrješivač'.

Kada se stranica ponovno učita, opće postavke DNS razlučivača moći će se konfigurirati. Ova prva opcija koju je potrebno konfigurirati je potvrdni okvir za "Omogući DNS razrješivač".

Sljedeće postavke su postavljanje ulaza za slušanje DNS-a (obično port 53), postavljanje mrežnih sučelja koje bi DNS rezolver trebao slušati (u ovoj konfiguraciji, to bi trebao biti LAN port i Localhost), a zatim postavljanje izlaznog porta (trebao bi biti WAN u ovoj konfiguraciji).

Nakon što izvršite odabir, svakako kliknite 'Spremi' na dnu stranice, a zatim kliknite gumb 'Primijeni promjene' koji će se pojaviti na vrhu stranica.

Sljedeći korak je prvi korak u konfiguraciji posebno pfBlockerNG-a. Dođite do stranice za konfiguraciju pfBlockerNG-a pod izbornikom 'Vatrozid', a zatim kliknite na 'pfBlockerNG'.

Nakon što se pfBlockerNG učita, prvo kliknite na karticu ‘DNSBL’ kako biste započeli postavljanje DNS popisa prije aktiviranja pfBlockerNG-a.

Kada se stranica ‘DNSBL’ učita, pojavit će se novi skup izbornika ispod pfBlockerNG izbornika (istaknutih zelenom bojom ispod). Prva stavka koju treba riješiti je potvrdni okvir ‘Omogući DNSBL’ (označen zelenom bojom ispod).

Ovaj potvrdni okvir će zahtijevati da se UnBound DNS resolver koristi na pfSense okviru kako bi pregledao dns zahtjeve od LAN klijenata. Ne brinite UnBound je konfiguriran ranije, ali ovaj okvir mora biti označen! Druga stavka koju je potrebno ispuniti na ovom zaslonu je 'DNSBL Virtual IP'.

Ovaj IP mora biti u rasponu privatne mreže, a ne valjani IP na mreži u kojoj se koristi pfSense. Na primjer, LAN mreža na 192.168.0.0/24 može koristiti IP od 10.0.0.1 budući da je to privatni IP i nije dio LAN mreže.

Ovaj IP će se koristiti za prikupljanje statistike kao i za praćenje domena koje odbija pfBlockerNG.

Listajući stranicu prema dolje, postoji još nekoliko postavki vrijednih spomena. Prvo je 'DNSBL Listening Interface'. Za ovu postavku i većinu postavki ova postavka treba biti postavljena na ‘LAN’.

Druga postavka je ‘List Action’ pod ‘DNSBL IP Firewall Settings’. Ova postavka određuje što bi se trebalo dogoditi kada DNSBL feed pruža IP adrese.

Pravila pfBlockerNG mogu se postaviti za obavljanje bilo kojeg broja radnji, ali najvjerojatnije će željena opcija biti 'Odbij oboje'. Ovo će spriječiti ulazne i izlazne veze na IP/domenu na DNSBL feedu.

Nakon što su stavke odabrane, pomaknite se do dna stranice i kliknite gumb "Spremi". Nakon što se stranica ponovno učita, vrijeme je da konfigurirate popise blokiranih DNS-a koje biste trebali koristiti.

pfBlockerNG pruža administratoru dvije opcije koje se mogu konfigurirati neovisno ili zajedno, ovisno o preferencijama administratora. Dvije opcije su ručni unos s drugih web stranica ili EasyLists.

Da biste pročitali više o različitim EasyLists, posjetite početnu stranicu projekta: https://easylist.to/

Konfigurirajte pfBlockerNG EasyList

Prvo raspravimo i konfigurirajmo EasyLists. Većina kućnih korisnika smatrat će da su ovi popisi dovoljni i najmanje administrativno opterećujući.

Dva EasyLista dostupna u pfBlockerNG-u su ‘EasyList bez skrivanja elemenata’ i ‘EasyPrivacy’. Da biste koristili jedan od ovih popisa, prvo kliknite na 'DNSBL EasyList' na vrhu stranice.

Nakon što se stranica ponovno učita, bit će dostupan odjeljak za konfiguraciju EasyList. Morat ćete konfigurirati sljedeće postavke:

  • Naziv DNS grupe – izbor korisnika, ali bez posebnih znakova
  • Opis – izbor korisnika, dopušteni posebni znakovi
  • EasyList Feed State – koristi li se konfigurirani popis
  • EasyList Feed – Koji popis koristiti (EasyList ili EasyPrivacy) oba se mogu dodati
  • Zaglavlje/oznaka – korisnički izbor, ali bez posebnih znakova

Sljedeći odjeljak koristi se za određivanje dijelova popisa koji će biti blokirani. Opet, ovo su sve korisničke postavke i po želji se može odabrati više. Važne postavke u 'DNSBL – EasyList Settings' su sljedeće:

  • Kategorije – Moguće je odabrati korisničke postavke i više njih
  • List Action – Potrebno je postaviti na "Nevezano" kako bi se pregledali DNS zahtjevi
  • Učestalost ažuriranja – Koliko često će pfSense ažurirati popis loših stranica

Kada su postavke EasyList konfigurirane prema preferencijama korisnika, svakako se pomaknite do dna stranice i kliknite gumb "Spremi". Nakon što se stranica ponovno učita, pomaknite se do vrha stranice i kliknite na karticu "Ažuriraj".

Kada ste na kartici za ažuriranje, označite radio gumb za "Ponovo učitaj", a zatim označite radio gumb za "Sve". Ovo će proći kroz niz preuzimanja s weba kako bi se dobili popisi blokiranih odabrani na stranici konfiguracije EasyList ranije.

To se mora učiniti ručno jer se inače popisi neće preuzeti do planiranog cron zadatka. Kad god se naprave promjene (popisi dodani ili uklonjeni), obavezno pokrenite ovaj korak.

Pogledajte prozor dnevnika u nastavku za eventualne pogreške. Ako je sve išlo po planu, klijentski strojevi na LAN strani vatrozida trebali bi moći postavljati upit pfSense vatrozidu za poznate loše stranice i zauzvrat primati loše ip adrese. Opet klijentski strojevi moraju biti postavljeni da koriste pfsense okvir kao svoj DNS razrješivač!

Primijetite u gornjem nslookupu da url vraća lažni IP konfiguriran ranije u pfBlockerNG konfiguracijama. Ovo je željeni rezultat. To bi dovelo do toga da bi svaki zahtjev za URL '100pour.com' bio usmjeren na lažnu IP adresu 10.0.0.1.

Konfigurirajte DNSBL feedove za pfSense

Za razliku od AdBlock EasyLists, također postoji mogućnost korištenja drugih DNS crnih popisa unutar pfBlockerNG-a. Postoje stotine popisa koji se koriste za praćenje naredbi i kontrole zlonamjernog softvera, špijunskog softvera, adwarea, tor čvorova i raznih drugih korisnih popisa.

Ovi popisi se često mogu povući u pfBlockerNG i također koristiti kao dodatne DNS crne liste. Postoji dosta izvora koji pružaju korisne popise:

  • 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

Gornje veze pružaju teme na forumu pfSensea gdje su članovi objavili veliku kolekciju popisa koje koriste. Neki od autoričinih popisa favorita uključuju sljedeće:

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

Opet postoji mnoštvo drugih popisa i autor snažno potiče pojedince da traže više/drugih popisa. Ipak, nastavimo s konfiguracijskim zadacima.

Prvi korak je ponovno otići u konfiguracijski izbornik pfBlockerNG-a kroz 'Vatrozid' -> 'pfBlockerNG' -> 'DSNBL'.

Kad se ponovno nađete na konfiguracijskoj stranici DNSBL-a, kliknite na tekst 'DNSBL Feeds', a zatim kliknite na gumb 'Dodaj' nakon što se stranica osvježi.

Gumb za dodavanje omogućit će administratoru da doda više popisa loših IP adresa ili DNS imena u softver pfBlockerNG (dvije stavke koje su već na popisu autorove su iz testiranja). Gumb za dodavanje dovodi administratora na stranicu na kojoj se DNSBL popisi mogu dodati vatrozidu.

Važne postavke u ovom izlazu su sljedeće:

  • Naziv DNS grupe – odabran korisnik
  • Opis – Korisno za organiziranje grupa
  • DNSBL postavke – ovo su stvarni popisi
    • Država – koristi li se taj izvor ili ne i kako se dobiva
    • Izvor – Veza/izvor DNS crnog popisa
    • Zaglavlje/oznaka – korisnički izbor; bez posebnih znakova
  • Radnja popisa – Postavite na Nevezano
  • Učestalost ažuriranja – Koliko često se popis treba ažurirati

Nakon što postavite te postavke, kliknite gumb spremi na dnu stranice. Kao i sa svim promjenama na pfBlockerNG-u, promjene će stupiti na snagu u sljedećem planiranom intervalu cron-a ili administrator može ručno prisiliti ponovno učitavanje odlaskom na karticu 'Ažuriranje', klikom na 'Ponovo učitaj<' radio gumb, a zatim kliknite radio gumb 'Sve'. Nakon što ih odaberete, kliknite gumb "Pokreni".

Pogledajte prozor dnevnika u nastavku za eventualne pogreške. Ako je sve išlo po planu, provjerite funkcioniraju li popisi jednostavnim pokušajem nslookupa od klijenta na lan strani do jedne od domena navedenih u jednoj od tekstualnih datoteka korištenih u DNSBL konfiguraciji.

Kao što se može vidjeti u izlazu iznad, pfSense uređaj vraća virtualnu IP adresu koja je konfigurirana u pfBlockerNG kao loša IP za domene s crne liste.

U ovom trenutku administrator može nastaviti prilagođavati popise dodavanjem više popisa ili stvaranjem prilagođenih popisa domena/IP adresa. pfBlockerNG će nastaviti preusmjeravati ove ograničene domene na lažnu IP adresu.

Hvala vam što ste pročitali ovaj članak o pfBlockerNG. Pokažite svoju zahvalnost ili podršku za pfSense softver kao i za pfBlockerNG pridonoseći na bilo koji mogući način kontinuiranom razvoju oba ova prekrasna proizvoda. Kao i uvijek, komentirajte ispod s bilo kakvim prijedlozima ili pitanjima!