Ricerca nel sito web

Installa e configura pfBlockerNg per la lista nera DNS nel firewall pfSense


In un articolo precedente è stata discussa l'installazione di una potente soluzione firewall basata su FreeBSD nota come pfSense. pfSense, come menzionato nell'articolo precedente, è una soluzione firewall molto potente e flessibile che può utilizzare un vecchio computer che potrebbe essere in giro senza fare molto.

Questo articolo parlerà di un meraviglioso pacchetto aggiuntivo per pfsense chiamato pfBlockerNG.

pfBlockerNG è un pacchetto che può essere installato in pfSense per fornire all'amministratore del firewall la possibilità di estendere le capacità del firewall oltre il tradizionale firewall stateful L2/L3/L4.

Man mano che le capacità degli aggressori e dei criminali informatici continuano a progredire, altrettanto devono fare le difese messe in atto per contrastare i loro sforzi. Come per qualsiasi cosa nel mondo informatico, non esiste un’unica soluzione che risolva tutti i prodotti disponibili.

pfBlockerNG fornisce a pfSense la capacità del firewall di prendere decisioni di autorizzazione/negazione basate su elementi come la geolocalizzazione di un indirizzo IP, il nome di dominio di una risorsa o le valutazioni Alexa di particolari siti Web.

La possibilità di limitare elementi come i nomi di dominio è molto vantaggiosa in quanto consente agli amministratori di contrastare i tentativi dei computer interni di connettersi a domini noti come dannosi (in altre parole, domini che potrebbero essere noti per contenere malware, contenuti illegali o altri dati insidiosi).

Questa guida illustra la configurazione di un dispositivo firewall pfSense per utilizzare il pacchetto pfBlockerNG, nonché alcuni esempi di base di elenchi di blocchi di domini che possono essere aggiunti/configurati nello strumento pfBlockerNG.

Requisiti

