Cum să configurezi filtrarea IP și „DNS Blackholing” pe pfSense folosind pfBlockerNG

Marc Dahan

By Marc Dahan . 27 august 2023

Jurnalist în securitate cibernetică

Miklos Zoltan

Fact-Checked this

pfSense este o soluție de firewall/router open-source extrem de puternică. Bazat pe FreeBSD, pfSense pune un accent puternic pe securitate. Chiar și într-o configurație „standard”, pfSense va fi mult mai sigur decât orice router pe care l-ai putea cumpăra.

În configurația sa inițială, pfSense oferă multe unelte pentru a-ți personaliza rețeaua securizată. Dar, pe lângă instrumentele sale implicite, pfSense găzduiește și un depozit de pachete suplimentare pe care le poți instala pentru a îmbunătăți și mai mult configurarea ta.

În această postare, ne vom concentra pe pfBlockerNG. pfBlockerNG este un pachet opțional disponibil pentru pfSense. Ceea ce face pfBlockerNG este, în esență, extinderea funcționalității firewall-ului pfSense, oferindu-ți posibilitatea de a regla cu precizie conexiunile de intrare și ieșire folosind listele de blocare IP și DNS.

Ghid asociat: Cum să blochezi reclamele pe toate dispozitivele tale cu pfSense, Squid & SquidGuard

Rezumat scurt al articolului:
pfSense este o soluție robustă de firewall/router bazată pe FreeBSD, oferind un nivel mai ridicat de securitate decât routerele gata fabricate.
În plus față de instrumentele sale standard, pfSense oferă pachete adiționale precum pfBlockerNG, care îmbunătățește funcționalitatea firewall-ului permițând ajustarea fină a conexiunilor de intrare și ieșire folosind listele de blocare IP și DNS.

Cele două funcții principale ale pfBlockerNG includ filtrarea traficului de intrare și ieșire împotriva listelor IP și aplicarea restricțiilor GeoIP, precum și blocarea reclamelor și a site-urilor dăunătoare prin filtrarea DNS.

Verificând cererile DNS împotriva listelor de blocare, pfBlockerNG previne accesul la conținut dăunător și servește drept o soluție eficientă de blocare a reclamelor fără nevoia unui server proxy.

Cum să configurezi filtrarea IP

Ce este pfBlockerNG?

pfBlockerNG are două funcționalități principale:

Filtrarea traficului de intrare și ieșire

pfBlockerNG poate filtra traficul de intrare și ieșire în funcție de listele IP și poate aplica restricții GeoIP permițând sau negând traficul către/dinspre anumite țări. Această ultimă funcționalitate poate fi foarte utilă dacă deschizi porturi pe WAN-ul tău.

Blocarea reclamelor și a site-urilor dăunătoare prin „DNS Blackholing”

pfBlockerNG poate bloca reclamele și accesul la site-uri dăunătoare prin filtrarea DNS. Navigând pe web, cererile tale DNS sunt verificate față de o listă de blocare. Dacă există o potrivire, cererea este blocată. Este o metodă excelentă de a bloca reclamele fără a utiliza un server proxy.

Vom analiza ambele scenarii și vom detalia mai mult pe măsură ce abordăm fiecare dintre ele.

Acest ghid presupune că ai configurat deja pfSense cu interfețe WAN și LAN funcționale.

pfSense cu interfețe WAN și LAN funcționale

Hai să începem.

Instalarea pfBlockerNG-devel

Primul lucru pe care trebuie să-l facem este să instalăm pfBlockerNG.

  1. Din meniul de sus, selectează Sistem > Manager Pachete. Vei fi redirecționat către fila Pachete Instalate a Managerului de Pachete.
    instalare pfBlockerNG.
  2. Selectează Pachete Disponibile. Lista cu pachetele disponibile va fi afișată.
    Pasul 2 pentru Instalarea pfBlockerNG
  3. Derulează în jos până vezi pfBlockerNG. Există două intrări pentru pfBlockerNG: pfBlockerNG și pfBlockerNG-devel. Vom instala pfBlockerNG-devel. Deși sufixul „devel” se referă la versiunea de dezvoltare (adică software beta), este complet funcțional și activ dezvoltat. Va fi considerat perpetuu ca fiind beta deoarece dezvoltatorul pachetului consideră că este mai sigur să-l trateze ca software beta în timp ce adaugă continuu noi funcționalități la pachet.
    Instalarea pfBlockerNG-devel
  4. Click pe Instalează, alături de pfBlockerNG-devel. Fereastra Instalator Pachet va fi afișată.
  5. Click pe Confirmă. Instalarea începe.
    pfBlockerNG-devel
  6. Odată ce instalarea este finalizată, ar trebui să vezi cuvântul Succes în partea de jos a ferestrei Instalator Pachet. pfBlockerNG-devel este acum instalat.

    pfBlockerNG-devel

