Instalirajte i konfigurišite pfBlockerNg za DNS crnu listu u pfSense Firewall-u


U ranijem članku se raspravljalo o instalaciji moćnog FreeBSD baziranog firewall rješenja poznatog kao pfSense. pfSense, kao što je spomenuto u prethodnom članku, je vrlo moćno i fleksibilno rješenje zaštitnog zida koje može iskoristiti stari računar koji možda leži uokolo i ne radi mnogo.

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

pfBlockerNG je paket koji se može instalirati u pfSense kako bi administratoru firewall-a pružio mogućnost proširenja mogućnosti zaštitnog zida izvan tradicionalnog L2/L3/L4 zaštitnog zida sa statusom.

Kako sposobnosti napadača i sajber kriminalaca nastavljaju da napreduju, tako moraju i odbrambene snage koje se postavljaju da osujeti njihove napore. Kao i sa bilo čim u svijetu računarstva, ne postoji jedno rješenje koje popravlja sve proizvode.

pfBlockerNG pruža pfSense-u mogućnost da firewall dopušta/odbija odluke zasnovane na stavcima kao što su geolokacija IP adrese, ime domena resursa ili Alexa ocjene određenih web stranica.

Mogućnost ograničavanja stavki kao što su imena domena je vrlo korisna jer omogućava administratorima da osujeti pokušaje internih mašina koje pokušavaju da se povežu sa poznatim lošim domenima (drugim riječima, domene za koje se može znati da imaju zlonamjerni softver, nezakonit sadržaj ili druge podmukli podaci).

Ovaj vodič će proći kroz konfigurisanje pfSense firewall uređaja za korištenje paketa pfBlockerNG, kao i neke osnovne primjere lista blokova domena koje se mogu dodati/konfigurirati u pfBlockerNG alatu.

Zahtjevi

Ovaj članak će napraviti nekoliko pretpostavki i nadograđivati se na prethodni članak o instalaciji o pfSenseu. Pretpostavke će biti sljedeće:

  • pfSense je već instaliran i trenutno nema konfiguriranih pravila (čista lista).
  • Firewall ima samo WAN i LAN port (2 porta).
  • IP šema koja se koristi na LAN strani je 192.168.0.0/24.

Treba napomenuti da se pfBlockerNG može konfigurisati na već pokrenutom/konfigurisanom pfSense firewall-u. 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 nečistoj pfSense kutiji.

Lab Diagram

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

Instalirajte pfBlockerNG za pfSense

Kada je laboratorija spremna za rad, vrijeme je za početak! Prvi korak je povezivanje na web sučelje za pfSense firewall. Opet ovo laboratorijsko okruženje koristi mrežu 192.168.0.0/24 sa zaštitnim zidom koji djeluje kao gateway sa adresom 192.168.0.1. Korištenjem web pretraživača i navigacijom na ‘https://192.168.0.1’ prikazat će se pfSense stranica za prijavu.

Neki pretraživači se mogu žaliti na SSL certifikat, to je normalno jer je certifikat sam potpisao pfSense firewall. Možete bezbedno da prihvatite poruku upozorenja i ako želite, može se instalirati važeći sertifikat potpisan od strane legitimnog CA, ali je izvan opsega ovog članka.

Nakon što uspješno kliknete na 'Napredno', a zatim na 'Dodaj izuzetak...', kliknite da potvrdite sigurnosni izuzetak. Stranica za prijavu na pfSense će se tada prikazati i omogućiti administratoru da se prijavi na zaštitni zid.

Nakon što ste prijavljeni na glavnu pfSense stranicu, kliknite na padajući meni 'Sistem', a zatim odaberite 'Upravitelj paketima'.

Klikom na ovu vezu promijenit ćete se u prozor upravitelja paketa. Prva stranica koja će se učitati biće svi trenutno instalirani paketi i biće prazna (opet ovaj vodič pretpostavlja čistu instalaciju pfSense-a). Kliknite na tekst 'Dostupni paketi' kako biste dobili listu paketa za instalaciju za pfSense.

Kada se stranica 'Dostupni paketi' učita, upišite 'pfblocker' u okvir 'Pojam za pretraživanje' i kliknite na 'Pretraži<'. Prva stavka koja se vraća treba biti pfBlockerNG. Pronađite dugme „Instaliraj” desno od opisa pfBlockerNG i kliknite na ‘+’ da instalirate paket.

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

Nakon potvrde, pfSense će početi da instalira pfBlockerNG. Nemojte se udaljavati od stranice za instalaciju! Pričekajte dok se na stranici ne prikaže uspješna instalacija.

Nakon što je instalacija završena, pfBlockerNG konfiguracija može početi. Međutim, prvi zadatak koji treba da se završi su neka objašnjenja o tome šta će se dogoditi kada se pfBlockerNG pravilno konfiguriše.

