pfSense este un puternic sistem de operare open-source pentru router/firewall bazat pe FreeBSD. Imediat după instalare, pfSense dispune de unele instrumente solide care îți permit să construiești o rețea securizată.
Dar pfSense îți oferă și posibilitatea de a instala pachete din depozitul său oficial, pentru a adăuga și mai multă funcționalitate sistemului tău.
pfSense este un puternic sistem de operare open-source pentru router/firewall bazat pe FreeBSD. Imediat după instalare, pfSense vine cu unele instrumente robuste care îți permit să construiești o rețea securizată.
Totuși, pfSense îți permite și să instalezi pachete din depozitul său oficial, pentru a adăuga chiar și mai multă funcționalitate sistemului tău.
Un astfel de pachet se numește Squid. Squid este un proxy web de cache care poate efectua și filtrare de conținut. Să dezvoltăm puțin acest aspect și să oferim un context în jurul serverelor proxy și al utilizării lor.
Ghid relacionat: Cum să configurezi filtrarea IP și DNS Blackholing pe pfSense folosind pfBlockerNG
Am discutat despre rolul serverelor proxy în cache-ul conținutului și în filtrare, precum și despre cum să configurezi Squid și SquidGuard pe pfSense pentru a bloca reclamele.
Făcând aceasta, utilizatorii pot îmbunătăți securitatea și confidențialitatea, pot reduce consumul de lățime de bandă și pot crește viteza de încărcare a paginilor web.
Un server proxy este un server intermediar care se situează între dispozitivul tău (laptop, tabletă, smartphone) și destinația finală de internet (oricesite.com).
Traficul tău părăsește dispozitivul, se conectează la serverul proxy și apoi ajunge la destinația sa finală de la serverul proxy.
De ce să trimiți traficul prin serverul proxy? Există câteva motive. Unul dintre ele este pentru a memora în cache conținutul. Acest lucru înseamnă că serverul proxy va salva local unele conținute astfel încât data viitoare când un client solicită acel conținut, acesta va fi oferit din cache, în loc să meargă pe internet pentru a-l descărca din nou.
Acest lucru accelerează navigarea pe internet, deoarece preluarea conținutului din cache-ul local al proxy-ului este mult mai rapidă decât reinițierea unei descărcări pe internet.
Un alt scop este filtrarea conținutului. Filtrarea conținutului înseamnă blocarea conexiunilor către anumite domenii sau adrese IP. Organizațiile care blochează accesul la Facebook, de exemplu, efectuează filtrare de conținut.
Un alt scop pentru filtrarea conținutului este blocarea reclamelor. Reclamele online sunt enervante. Acestea încalcă confidențialitatea, consumă lățimea de bandă și sunt un vector major pentru malware. Există motive excelente pentru a dori să le elimini. Și asta vom face folosind Squid în acest articol.
Vom arăta cum să configurezi Squid și SquidGuard (SquidGuard este un component suplimentar al Squid care permite filtrarea bazată pe liste) pe pfSense pentru a bloca reclamele pe toate dispozitivele tale.
Acest ghid presupune că ai un sistem pfSense funcțional, configurat cu interfețe WAN și LAN funcționale și că ai acces la interfața grafică.
Primul lucru pe care trebuie să îl facem este instalarea serverului proxy Squid.
1. Din meniurile superioare, alegeți Sistem > Manager Pachete. Veți fi direcționat către fila Pachete Instalate a Managerului de Pachete.
2. Alegeți Pachete Disponibile. Lista cu pachete disponibile va fi afișată.
3. Derulați în jos până vedeți squid și dați click pe Instalează. Fereastra Instalator de Pachete va apărea.
4. Faceți click pe Confirmă. Instalarea începe.
5. După finalizarea instalării, ar trebui să vedeți Succes în partea de jos a ferestrei Instalator de Pachete. Squid este acum instalat.
Acum că Squid este instalat, vom configura noul nostru server proxy.
Din meniurile de sus, selectați Servicii > Server Proxy Squid. Veți fi direcționat către fila General a Setărilor Squid.
Vom aborda configurarea Squid secțiune cu secțiune. Scopul nostru este să setăm blocarea reclamelor cu Squid, așa că nu vom detalia fiecare sub-meniu. Doar cele necesare pentru a atinge obiectivul. Orice setări nemenționate ar trebui lăsate la valorile lor implicite.
Înainte de a configura Squid, trebuie mai întâi să mergem la fila Cache Local și să acceptăm setările implicite de cache local făcând clic pe Salvare în partea de jos a paginii.
Dacă încercați să configurați proxy-ul fără a accepta setările de cache locale implicite, vi se va solicita să o faceți și veți pierde setările configurate până în acel moment.
Dacă doriți să ajustați setările de cache local mai târziu, puteți face acest lucru din fila Setări Squid Cache Local.
Serverele proxy pot funcționa în două moduri: transparent sau explicit. În modul transparent, nu este necesară nicio configurare pe clienții dvs. (computer, tabletă, smartphone etc.) – traficul lor va fi dirijat transparent prin proxy.
Cu toate acestea, acest mod va direcționa doar traficul HTTP pe portul 80, nu și traficul HTTPS (dacă nu configurați filtrarea SSL Man In the Middle – mai multe despre asta mai jos). Deoarece majoritatea traficului de pe internet folosește HTTPS, modul transparent are un scop limitat pentru blocarea reclamelor, dar poate fi util pentru cache.
Modul explicit necesită configurarea fiecărui client pentru a „solicita” accesul la proxy. Și în acest mod, tot traficul de internet TCP este direcționat prin proxy (HTTP și HTTPS). Acesta este obiectivul nostru în acest ghid. Deci nu vom activa modul Transparent în acest ghid, dar puteți ajuta ambele moduri fără probleme.
După cum am menționat mai sus, este posibil să direcționați transparent conexiunile HTTPS. Dar pentru a face acest lucru, practic trebuie să întrerupeți HTTPS.
Squid poate înlocui certificatul SSL adecvat al site-ului pe care încercați să îl accesați cu propriul său certificat, decripta conexiunea și recripta-o cu certificatul său. Acest lucru vă permite să filtrați conexiunile SSL, dar, de asemenea, întrerupe validarea HTTPS care ar trebui să aibă loc în browserul dvs.
Nu recomand filtrarea SSL de tip Man In the Middle, decât în scopuri specifice, de către persoane care înțeleg ce fac. Vom lăsa această funcție dezactivată și ea.
Setările de aici sunt opționale, dar vor limita cantitatea de informații afișate în anteturile Squid.
Pentru a vedea ce putem bloca explicit cu Squid, trebuie să ne ducem la fila ACLs.
Putem observa că avem mai multe căsuțe pentru a defini diferite elemente pe care Squid să le filtreze. Să examinăm fiecare în parte.
Subneturi Permise
Puteți adăuga subneturi suplimentare pentru a trece prin proxy-ul Squid aici. Acest lucru este util pentru subneturile care nu sunt asociate cu o interfață pe sistem, cum ar fi IPSec. Nu este necesar să adăugați nimic aici în exemplul nostru.
IP-uri Ne-restricționate
Adresele IP listate aici nu vor avea traficul filtrat de serverul proxy.
Adrese IP Interzise
Adresele IP listate aici nu vor avea permisiunea de a folosi serverul proxy, chiar dacă subnetul lor este permis.
Listă Albă
Domeniile listate în căsuța Listă Albă vor fi disponibile pentru toate gazdele autorizate să folosească proxy-ul. Intrările din listă albă trec peste cele din listă neagră.
Listă Neagră
Domeniile listate în căsuța Listă Neagră vor fi inaccesibile pentru toate gazdele care au permisiunea de a folosi serverul proxy.
Blocare User Agents
Această căsuță este extrem de utilă pentru blocarea anumitor aplicații de la accesul la internet. Când o aplicație face o cerere pe internet, anteturile sale includ un câmp numit user agent. Acest user agent identifică aplicația folosită. De exemplu, user agent-ul Google Chrome este Chrome.
Inițial, user agenții erau folosiți pentru a identifica browserul web care face o cerere către un server, astfel încât serverul să știe cum să redacteze datele solicitate în acel browser specific. Dar acum utilizarea lor este generalizată pentru orice aplicație care face cereri pe internet.
Pentru a bloca un user agent în Squid, trebuie să îl prefixați cu „^” (fără ghilimele).
Astfel, listând ^Chrome în căsuța Blocare User Agent a Squid, se va bloca accesul Google Chrome la internet.
Listând ^Mozilla va bloca Firefox-ul de la accesul la internet. Listând ^WhatsApp va bloca WhatsApp de la accesul la internet.
User agenții sunt foarte specifici și nu sunt întotdeauna la fel de simpli ca exemplele de mai sus. Trebuie să cunoașteți user agent-ul exact pe care o aplicație îl folosește pentru a-l putea bloca aici.
Blocare Tipuri MIME (Doar Răspuns)
MIME în tipuri MIME reprezintă Multipurpose Internet Mail Extensions, care sunt folosite pentru a defini tipuri de fișiere în URL-uri. Tipurile MIME sunt structurate astfel:
tip/subtip
Astfel, adăugând audio/mpeg în căsuța Blocare Tipuri MIME se va bloca descărcarea fișierelor mp3. Adăugând image/png în căsuța Blocare Tipuri MIME se va bloca descărcarea imaginilor png.
Ca și în cazul user agenților, tipurile MIME sunt foarte specifice. Trebuie să introduceți tipul și subtipul exact pentru ca filtrarea să funcționeze în Squid.
Haideți să testăm instalarea Squid pentru a ne asigura că totul funcționează corect înainte de a trece la următorii pași. Vom introduce un domeniu în căsuța Listă Neagră pentru a vedea dacă Squid îl va bloca așa cum ne așteptăm.
Din fila ACLs a Setărilor Proxy Squid, introduceți facebook.com în căsuța Listă Neagră.
Faceți clic pe Salvează în partea de jos a paginii.
Mergeți la fila General a Setărilor Proxy Squid.
Bifați căsuța Activează Proxy Squid.
Faceți clic pe Salvează în partea de jos a paginii.
Serverul nostru proxy este acum activat și configurat pentru a bloca facebook.com.
Vom configura rapid browserul nostru web pentru a folosi serverul proxy și a vedea dacă funcționează corespunzător. Dacă totul este configurat corect, nu ar trebui să pot accesa facebook.com.
Faceți clic pe pictograma Setări din partea dreaptă sus a browserului și selectați Preferințe (pe Windows se numește Opțiuni). Veți fi redirecționat către pagina Setări Generale.
Derulați în jos pe pagina Setări Generale până la secțiunea Setări Rețea și faceți clic pe butonul Setări.
Selectați Configurare Manuală a Proxy-ului.
În căsuța Proxy HTTP, introduceți adresa IP a dispozitivului dvs. pfSense. În cazul meu, aceasta este 192.168.1.1.
Configurați câmpul Port la 3128.
Bifați căsuța Utilizați acest proxy și pentru FTP și HTTPS.
Faceți clic pe OK în partea de jos a ferestrei și închideți pagina Setări.
Acum, dacă încerc să accesez facebook.com (pe HTTP sau HTTPS), browserul meu afișează următoarea pagină:
Exact asta dorim.
Deci acum avem un server proxy funcțional configurat să blocheze facebook.com. Excelent. Totuși, dacă dorim să blocăm reclamele, va trebui să adăugăm mii și mii de domenii în căsuța Listă Neagră a Squid. Nu e chiar soluția ideală…
Aici intervine SquidGuard. SquidGuard este un modul adițional pentru Squid care poate gestiona filtrarea bazată pe liste.
Cu filtrarea bazată pe liste, introduceți URL-ul unei liste de domenii blocate, iar orice domenii care corespund cu cele de pe lista neagră sunt blocate.
Acum că serverul nostru proxy Squid de bază este activ și funcțional, vom continua cu instalarea și configurarea SquidGuard.
Deci acum avem un server proxy funcțional configurat să blocheze facebook.com. Excelent. Totuși, dacă dorim să blocăm reclamele, va trebui să adăugăm mii și mii de domenii în căsuța Listă Neagră a Squid. Nu e chiar soluția ideală…
Aici intervine SquidGuard. SquidGuard este un modul adițional pentru Squid care poate gestiona filtrarea bazată pe liste.
Cu filtrarea bazată pe liste, introduceți URL-ul unei liste de domenii blocate, iar orice domenii care corespund cu cele de pe lista neagră sunt blocate.
Acum că serverul nostru proxy Squid de bază este activ și funcțional, vom continua cu instalarea și configurarea SquidGuard.
Instalarea SquidGuard
1. Din meniurile superioare, selectați Sistem > Manager Pachete. Veți fi redirecționat către fila Pachete Instalate a Managerului de Pachete.
2. Selectați Pachete Disponibile. Lista cu pachetele disponibile va fi afișată.
3. Derulați în jos până vedeți SquidGuard și faceți clic pe Instalează. Fereastra Instalator de Pachete va fi afișată.
4. Faceți clic pe Confirmă. Instalarea începe.
5. Odată ce instalarea este finalizată, ar trebui să vedeți Succes în partea de jos a ferestrei Instalator de Pachete. SquidGuard este acum instalat.
SquidGuard este acum instalat. Să continuăm cu configurarea filtrării bazate pe liste.
Din meniurile superioare, selectați Servicii > Filtru Proxy SquidGuard. Vei fi redirecționat la fila General a Setărilor Filtrului Proxy SquidGuard.
Așa cum a fost cazul la configurarea Squid, vom discuta despre configurarea SquidGuard pas cu pas. Și, din nou, nu vom detalia fiecare sub-meniu, ci doar cele necesare pentru a atinge obiectivul nostru. Orice setări care nu sunt menționate ar trebui să rămână la valorile lor implicite.
Lăsați căsuța Activează nebifată pentru moment.
Bifați căsuța Curăță Publicitatea.
Bifați căsuța Listă Neagră.
Introduceți următorul URL în câmpul URL Listă Neagră: https://shallalist.de/Downloads/shallalist.tar.gz. Acesta este URL-ul listei noastre negre. SquidGuard va descărca această listă și ne va oferi diferite categorii de domenii pe care le putem alege să le permitem sau să le blocăm. Este disponibil gratuit și este oferit de Shalla Secure Services. Există și alte liste pe care le puteți utiliza, dar multe sunt cu plată. Folosesc Shallalist de mulți ani și funcționează foarte bine, fiind adesea actualizat, așa că îl recomand.
Faceți clic pe Salvează în partea de jos a paginii.
1. Accesați fila Listă Neagră din Setările Filtrului Proxy SquidGuard. URL-ul listei negre va fi afișat.
2. Faceți clic pe butonul Descarcă. Procesul de descărcare și analiză a listei negre va începe.
3. Odată finalizat, ar trebui să vedeți mesajul Actualizare listă neagră completă în partea de jos a ferestrei Jurnal de actualizare a Listei Negre.
1. Accesați fila ACL Comun din Setările Filtrului Proxy SquidGuard.
2. Faceți clic pe simbolul + de lângă Lista de Reguli Țintă. Lista de Reguli Țintă va fi afișată.
3. Prima intrare din listă este adv, care reprezintă reclamele. Din meniul derulant din dreapta acesteia, selectați Refuză.
4. Continuați să blocați orice alte categorii de conținut pe care doriți să le blocați.
5. După ce ați refuzat toate categoriile pe care doriți să le blocați, mergeți la baza listei și selectați Permite din meniul derulant lângă Acces Implicit.
6. Faceți clic pe Salvează în partea de jos a paginii.
7. Reveniți la fila General din Setările Filtrului Proxy SquidGuard, bifați caseta Activează și faceți clic pe Salvează în partea de jos a paginii.
Acum am configurat Squid cu filtrare pe baza listei negre. Dacă folosesc browser-ul meu, care este deja configurat să folosească proxy-ul, pentru a accesa o pagină web cunoscută pentru afișarea de reclame, acestea ar trebui să dispară.
Cu Squid activat:
Cu Squid dezactivat:
Funcționează. Asta e minunat. Dar, în configurația actuală, Squid va intercepta doar traficul browser-ului meu; astfel, voi beneficia de blocarea reclamelor în Squid doar în browser-ul meu.
Vă voi arăta cum să configurați întregul dispozitiv pentru a trimite tot traficul său prin serverul proxy. Acest lucru vă permite să beneficiați de blocarea reclamelor în aplicațiile voastre, nu doar în browser. Vă voi arăta cum să faceți acest lucru pe macOS, Windows, Linux, iOS și Android.
Să anulăm setările proxy manuale pe care le-am configurat în Firefox pentru a testa conexiunea noastră înainte de a seta dispozitivul client pentru o configurare proxy la nivel de sistem.
1. Reveniți la Setările de rețea în Firefox și selectați Folosește setările proxy ale sistemului. Această opțiune instruiește browser-ul să folosească setările de sistem ca setări proxy. Este setarea implicită.
2. Faceți clic pe OK și închideți pagina de Setări.
1. Din aplicația Preferințe Sistem, selectați Rețea.
2. Asigurați-vă că conexiunea curentă este selectată și faceți clic pe Avansat în dreapta jos.
3. Selectați fila Proxy-uri.
4. Bifați ambele casete Proxy web (HTTP) și Proxy web securizat (HTTPS).
5. Introduceți adresa IP a sistemului pfSense și portul proxy – 192.168.1.1 și 3128 în cazul meu.
6. Faceți clic pe OK și Aplică.
1. Deschideți aplicația Setări (combinția de taste Win+I).
2. Mergeți la Rețea și Internet.
3. Selectați fila Proxy.
4. Derulați în jos până la secțiunea Configurare proxy manuală.
5. Activați comutatorul Folosește un server proxy.
6. Introduceți adresa IP a sistemului pfSense și portul proxy – 192.168.1.1 și 3128 în cazul meu.
7. Faceți clic pe Salvează.
1. Din fereastra Setările de Rețea, selectați Proxy de rețea.
2. Selectați Manual din meniul derulant Metodă.
3. Introduceți adresa IP a sistemului pfSense și portul proxy – 192.168.1.1 și 3128 în cazul meu – lângă Proxy HTTP și Proxy HTTPS.
4. Închideți fereastra Setările de Rețea.
1. În Setări > WiFi, apăsați pe „i” situat la dreapta conexiunii dvs. WiFi.
2. Derulați în jos și selectați Configurare Proxy.
3. Alegeți Manual.
4. Introduceți adresa IP a sistemului pfSense și portul proxy – 192.168.1.1 și 3128 în cazul meu – lângă Server și Port.
5. Închideți aplicația Setări.
1. Din aplicația Setări, selectați WiFi.
2. Mențineți apăsată rețeaua WiFi la care sunteți conectat în prezent.
3. Selectați Modifică rețea.
4. Deschideți Opțiuni avansate.
5. Selectați Manual din meniul derulant Proxy.
6. Introduceți adresa IP a sistemului pfSense și portul proxy – 192.168.1.1 și 3128 în cazul meu – sub Nume gazdă Proxy și Port Proxy.
7. Faceți clic pe Salvează.
Rețineți că pentru a avea proxy-ul funcțional peste datele mobile pe iOS sau Android, va trebui să instalați un profil de gestionare a dispozitivelor mobile (MDM), care nu este tratat în acest ghid. Poate vom aborda acest subiect în viitor.
Acum aveți un server proxy funcțional cu filtrare prin lista neagră pe care îl puteți folosi pentru a bloca reclamele pe toate dispozitivele voastre. V-ați îmbunătățit securitatea și confidențialitatea eliminând anunțurile enervante care vă fură datele.
De asemenea, veți consuma mai puțină lățime de bandă. Și paginile dvs. web se vor încărca mai repede, deoarece reclamele nu vor mai trebui descărcate și redate. Dar și pentru că Squid cachează conținut pentru dvs. Astfel, conținutul pe care îl solicitați frecvent se va încărca mai rapid.
Bună treabă. Rămâneți în siguranță.