Configurare de bază

Acum că pfBlockerNG-devel este instalat, trebuie să configurăm pachetul nostru. Vom începe cu filtrarea IP și GeoIP.

Vom configura secțiunea pfBlockerNG pas cu pas. Orice setări care nu sunt menționate ar trebui lăsate la valorile lor implicite.

  1. Din meniul de sus, selectați Firewall > pfBlockerNG. Se afișează asistentul de configurare pfBlocker.
    Configurare de bază pfBlockerNG
  2. Puteți rula asistentul de configurare sau configura manual pfBlockerNG. Noi vom configura manual, așa că puteți da click pe cuvântul roșu AICI pentru a închide asistentul. Veți fi redirecționat către pagina General a setărilor pfBlocker.
    Pagina de Configurare pfBlockerNG

General / Setări Generale

  1. Bifați caseta Activează afișată în dreapta pfBlockerNG. Acest lucru activează serviciul.
  2. Dați click pe Salvează în partea de jos a paginii.
  3. Vom lăsa celelalte setări de pe această pagină la valorile lor implicite.

Activează pfBlockerNG

Filtrare IPv4

IP / Configurare IP

  1. Selectați fila IP pentru a accesa pagina cu setările IP. Nu atingeți sub-meniuile care apar dedesubt pentru moment.
  2. Activați De-Duplicare. Aceasta va elimina intrările duplicate dacă utilizați mai multe surse IP.
  3. Activați Agregarea CIDR.
  4. Activați Suprimarea. Suprimarea se asigură că subrețelele locale nu sunt blocate.

Configurare IP / IP

IP / Configurare MaxMind GeoIP

După cum am menționat mai sus, funcția GeoIP a pfBlockerNG vă permite să filtrați traficul către și dinspre întregi țări sau continente. Pentru a face acest lucru, pfBlocker folosește baza de date MaxMind GeoIP, care necesită o cheie de licență. Un link în descrierea câmpului Cheia de Licență MaxMind vă duce la pagina de înregistrare MaxMind. Cheia de licență MaxMind este gratuită.

Completați formularul de înregistrare pentru a obține cheia dvs. de licență. Odată ce aveți cheia dvs. de licență, introduceți-o în câmpul Cheia de Licență MaxMind.

Configurare MaxMind GeoIP

Și:

Înregistrare MaxMind

IP / Configurare Interfețe/Reguli IP

Această secțiune determină pe care interfață(e) intrare și ieșire se aplică filtrarea pfBlockerNG’s IPv4, IPv6 și GeoIP.

  1. Selectați WAN din câmpul Reguli de Firewall pentru Intrare (și orice alte interfețe WAN pe care le aveți și doriți să le filtrați).
  2. Selectați LAN din câmpul Reguli de Firewall pentru Ieșire (și orice alte interfețe de tip LAN pe care le aveți și doriți să le filtrați).
  3. Activați Reguli Plutitoare. Regulile plutitoare sunt reguli speciale de firewall aplicate înaintea regulilor obișnuite de firewall. Acest lucru asigură că filtrarea pfBlockerNG are loc imediat ce traficul ajunge la firewall. Alt avantaj este că pfBlockerNG va crea automat regulile plutitoare pentru dvs.
  4. Click pe Salvează la partea de jos a paginii.

Configurare Interfață pfBlockerNG

Adăugarea Feed-urilor IPv4

A venit timpul să adăugăm niște liste de blocare în pfBlockerNG. Deși puteți adăuga feed-uri personalizate, pfBlockerNG are anumite feed-uri integrate pe care le putem activa (termenii listă și feed sunt interschimbabili în acest context).

Acest lucru este foarte practic, deoarece căutarea listelor de blocare pe internet durează și multe dintre ele nu funcționează sau nu mai sunt întreținute. Feed-urile din pfBlocker sunt liste active care sunt actualizate regulat, așa că le vom folosi.

  1. Selectați fila Feeds.
  2. Click pe simbolul + albastru, lângă PRI1. Este prima listare. PRI1 este o colecție de feed-uri, deci include mai multe, cum vom vedea într-un moment. Odată ce faceți click pe + albastru, veți fi redirecționat către pagina IP / IPv4, unde sunt listate feed-urile selectate. Și aproape toate câmpurile relevante sunt completate automat.