Kada se pfBlockerNG konfiguriše, DNS zahtjeve za web stranice treba presresti pfSense firewall koji pokreće softver pfBlockerNG. pfBlockerNG će tada imati ažurirane liste poznatih loših domena koji su mapirani na lošu IP adresu.

PfSense firewall treba da presreće DNS zahtjeve kako bi mogao filtrirati loše domene i koristit će lokalni DNS razrješavač poznat kao UnBound. To znači da klijenti na LAN interfejsu moraju da koriste pfSense firewall kao DNS rezolver.

Ako klijent zatraži domenu koja se nalazi na pfBlockerNG-ovim listama blokova, tada će pfBlockerNG vratiti lažnu IP adresu za domenu. Započnimo proces!

pfBlockerNG Konfiguracija za pfSense

Prvi korak je da omogućite rezolver UnBound DNS na pfSense firewall-u. Da biste to učinili, kliknite na padajući meni 'Usluge', a zatim odaberite 'DNS Resolver'.

Kada se stranica ponovo učita, opće postavke DNS resolvera će se moći konfigurirati. Ova prva opcija koju treba konfigurirati je potvrdni okvir za 'Omogući DNS Resolver'.

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

Nakon što su odabiri napravljeni, obavezno kliknite na 'Sačuvaj' na dnu stranice, a zatim kliknite na dugme 'Primijeni promjene' koje će se pojaviti na vrhu stranicu.

Sljedeći korak je prvi korak u konfiguraciji pfBlockerNG-a posebno. Idite na stranicu za konfiguraciju pfBlockerNG ispod menija „Firewall”, a zatim kliknite na „pfBlockerNG”.

Nakon što se pfBlockerNG učita, prvo kliknite na karticu 'DNSBL' da započnete postavljanje DNS lista prije nego aktivirate pfBlockerNG.