Questo articolo farà un paio di ipotesi e si baserà sull'articolo di installazione precedente su pfSense. Le ipotesi saranno le seguenti:

  • pfSense è già installato e non ha regole attualmente configurate (pulisci l'ardesia).
  • Il firewall ha solo una porta WAN e una porta LAN (2 porte).
  • Lo schema IP utilizzato sul lato LAN è 192.168.0.0/24.

Va notato che pfBlockerNG può essere configurato su un firewall pfSense già in esecuzione/configurato. La ragione di queste ipotesi qui è semplicemente per motivi di sanità mentale e molte delle attività che verranno completate possono ancora essere eseguite su una scatola pfSense non pulita.

Diagramma del laboratorio

L'immagine seguente è il diagramma di laboratorio per l'ambiente pfSense che verrà utilizzato in questo articolo.

Installa pfBlockerNG per pfSense

Con il laboratorio pronto, è ora di iniziare! Il primo passo è connettersi all'interfaccia web per il firewall pfSense. Anche in questo caso l'ambiente di laboratorio utilizza la rete 192.168.0.0/24 con il firewall che funge da gateway con un indirizzo 192.168.0.1. Utilizzando un browser Web e accedendo a "https://192.168.0.1" verrà visualizzata la pagina di accesso di pfSense.

Alcuni browser potrebbero lamentarsi del certificato SSL, questo è normale poiché il certificato è autofirmato dal firewall pfSense. È possibile accettare in tutta sicurezza il messaggio di avviso e, se lo si desidera, è possibile installare un certificato valido firmato da una CA legittima, ma va oltre lo scopo di questo articolo.

Dopo aver fatto clic su "Avanzate" e quindi su "Aggiungi eccezione...", fai clic per confermare l'eccezione di sicurezza. Verrà quindi visualizzata la pagina di accesso di pfSense che consentirà all'amministratore di accedere all'appliance firewall.

Una volta effettuato l'accesso alla pagina principale di pfSense, fai clic sul menu a discesa "Sistema" e quindi seleziona "Gestione pacchetti".

Facendo clic su questo collegamento si passerà alla finestra del gestore pacchetti. La prima pagina da caricare conterrà tutti i pacchetti attualmente installati e sarà vuota (anche in questo caso questa guida presuppone un'installazione pulita di pfSense). Fare clic sul testo "Pacchetti disponibili" per visualizzare un elenco di pacchetti installabili per pfSense.

Una volta caricata la pagina "Pacchetti disponibili", digita "pfblocker" nella casella "Termine di ricerca" e fai clic su "Cerca'. Il primo elemento restituito dovrebbe essere pfBlockerNG. Individua il pulsante "Installa" a destra della descrizione di pfBlockerNG e fai clic su "+" per installare il pacchetto.

La pagina verrà ricaricata e richiederà all'amministratore di confermare l'installazione facendo clic su "Conferma".

Una volta confermato, pfSense inizierà ad installare pfBlockerNG. Non uscire dalla pagina di installazione! Attendi finché la pagina non visualizza l'installazione riuscita.

Una volta completata l'installazione si può iniziare la configurazione di pfBlockerNG. La prima attività che deve essere completata sono alcune spiegazioni su cosa accadrà una volta configurato correttamente pfBlockerNG.

Una volta configurato pfBlockerNG, le richieste DNS per i siti Web dovrebbero essere intercettate dal firewall pfSense che esegue il software pfBlockerNG. pfBlockerNG avrà quindi elenchi aggiornati di domini dannosi noti mappati su un indirizzo IP non valido.

Il firewall pfSense deve intercettare le richieste DNS per poter filtrare i domini dannosi e utilizzerà un risolutore DNS locale noto come UnBound. Ciò significa che i client sull'interfaccia LAN devono utilizzare il firewall pfSense come risolutore DNS.

Se il client richiede un dominio presente negli elenchi di blocco di pfBlockerNG, pfBlockerNG restituirà un indirizzo IP falso per il dominio. Iniziamo il processo!

pfBlockerNG Configurazione per pfSense

Il primo passo è abilitare il risolutore UnBound DNS sul firewall pfSense. Per fare ciò, fai clic sul menu a discesa "Servizi" e seleziona "Risolutore DNS".

Quando la pagina si ricarica, le impostazioni generali del risolutore DNS saranno configurabili. La prima opzione che deve essere configurata è la casella di controllo "Abilita risolutore DNS".

Le impostazioni successive consistono nell'impostare la porta di ascolto DNS (normalmente la porta 53), impostare le interfacce di rete su cui dovrebbe essere in ascolto il risolutore DNS (in questa configurazione, dovrebbero essere la porta LAN e Localhost), quindi impostare la porta di uscita (dovrebbe essere WAN in questa configurazione).

Una volta effettuate le selezioni, assicurati di fare clic su "Salva" nella parte inferiore della pagina, quindi fai clic sul pulsante "Applica modifiche" che verrà visualizzato nella parte superiore la pagina.

Il passaggio successivo è il primo passo nella configurazione specifica di pfBlockerNG. Passare alla pagina di configurazione di pfBlockerNG nel menu "Firewall" e quindi fare clic su "pfBlockerNG".

Una volta caricato pfBlockerNG, fai prima clic sulla scheda "DNSBL" per iniziare a configurare gli elenchi DNS prima di attivare pfBlockerNG.

Quando viene caricata la pagina "DNSBL", ci sarà una nuova serie di menu sotto i menu pfBlockerNG (evidenziati in verde sotto). Il primo elemento da risolvere è la casella di controllo "Abilita DNSBL" (evidenziata in verde di seguito).

Questa casella di controllo richiederà l'utilizzo del risolutore UnBound DNS sulla casella pfSense per ispezionare le richieste DNS dai client LAN. Non preoccuparti, UnBound è stato configurato in precedenza, ma questa casella dovrà essere selezionata! L'altro elemento che deve essere compilato in questa schermata è "IP virtuale DNSBL".

Questo IP deve trovarsi nell'intervallo della rete privata e non un IP valido sulla rete in cui viene utilizzato pfSense. Ad esempio, una rete LAN su 192.168.0.0/24 potrebbe utilizzare un IP di 10.0.0.1 poiché è un IP privato e non fa parte della rete LAN.

Questo IP verrà utilizzato per raccogliere statistiche e monitorare i domini rifiutati da pfBlockerNG.

Scorrendo la pagina, ci sono alcune altre impostazioni che vale la pena menzionare. La prima è l'Interfaccia di ascolto DNSBL'. Per questa configurazione e per la maggior parte delle configurazioni, questa impostazione deve essere impostata su "LAN".

L'altra impostazione è "Elenca azioni" in "Impostazioni firewall IP DNSBL". Questa impostazione determina cosa dovrebbe accadere quando un feed DNSBL fornisce indirizzi IP.

Le regole pfBlockerNG possono essere impostate per eseguire un numero qualsiasi di azioni, ma molto probabilmente "Nega entrambe" sarà l'opzione desiderata. Ciò impedirà le connessioni in entrata e in uscita all'IP/dominio sul feed DNSBL.

Una volta selezionati gli elementi, scorri fino alla fine della pagina e fai clic sul pulsante "Salva". Una volta ricaricata la pagina, è il momento di configurare gli elenchi di blocchi DNS da utilizzare.

pfBlockerNG fornisce all'amministratore due opzioni che possono essere configurate indipendentemente o insieme a seconda delle preferenze dell'amministratore. Le due opzioni sono feed manuali da altre pagine web o EasyList.

Per saperne di più sulle diverse EasyList, visita la home page del progetto: https://easylist.to/

Configura pfBlockerNG EasyList

Discutiamo e configuriamo prima le EasyList. La maggior parte degli utenti domestici troverà questi elenchi sufficienti e meno onerosi dal punto di vista amministrativo.

Le due EasyList disponibili in pfBlockerNG sono "EasyList w/o Element Hiding" e "EasyPrivacy". Per utilizzare uno di questi elenchi, fai prima clic su "DNSBL EasyList" nella parte superiore della pagina.

Una volta ricaricata la pagina, verrà resa disponibile la sezione di configurazione EasyList. Sarà necessario configurare le seguenti impostazioni:

  • Nome gruppo DNS: scelta dell'utente ma senza caratteri speciali
  • Descrizione: scelta dell'utente, caratteri speciali consentiti
  • Stato feed EasyList: indica se viene utilizzato l'elenco configurato
  • EasyList Feed – È possibile aggiungere quale elenco utilizzare (EasyList o EasyPrivacy)
  • Intestazione/Etichetta: scelta dell'utente ma senza caratteri speciali

La sezione successiva viene utilizzata per determinare quali parti degli elenchi verranno bloccate. Anche in questo caso queste sono tutte preferenze dell'utente e se lo si desidera è possibile selezionarne più di una. Le impostazioni importanti in "DNSBL – Impostazioni EasyList" sono le seguenti:

  • Categorie: è possibile selezionare la preferenza dell'utente e più opzioni
  • Azione elenco: deve essere impostato su "Non associato" per poter ispezionare le richieste DNS
  • Frequenza di aggiornamento: la frequenza con cui pfSense aggiornerà l'elenco dei siti dannosi

Una volta configurate le impostazioni di EasyList in base alle preferenze dell'utente, assicurati di scorrere fino alla fine della pagina e fare clic sul pulsante "Salva". Una volta ricaricata la pagina, scorri fino alla parte superiore della pagina e fai clic sulla scheda "Aggiorna".

Una volta nella scheda di aggiornamento, seleziona il pulsante di opzione "Ricarica", quindi seleziona il pulsante di opzione "Tutti". Verranno eseguiti una serie di download Web per ottenere gli elenchi di blocco selezionati in precedenza nella pagina di configurazione EasyList.

Questa operazione deve essere eseguita manualmente altrimenti gli elenchi non verranno scaricati fino all'attività cron pianificata. Ogni volta che vengono apportate modifiche (elenchi aggiunti o rimossi), assicurarsi di eseguire questo passaggio.

Guarda la finestra di registro qui sotto per eventuali errori. Se tutto è andato secondo i piani, le macchine client sul lato LAN del firewall dovrebbero essere in grado di interrogare il firewall pfSense per individuare siti dannosi noti e ricevere in cambio indirizzi IP errati. Anche in questo caso le macchine client devono essere impostate per utilizzare la casella pfsense come risolutore DNS!

Notare nel nslookup sopra che l'URL restituisce il falso IP configurato in precedenza nelle configurazioni pfBlockerNG. Questo è il risultato desiderato. Ciò comporterebbe che qualsiasi richiesta all'URL "100pour.com" venga indirizzata al falso indirizzo IP 10.0.0.1.

Configura feed DNSBL per pfSense

A differenza delle AdBlock EasyList, all'interno di pfBlockerNG esiste anche la possibilità di utilizzare altre liste nere DNS. Esistono centinaia di elenchi utilizzati per tenere traccia del comando e controllo di malware, spyware, adware, nodi Tor e tutti i tipi di altri elenchi utili.

Questi elenchi possono spesso essere inseriti in pfBlockerNG e utilizzati anche come ulteriori liste nere DNS. Ci sono alcune risorse che forniscono elenchi utili:

  • 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

I collegamenti sopra forniscono discussioni sul forum di pfSense in cui i membri hanno pubblicato un'ampia raccolta degli elenchi che utilizzano. Alcuni degli elenchi preferiti dell'autore includono quanto segue:

  • 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

Anche in questo caso ci sono tonnellate di altri elenchi e l'autore incoraggia fortemente le persone a cercare altri/altri elenchi. Continuiamo però con le attività di configurazione.

Il primo passo è accedere nuovamente al menu di configurazione di pfBlockerNG tramite 'Firewall' -> 'pfBlockerNG' -> 'DSNBL'.

Una volta nuovamente nella pagina di configurazione DNSBL, fai clic sul testo "Feed DNSBL" e quindi fai clic sul pulsante "Aggiungi" una volta aggiornata la pagina.

Il pulsante Aggiungi consentirà all'amministratore di aggiungere più elenchi di indirizzi IP o nomi DNS errati al software pfBlockerNG (i due elementi già nell'elenco appartengono al test dell'autore). Il pulsante Aggiungi porta l'amministratore a una pagina in cui gli elenchi DNSBL possono essere aggiunti al firewall.

Le impostazioni importanti in questo output sono le seguenti:

  • Nome gruppo DNS: scelto dall'utente
  • Descrizione: utile per mantenere i gruppi organizzati
  • Impostazioni DNSBL: questi sono gli elenchi effettivi
    • Stato: se la fonte viene utilizzata o meno e come viene ottenuta
    • Origine: il collegamento/l'origine della lista nera DNS
    • Intestazione/Etichetta: scelta dell'utente; nessun carattere speciale
  • Azione elenco: imposta su Non associato
  • Frequenza di aggiornamento: la frequenza con cui l'elenco deve essere aggiornato

Una volta impostate queste impostazioni, fai clic sul pulsante Salva in fondo alla pagina. Come per qualsiasi modifica a pfBlockerNG, le modifiche avranno effetto al successivo intervallo cron pianificato oppure l'amministratore può forzare manualmente un ricaricamento accedendo alla scheda "Aggiorna", facendo clic su "Ricarica<"", quindi fai clic sul pulsante di opzione "Tutti". Una volta selezionati, fai clic sul pulsante "Esegui".

Guarda la finestra di registro qui sotto per eventuali errori. Se tutto è andato secondo i piani, verifica che gli elenchi funzionino semplicemente tentando di eseguire un nslookup da un client sul lato lan a uno dei domini elencati in uno dei file di testo utilizzati nella configurazione DNSBL.

Come si può vedere nell'output sopra, il dispositivo pfSense restituisce l'indirizzo IP virtuale configurato in pfBlockerNG come IP errato per i domini della lista nera.

A questo punto l'amministratore può continuare a ottimizzare gli elenchi aggiungendo altri elenchi o creando elenchi di domini/IP personalizzati. pfBlockerNG continuerà a reindirizzare questi domini limitati a un indirizzo IP falso.

Grazie per aver letto questo articolo su pfBlockerNG. Mostra il tuo apprezzamento o supporto per il software pfSense e pfBlockerNG contribuendo in ogni modo possibile allo sviluppo continuo di entrambi questi meravigliosi prodotti. Come sempre, commentate qui sotto con eventuali suggerimenti o domande!