Tab pfBlockerNG Feeds

IP / IPv4

Numele colecției de feed-uri este completat împreună cu descrierea sa. URL-urile de feed incluse în colecție și descrierile asociate sunt, de asemenea, populate. Cu toate acestea, feed-urile noastre sunt setate în mod implicit pe OFF. Trebuie să le activăm.

Liste pfBlockerNG IPv4

Dar înainte de asta, trebuie să ștergem unul dintre feed-urile din colecția PRI1. Pulsedive, al 7-lea feed de la început, este o listă premium care necesită o cheie API plătită. Nu vom obține cheia API pentru acest tutorial. Click pe butonul Șterge.

Șterge Feed

  1. După ce ați șters Pulsedive, setați toate feed-urile pe ON.
    Liste Activate
  2. Derulați în jos până la secțiunea Setări a paginii.
  3. Din meniul derulant Acțiune, selectați Respinge Ambele. Acest lucru va bloca traficul către și dinspre adresele IP din liste/feed-uri. Puteți alege să refuzați doar conexiunile de intrare sau de ieșire, dacă doriți. Aveți grijă că, dacă refuzați doar traficul de intrare și un host din rețeaua dvs. inițiază o conexiune de ieșire către una dintre acele IP-uri, răspunsul de intrare de la acel IP va fi permis. Acest lucru poate fi acceptabil în funcție de mediul dvs. – dar fiți precauți. Pentru acest exemplu, voi selecta Respinge Ambele.
    Respingere Ambelor IP-uri
  4. Click pe Salvează Setările IPv4 la partea de jos a paginii.

Puteți repeta aceiași pași pentru IPv6 dacă ISP-ul dvs. atribuie o adresă IP IPv4 și una IPv6 pentru WAN. Majoritatea dintre noi suntem încă pe rețele doar cu IPv4.

Filtrare GeoIP

Înainte de a configura filtrarea GeoIP, trebuie mai întâi să forțăm o actualizare a pfBlockerNG. pfBlocker se actualizează automat la intervale fixe. Dar pentru a configura filtrarea GeoIP, pfBlocker trebuie să descarce mai întâi baza de date MaxMind, și o actualizare forțată va face exact acest lucru.

  1. Selectați fila Actualizare din setările pfBlockerNG.
  2. Faceți clic pe Execută. Actualizarea începe.
    Setări Actualizare GeoIP
  3. Odată ce actualizarea este completă, ar trebui să vedeți PROCESUL DE ACTUALIZARE S-A ÎNCHEIAT în partea de jos a ferestrei Log, sub Setări Actualizare.
    Procesul de Actualizare GeoIP S-a Încheiat
  4. Examinând fereastra Log, putem vedea că atât feed-urile mele IPv4 cât și baza de date GeoIP au fost actualizate.
    Log-uri IPv4

    Log-uri IPv4

    Log-uri GeoIP

    Log-uri GeoIP

  5. Din fila IP din setările pfBlockerNG, selectați submeniul GeoIP. Sumarul GeoIP este afișat.
    Meniu GeoIP

Sumarul GeoIP constă în feed-uri de adrese IP organizate după continent, cu două categorii suplimentare: Top Spammers și Proxy și Satelit. Top Spammers este o listă cu țările cunoscute ca fiind o sursă frecventă de atacuri online. Iar Proxy și Satelit sunt furnizori cunoscuți de proxy și satelit anonimi.

Puteți filtra traficul către/dintr-un întreg continent sau puteți regla feed-ul selectând doar țările pe care doriți să le filtrați.

Personalizarea listelor de țări

  1. Faceți clic pe iconița stiloului din dreapta feed-ului pe care doriți să îl editați.
    Sumar GeoIP
  2. Selectați țările pe care doriți ca pfBlockerNG să le filtreze.
  3. Faceți clic pe Salvează în partea de jos a paginii.
    Pagina Sumar GeoIP

Configurarea blocării țărilor

  1. Reveniți la meniul GeoIP al setărilor pfBlocker.
  2. Așa cum am făcut cu listele IPv4, din meniul derulant Acțiune din dreapta fiecărui câmp, selectați fie Blochează Intrare, fie Blochează Ieșire, fie Blochează Ambele.
    Acțiune GeoIP