Kada se stranica „DNSBL“ učita, pojavit će se novi skup menija ispod pfBlockerNG menija (označeno 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 rezolver UnBound DNS koristi na pfSense polju kako bi se pregledali dns zahtjevi od LAN klijenata. Ne brinite, UnBound je konfiguriran ranije, ali ovaj okvir će morati biti označen! Druga stavka koju treba popuniti na ovom ekranu je „DNSBL Virtual IP”.

Ova IP adresa mora biti u privatnom mrežnom opsegu, a ne valjana IP adresa 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 jer je to privatna IP adresa i nije dio LAN mreže.

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

Skrolujući prema dolje, postoji još nekoliko postavki koje vrijedi spomenuti. Prvi je 'DNSBL Interfejs za slušanje'. Za ovo podešavanje, i većinu postavki, ova postavka treba biti postavljena na „LAN”.

Druga postavka je „List Action” pod „Postavke DNSBL IP zaštitnog zida”. Ova postavka određuje šta će se dogoditi kada DNSBL feed pruža IP adrese.

Pravila pfBlockerNG mogu se podesiti da vrše bilo koji broj radnji, ali će najvjerovatnije „Deny Both“ biti željena opcija. Ovo će spriječiti dolazne i odlazne veze na IP/domenu na DNSBL feed-u.

Nakon što su stavke odabrane, skrolujte do dna stranice i kliknite na dugme 'Sačuvaj'. Kada se stranica ponovo učita, vrijeme je da se konfigurišu DNS liste blokova koje treba koristiti.

pfBlockerNG pruža administratoru dvije opcije koje se mogu konfigurirati nezavisno ili zajedno u zavisnosti od preferencija administratora. Dvije opcije su ručni izvori s drugih web stranica ili EasyLists.

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

Konfigurišite pfBlockerNG EasyList

Hajde da prvo prodiskutujemo i konfigurišemo EasyLists. Većina domaćih korisnika će smatrati da su ove liste dovoljne i najmanje administrativno opterećujuće.

Dvije EasyListe dostupne u pfBlockerNG su "EasyList bez skrivanja elemenata" i "EasyPrivacy". Da biste koristili jednu od ovih lista, prvo kliknite na 'DNSBL EasyList' na vrhu stranice.

Nakon što se stranica ponovo učita, odjeljak za konfiguraciju EasyList će biti dostupan. Trebat će konfigurirati sljedeće postavke:

  • Naziv DNS grupe – Izbor korisnika, ali bez posebnih znakova
  • Opis – Izbor korisnika, dozvoljeni posebni znakovi
  • EasyList Feeds State – Da li se koristi konfigurirana lista
  • EasyList Feed – Koju listu koristiti (EasyList ili EasyPrivacy) oboje se mogu dodati
  • Zaglavlje/oznaka – Izbor korisnika, ali bez posebnih znakova

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

  • Kategorije – Korisničke postavke i višestruke mogu se odabrati
  • List Action – Potrebno je postaviti na 'Unbound' kako bi se pregledali DNS zahtjevi
  • Učestalost ažuriranja – Koliko često će pfSense ažurirati listu loših web lokacija

Kada su postavke EasyList-a konfigurirane prema korisničkim preferencijama, svakako skrolujte do dna stranice i kliknite na dugme 'Sačuvaj'. Kada se stranica ponovo učita, skrolujte do vrha stranice i kliknite na karticu 'Ažuriraj'.

Kada ste na kartici za ažuriranje, označite radio dugme za „Ponovo učitaj”, a zatim označite radio dugme za „Sve”. Ovo će proći kroz seriju preuzimanja s weba kako bi se dobile liste blokiranih koje su ranije odabrane na stranici konfiguracije EasyList.

Ovo se mora uraditi ručno, inače liste neće biti preuzete sve do zakazanog cron zadatka. Svaki put kada se naprave promjene (liste dodane ili uklonjene) obavezno pokrenite ovaj korak.

Pogledajte prozor dnevnika ispod za bilo kakve greške. Ako je sve išlo po planu, klijentske mašine na LAN strani zaštitnog zida trebale bi biti u mogućnosti da pitaju pfSense firewall za poznate loše lokacije i zauzvrat primaju loše IP adrese. Opet, klijentske mašine moraju biti podešene da koriste pfsense box kao svoj DNS rezolver!

Obratite pažnju na nslookup iznad da url vraća lažni IP konfiguriran ranije u pfBlockerNG konfiguracijama. Ovo je željeni ishod. To bi rezultiralo da se svaki zahtjev na URL „100pour.com” usmjerava na lažnu IP adresu 10.0.0.1.

Konfigurirajte DNSBL feedove za pfSense

Za razliku od AdBlock EasyLists, postoji i mogućnost korištenja drugih DNS crnih lista unutar pfBlockerNG. Postoje stotine lista koje se koriste za praćenje komande i kontrole zlonamjernog softvera, špijunskog softvera, advera, tor čvorova i svih vrsta drugih korisnih lista.

Ove liste se često mogu uvući u pfBlockerNG i takođe koristiti kao dalje DNS crne liste. Postoji dosta resursa koji pružaju korisne liste:

  • 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

Gore navedene veze pružaju teme na pfSense forumu gdje su članovi objavili veliku kolekciju lista koje koriste. Neke od autorovih omiljenih lista 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 postoje tone drugih lista i autor snažno ohrabruje da pojedinci traže više/drugih lista. Ipak, nastavimo sa zadacima konfiguracije.

Prvi korak je da ponovo uđete u meni za konfiguraciju pfBlockerNG-a kroz 'Firewall' -> 'pfBlockerNG' -> 'DSNBL'.

Kada se ponovo nađete na stranici za konfiguraciju DNSBL-a, kliknite na tekst 'DNSBL Feeds', a zatim kliknite na dugme 'Dodaj' nakon što se stranica osvježi.

Dugme za dodavanje će omogućiti administratoru da doda još lista loših IP adresa ili DNS imena u softver pfBlockerNG (dvije stavke koje se već nalaze na listi su autorske sa testiranja). Dugme za dodavanje dovodi administratora na stranicu na kojoj se DNSBL liste mogu dodati u firewall.

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

  • Naziv DNS grupe – Odabran korisnik
  • Opis – Korisno za organizovanje grupa
  • DNSBL postavke – Ovo su stvarne liste
    • Stanje – da li se taj izvor koristi ili ne i kako se do njega dolazi
    • Izvor – Veza/izvor DNS crne liste
    • Header/Label – Izbor korisnika; nema posebnih znakova
  • Radnja liste – Postavite na Nevezano
  • Učestalost ažuriranja – Koliko često treba ažurirati listu

Kada su ove postavke postavljene, kliknite na dugme sačuvaj na dnu stranice. Kao i kod svih promjena na pfBlockerNG, promjene će stupiti na snagu u sljedećem planiranom cron intervalu ili administrator može ručno prisiliti ponovno učitavanje tako što će otići na karticu 'Ažuriraj', kliknuti na 'Ponovo učitati<', a zatim kliknite na radio dugme 'Sve'. Kada ih odaberete, kliknite na dugme 'Pokreni'.

Pogledajte prozor dnevnika ispod za bilo kakve greške. Ako je sve išlo po planu, provjerite funkcioniraju li liste jednostavnim pokušajem da izvršite nslookup od klijenta na lan strani do jedne od domena navedenih u jednoj od tekstualnih datoteka koje se koriste u DNSBL konfiguraciji.

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

U ovom trenutku administrator može nastaviti sa podešavanjem lista dodavanjem više lista ili kreiranjem prilagođenih lista domena/IP-a. pfBlockerNG će nastaviti da preusmjerava 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 softveru pfSense kao i pfBlockerNG tako što ćete na bilo koji način doprinijeti kontinuiranom razvoju oba ova divna proizvoda. Kao i uvijek, molimo vas da komentarišete ispod sa svim prijedlozima ili pitanjima!