Instalați și configurați pfBlockerNg pentru lista neagră DNS în pfSense Firewall


Într-un articol anterior, a fost discutată instalarea unei soluții firewall puternice bazate pe FreeBSD, cunoscută sub numele de pfSense. pfSense, așa cum sa menționat în articolul anterior, este o soluție de firewall foarte puternică și flexibilă, care poate folosi un computer vechi care poate să nu facă mare lucru.

Acest articol va vorbi despre un minunat pachet de suplimente pentru pfsense numit pfBlockerNG.

pfBlockerNG este un pachet care poate fi instalat în pfSense pentru a oferi administratorului firewall-ului capacitatea de a extinde capacitățile firewall-ului dincolo de firewall-ul tradițional L2/L3/L4.

Pe măsură ce capacitățile atacatorilor și infractorilor cibernetici continuă să avanseze, la fel și apărările care sunt puse în aplicare pentru a le zădărnici eforturile. Ca în orice în lumea computerelor, nu există o singură soluție care să repare toate produsele de acolo.

pfBlockerNG oferă pfSense abilitatea firewall-ului de a permite/refuza decizii bazate pe elemente, cum ar fi localizarea geografică a unei adrese IP, numele de domeniu al unei resurse sau evaluările Alexa ale anumitor site-uri web.

Capacitatea de a restricționa elemente precum numele de domenii este foarte avantajoasă, deoarece permite administratorilor să împiedice încercările mașinilor interne care încearcă să se conecteze la domenii cunoscute dăunătoare (cu alte cuvinte, domenii despre care se știe că au programe malware, conținut ilegal sau altele). date insidioase).

Acest ghid va parcurge configurarea unui dispozitiv de firewall pfSense pentru a utiliza pachetul pfBlockerNG, precum și câteva exemple de bază de liste de blocare a domeniilor care pot fi adăugate/configurate în instrumentul pfBlockerNG.

Cerințe

Acest articol va face câteva ipoteze și se va baza pe articolul de instalare anterior despre pfSense. Ipotezele vor fi următoarele:

  • pfSense este deja instalat și nu are reguli configurate în prezent (serviciu curat).
  • Firewall-ul are doar un port WAN și un port LAN (2 porturi).
  • Schema IP utilizată pe partea LAN este 192.168.0.0/24.

Trebuie remarcat faptul că pfBlockerNG poate fi configurat pe un firewall pfSense deja rulat/configurat. Motivul pentru aceste ipoteze aici este pur și simplu de dragul minte și multe dintre sarcinile care vor fi finalizate pot fi încă realizate pe o cutie pfSense care nu este curată.

Diagrama de laborator

Imaginea de mai jos este diagrama de laborator pentru mediul pfSense care va fi folosită în acest articol.

Instalați pfBlockerNG pentru pfSense

Cu laboratorul gata de plecare, este timpul să începem! Primul pas este să vă conectați la interfața web pentru firewall-ul pfSense. Din nou, acest mediu de laborator folosește rețeaua 192.168.0.0/24, firewall-ul acționând ca gateway cu o adresă 192.168.0.1. Folosind un browser web și navigând la „https://192.168.0.1”, se va afișa pagina de conectare pfSense.

Unele browsere se pot plânge de certificatul SSL, acest lucru este normal, deoarece certificatul este autosemnat de firewall-ul pfSense. Puteți accepta în siguranță mesajul de avertizare și, dacă doriți, un certificat valid semnat de o CA legitimă poate fi instalat, dar depășește domeniul de aplicare al acestui articol.

După ce dați clic pe „Avansat” și apoi pe „Adăugați o excepție...”, faceți clic pentru a confirma excepția de securitate. Pagina de conectare pfSense se va afișa apoi și va permite administratorului să se conecteze la dispozitivul firewall.

După ce v-ați conectat la pagina principală pfSense, faceți clic pe meniul drop-down „Sistem”, apoi selectați „Manager de pachete”.

Făcând clic pe acest link, se va schimba în fereastra managerului de pachete. Prima pagină de încărcat va fi toate pachetele instalate curent și va fi goală (din nou acest ghid presupune o instalare curată a pfSense). Faceți clic pe textul „Pachete disponibile” pentru a primi o listă de pachete instalabile pentru pfSense.