Acum, sunt anumite aspecte de luat în considerare. Dacă dorești să blochezi conexiunile ieșite către o țară sau continent, fă-o fără ezitare. Cu toate acestea, dacă te gândești să blochezi legăturile de intrare dintr-un guvern sau continent, reține că pfSense blochează implicit tot traficul de intrare nesolicitat pe WAN.

Asta înseamnă că, dacă nu ai porturi deschise pe WAN, blocarea țărilor sau continentelor este inutilă și va consuma memorie în zadar. Dacă ai porturi deschise pe WAN, asigură-te că nu blochezi conexiunile din țările pe care dorești să le permiți să se conecteze la port(urile) tale deschise.

Aliasurile sunt liste cu adrese IP care sunt native pentru pfSense. Folosind aliasuri, poți permite doar țărilor specifice pe care le-ai selectat să acceseze porturile tale deschise. Cu toate acestea, există o modalitate de a crea aliasuri personalizate din baza de date MaxMind GeoIP în pfBlockerNG care pot fi utilizate direct ca sursă în regulile tale de redirecționare a porturilor din firewall.

Crearea unui alias GeoIP în pfBlockerNG

Deoarece pfSense blochează automat orice trafic care nu este permis explicit în regulile firewall-ului, vrem să creăm un alias al țărilor pe care le vom permite prin firewall. pfSense va bloca restul implicit.

  1. Mergi la sub-meniu IPv4 și apasă Adaugă.
    Adaugă Alias Personalizat
  2. Dă-i aliasului tău un nume și o descriere.
  3. Setează câmpul Format la GeoIP.
  4. Setează câmpul Stare la ACTIVAT.
  5. Setează Acțiunea ca Alias Native.

  6. Introdu primele litere ale țării pe care dorești să o adaugi la alias. Selectează țările pe care vrei să le adaugi la alias. Lista țărilor apare.
    Începe să Scrii Aliasul Personalizat
  7. Poți adăuga mai multe țări la aliasul tău apăsând butonul verde Adaugă.
    Adaugă Țări
  8. Setează Frecvența de Actualizare la O dată pe zi.
  9. Apasă Salvează Setările IPv4 în partea de jos a paginii. Odată ce forțezi o actualizare a pfBlockerNG, aliasul tău va fi disponibil pentru includere în regulile firewall-ului.
    Setările Aliasului Personalizat

Dacă ai porturi deschise, dar dorești să menții totul simplu, poți bloca conexiunile de intrare de la Top Spammers și Proxy și Satelit fără a crea un alias personalizat. Reține că aceasta este utilă doar dacă ai porturi deschise pe WAN.

Negați Spammerii și Sateliții

Dacă nu ai porturi deschise pe WAN, blochează doar traficul de ieșire sau lasă filtrarea GeoIP dezactivată.

Testarea filtrării IPv4

Pentru a ne asigura că traficul nostru este filtrat, putem încerca să ne conectăm la o adresă IP cunoscută din lista de blocare. Dacă încerc să accesez 1.13.9.177 (o adresă IP conținută în feedurile mele pfBlockerNG IPv4) în browserul meu, adresa IP nu este tradusă într-un nume de domeniu și nu pot să mă conectez. Asta este ceea ce dorim.

Test IPv4

Hai să trecem la configurarea DNSBL a pfBlocker.

DNSBL

Bine. Am configurat filtrarea IPv4, filtrarea GeoIP și alias-urile. E timpul să trecem la utilizarea pfBlockerNG pentru blocarea reclamelor. Blocarea reclamelor în pfBlockerNG se realizează prin intermediul „DNS blackholing” (găurilor negre DNS). Aceasta compară cererile tale DNS cu o listă de rețele de publicitate și urmăritori cunoscuți și le blochează la nivelul DNS atunci când există o potrivire, rezultând într-un internet fără reclame. Ura!

Pentru a utiliza funcția DNSBL în pfBlockerNG, trebuie să folosești DNS Resolver în pfSense pentru rezolvarea DNS. Acest lucru înseamnă că nu poți să atribui DNS gazdelor tale prin DHCP sau să folosești Forwarder-ul DNS (dnsmasq) dacă dorești să utilizezi funcția DNSBL.

În mod implicit, pfSense folosește DNS Resolver pe toate interfețele. Deci, dacă nu ai făcut nicio modificare la setările DNS Resolver, ești în regulă. Dacă ai făcut modificări, configurează Resolver-ul să se conecteze la rețeaua ta LAN (ieșire) și la WAN (intrare). Și selectează orice alte interfețe de tip LAN (OPT) și interfețe de tip WAN (configurare multi-WAN, gateway-uri VPN) pe care dorești ca DNSBL să le filtreze.

DNS Resolver

Configurarea DNSBL

  1. Selectează fila DNSBL.
  2. Activează DNSBL.
  3. Alături de Modul DNSBL, selectează Modul Python Unbound.
    DNSBL
  4. Derulează în jos până la secțiunea Configurare DNSBL.
  5. Activează Permite Reguli Firewall și selectează rețeaua ta LAN și orice alte interfețe de tip LAN pe care dorești să le filtrezi cu DNSBL. Aceasta va crea automat reguli flotante de firewall (așa cum am făcut cu filtrarea IPv4) astfel încât filtrarea DNSBL să aibă loc imediat ce traficul ajunge la firewall.
  6. Click pe Salvează setările DNSBL în partea de jos a paginii.
    Salvează setările DNSBL

Acum trebuie să adăugăm câteva fluxuri DNSBL.

Adăugarea fluxurilor DNSBL

  1. Selectează fila Feeds.
  2. Derulează în jos până vezi Categoria DNSBL în stânga. Primul astfel de element este EasyList.
  3. Click pe simbolul albastru + din stânga lui EasyList. Vei fi redirecționat la pagina Grupurile DNSBL, unde sunt listate fluxurile selectate, asemenea filtrării IPv4. Și aproape toate câmpurile relevante sunt completate automat.
    Fluxuri DNSBL
  4. Șterge toate fluxurile în afară de primul și ultimul: EasyList și EasyList Privacy.
  5. Setează fluxurile rămase pe ON.
    Listele DNSBL Active
  6. Derulează până la secțiunea Setări.
  7. Setează Acțiunea pe Unbound.
  8. Click pe simbolul + din dreapta Listei personalizate DNSBL. Se afișează fereastra Listei personalizate DNSBL.
  9. Introdu vungle.com în fereastra Listei personalizate DNSBL. Adăugăm acest domeniu pentru a ne asigura că filtrarea DNSBL funcționează încercând să accesăm un domeniu blocat cunoscut.
  10. Click pe Salvează setările DNSBL în partea de jos a paginii.
    Listele DNSBL Active

Forțarea unei actualizări a pfBlockerNG

Acum trebuie să forțăm o actualizare a pfBlockerNG, așa cum am făcut mai sus.

  1. Selectează fila Update. Vei fi redirecționat la pagina de actualizare a pfBlockerNG.
  2. Click pe Run. Actualizarea începe.
    Setări de Actualizare

Odată ce actualizarea este completă, putem vedea că fluxurile noastre DNSBL au fost actualizate.

Jurnal de Actualizare DNSBL

Testarea DNSBL

Pentru a ne asigura că filtrarea DNSBL funcționează, vom încerca să ne conectăm la domeniul pe care l-am adăugat la Lista personalizată DNSBL: vungle.com. Dacă încerc să accesez vungle.com în browserul meu, pagina de blocare DNSBL este afișată cu câteva informații utile.

Notă: DNSBL al pfBlocker include un mini server web care poate afișa această pagină de blocare. Filtrările IPv4, IPv6 și GeoIP extind funcționalitatea existentă a firewall-ului pfSense și blochează sau permit adrese IP fără a afișa o pagină de blocare.

Test DNSBL

Încheiere

Așadar, asta este. Ai instalat și configurat cu succes pfBlockerNG-devel în pfSense. Am configurat filtrarea IPv4, filtrarea GeoIP, precum și filtrarea DNSBL. Toate aceste trei crește securitatea și confidențialitatea rețelei tale fără a încetini conexiunea.

Pe măsură ce rețeaua ta se extinde, s-ar putea să ai nevoie să deschizi anumite porturi pe WAN dacă dorești să rulezi un server VPN sau dacă vrei să găzduiești un server web care să fie accesibil din internet. Când faci asta, pfBlockerNG va fi un instrument valoros în trusa ta de securitate pentru a-ți consolida rețeaua și a controla în detaliu accesul din exterior.

Relaționat: Cum să alegi cele mai bune VPN-uri

Leave a Comment