După ce se încarcă pagina „Pachete disponibile”, tastați „pfblocker” în caseta „Termen de căutare” și faceți clic pe „Căutare<'. Primul articol care este returnat ar trebui să fie pfBlockerNG. Găsiți butonul „Instalare” din dreapta descrierii pfBlockerNG și faceți clic pe ‘+’ pentru a instala pachetul.

Pagina se va reîncărca și va solicita administratorului să confirme instalarea făcând clic pe „Confirmare”.

Odată confirmat, pfSense va începe să instaleze pfBlockerNG. Nu vă îndepărtați de pagina de instalare! Așteptați până când pagina afișează instalarea cu succes.

Odată ce instalarea a fost finalizată, configurația pfBlockerNG poate începe. Prima sarcină care trebuie finalizată este însă câteva explicații despre ce se va întâmpla odată ce pfBlockerNG este configurat corect.

Odată ce pfBlockerNG este configurat, solicitările DNS pentru site-uri web ar trebui să fie interceptate de firewall-ul pfSense care rulează software-ul pfBlockerNG. pfBlockerNG va avea apoi liste actualizate de domenii rele cunoscute care sunt mapate la o adresă IP proastă.

Firewall-ul pfSense trebuie să intercepteze cererile DNS pentru a putea filtra domeniile proaste și va folosi un solutor DNS local cunoscut sub numele de UnBound. Aceasta înseamnă că clienții de pe interfața LAN trebuie să utilizeze firewall-ul pfSense ca soluție DNS.

Dacă clientul solicită un domeniu care se află pe listele de blocare ale pfBlockerNG, atunci pfBlockerNG va returna o adresă IP falsă pentru domeniu. Să începem procesul!

pfBlockerNG Configurație pentru pfSense

Primul pas este să activați soluția UnBound DNS pe firewall-ul pfSense. Pentru a face acest lucru, faceți clic pe meniul drop-down „Servicii”, apoi selectați „DNS Resolver”.

Când pagina se reîncarcă, setările generale ale rezolutorului DNS vor fi configurabile. Această primă opțiune care trebuie configurată este caseta de selectare pentru „Activați soluția DNS”.

Următoarele setări sunt să setați portul de ascultare DNS (în mod normal portul 53), setarea interfețelor de rețea pe care rezolutorul DNS ar trebui să asculte (în această configurație, ar trebui să fie portul LAN și Localhost), apoi setarea portului de ieșire (ar trebui să fie fi WAN în această configurație).

După ce selecțiile au fost făcute, asigurați-vă că faceți clic pe „Salvați” în partea de jos a paginii, apoi faceți clic pe butonul „Aplicați modificări” care va apărea în partea de sus a paginii. pagina.

Următorul pas este primul pas în configurarea pfBlockerNG în mod specific. Navigați la pagina de configurare pfBlockerNG din meniul „Firewall”, apoi faceți clic pe „pfBlockerNG”.

Odată ce pfBlockerNG s-a încărcat, faceți clic mai întâi pe fila „DNSBL” pentru a începe configurarea listelor DNS înainte de a activa pfBlockerNG.

Când se încarcă pagina „DNSBL”, va exista un nou set de meniuri sub meniurile pfBlockerNG (evidențiate cu verde mai jos). Primul element care trebuie abordat este caseta de selectare „Activați DNSBL” (evidențiată cu verde mai jos).

Această casetă de validare va necesita ca solutorul UnBound DNS să fie utilizat în caseta pfSense pentru a inspecta solicitările dns de la clienții LAN. Nu vă faceți griji UnBound a fost configurat mai devreme, dar această casetă va trebui bifată! Celălalt element care trebuie completat pe acest ecran este „DNSBL Virtual IP”.

Acest IP trebuie să fie în intervalul rețelei private și nu un IP valid în rețeaua în care este utilizat pfSense. De exemplu, o rețea LAN pe 192.168.0.0/24 ar putea folosi un IP de 10.0.0.1 deoarece este un IP privat și nu face parte din rețeaua LAN.

Acest IP va fi folosit pentru a colecta statistici și pentru a monitoriza domeniile care sunt respinse de pfBlockerNG.

Derulând în jos în pagină, mai sunt câteva setări care merită menționate. Prima este „Interfața de ascultare DNSBL”. Pentru această configurare și pentru majoritatea setărilor, această setare ar trebui să fie setată la „LAN”.

Cealaltă setare este „List Action” sub „DNSBL IP Firewall Settings”. Această setare determină ce ar trebui să se întâmple atunci când un flux DNSBL oferă adrese IP.

Regulile pfBlockerNG pot fi configurate pentru a face orice număr de acțiuni, dar cel mai probabil „Refuză ambele” va fi opțiunea dorită. Acest lucru va împiedica conexiunile de intrare și de ieșire la IP/domeniu din fluxul DNSBL.

După ce elementele au fost selectate, derulați în partea de jos a paginii și faceți clic pe butonul „Salvați”. Odată ce pagina se reîncarcă, este timpul să configurați listele blocate DNS care ar trebui utilizate.

pfBlockerNG oferă administratorului două opțiuni care pot fi configurate independent sau împreună, în funcție de preferințele administratorului. Cele două opțiuni sunt feed-uri manuale din alte pagini web sau EasyLists.

Pentru a citi mai multe despre diferitele EasyLists, vă rugăm să vizitați pagina de start a proiectului: https://easylist.to/

Configurați pfBlockerNG EasyList

Să discutăm și să configuram mai întâi EasyLists. Majoritatea utilizatorilor casnici vor considera că aceste liste sunt suficiente, precum și cele mai puțin împovărătoare din punct de vedere administrativ.

Cele două EasyLists disponibile în pfBlockerNG sunt „EasyList w/o Element Hiding” și „EasyPrivacy”. Pentru a utiliza una dintre aceste liste, mai întâi faceți clic pe „DNSBL EasyList” din partea de sus a paginii.

Odată ce pagina se reîncarcă, secțiunea de configurare EasyList va fi disponibilă. Următoarele setări vor trebui configurate:

  • Nume grup DNS – alegerea utilizatorului, dar fără caractere speciale
  • Descriere – alegerea utilizatorului, caractere speciale permise
  • EasyList Feeds State – Dacă este utilizată lista configurată
  • Feed EasyList – Ce listă să utilizați (EasyList sau EasyPrivacy) pot fi adăugate ambele
  • Antet/Etichetă – alegerea utilizatorului, dar fără caractere speciale

Următoarea secțiune este folosită pentru a determina ce părți ale listelor vor fi blocate. Din nou, acestea sunt toate preferințele utilizatorului și pot fi selectate multiple dacă se dorește. Setările importante din „DNSBL – Setări EasyList” sunt următoarele:

  • Categorii – Pot fi selectate preferințele utilizatorului și multiple
  • Acțiune în listă – trebuie setat la „Nelegat” pentru a inspecta solicitările DNS
  • Frecvența actualizărilor – cât de des va actualiza pfSense lista de site-uri proaste

Când setările EasyList sunt configurate în funcție de preferințele utilizatorului, asigurați-vă că derulați în partea de jos a paginii și faceți clic pe butonul „Salvați”. Odată ce pagina se reîncarcă, derulați în partea de sus a paginii și faceți clic pe fila „Actualizare”.

Odată ajuns în fila de actualizare, verificați butonul radio pentru „Reîncărcați”, apoi verificați butonul radio pentru „Toate”. Aceasta va rula printr-o serie de descărcări web pentru a obține listele blocate selectate mai devreme pe pagina de configurare EasyList.

Acest lucru trebuie făcut manual, altfel listele nu vor fi descărcate până la sarcina cron programată. Oricând se fac modificări (liste adăugate sau eliminate), asigurați-vă că executați acest pas.

Urmăriți fereastra de jurnal de mai jos pentru eventuale erori. Dacă totul a mers conform planului, mașinile client de pe partea LAN a paravanului de protecție ar trebui să poată interoga firewall-ul pfSense pentru site-uri proaste cunoscute și să primească în schimb adrese IP proaste. Din nou, mașinile client trebuie să fie setate să folosească caseta pfsense ca soluție DNS!

Observați în nslookup de mai sus că adresa URL returnează IP-ul fals configurat mai devreme în configurațiile pfBlockerNG. Acesta este rezultatul dorit. Astfel, orice solicitare către adresa URL „100pour.com” va fi direcționată către adresa IP falsă a 10.0.0.1.

Configurați fluxurile DNSBL pentru pfSense

Spre deosebire de AdBlock EasyLists, există și posibilitatea de a utiliza alte Liste negre DNS în cadrul pfBlockerNG. Există sute de liste care sunt folosite pentru a urmări comanda și controlul malware, spyware, adware, noduri tor și tot felul de alte liste utile.

Aceste liste pot fi adesea extrase în pfBlockerNG și, de asemenea, utilizate ca liste negre DNS suplimentare. Există destul de multe resurse care oferă liste utile:

  • 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

Linkurile de mai sus oferă fire de discuție pe forumul pfSense, unde membrii au postat o colecție mare de liste pe care le folosesc. Unele dintre listele preferate ale autorului includ următoarele:

  • 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

Din nou, există o mulțime de alte liste și autorul încurajează cu tărie ca indivizii să caute mai multe/alte liste. Să continuăm totuși cu sarcinile de configurare.

Primul pas este să accesați din nou meniul de configurare al pfBlockerNG prin „Firewall->pfBlockerNG->DSNBL”.

Odată pe pagina de configurare DNSBL din nou, faceți clic pe textul „Feeduri DNSBL”, apoi faceți clic pe butonul „Adăugați” odată ce pagina se reîmprospătează.

Butonul de adăugare va permite administratorului să adauge mai multe liste de adrese IP proaste sau nume DNS la software-ul pfBlockerNG (cele două elemente aflate deja în listă sunt ale autorului de la testare). Butonul de adăugare aduce administratorul la o pagină în care listele DNSBL pot fi adăugate la firewall.

Setările importante din această ieșire sunt următoarele:

  • Nume grup DNS – ales de utilizator
  • Descriere – utilă pentru organizarea grupurilor
  • Setări DNSBL – Acestea sunt listele reale
    • Stat – Dacă sursa este utilizată sau nu și cum este obținută
    • Sursa – Linkul/sursa Listei negre DNS
    • Header/Label – Alegerea utilizatorului; fara caractere speciale
  • Acțiune listă – Setați la Unbound
  • Frecvența actualizării – cât de des ar trebui să fie actualizată lista

După ce aceste setări au fost setate, faceți clic pe butonul Salvați din partea de jos a paginii. Ca și în cazul oricăror modificări aduse pfBlockerNG, modificările vor intra în vigoare la următorul interval cron programat sau administratorul poate forța manual o reîncărcare navigând la fila „Actualizare”, dați clic pe „Reîncărcați<”, apoi faceți clic pe butonul radio „Toate”. După ce acestea sunt selectate, faceți clic pe butonul „Run”.

Urmăriți fereastra de jurnal de mai jos pentru eventuale erori. Dacă totul a mers conform planului, testați dacă listele funcționează pur și simplu încercând să faceți o căutare n de la un client din partea LAN către unul dintre domeniile enumerate într-unul dintre fișierele text utilizate în configurația DNSBL.

După cum se poate vedea în rezultatul de mai sus, dispozitivul pfSense returnează adresa IP virtuală care a fost configurată în pfBlockerNG ca IP proastă pentru domeniile din lista neagră.

În acest moment, administratorul poate continua reglarea listelor adăugând mai multe liste sau creând liste de domenii/IP personalizate. pfBlockerNG va continua să redirecționeze aceste domenii restricționate către o adresă IP falsă.

Vă mulțumim că ați citit acest articol despre pfBlockerNG. Vă rugăm să vă arătați aprecierea sau sprijinul pentru software-ul pfSense, precum și pentru pfBlockerNG, contribuind oricum posibil la dezvoltarea continuă a acestor două produse minunate. Ca întotdeauna, vă rugăm să comentați mai jos cu orice sugestii sau întrebări!