Endian Firewall – proteggiamo e monitoriamo l’accesso al Web

logo

Negli articoli precedenti abbiamo riportato alcuni consigli per l’installazione e la prima configurazione di Endian Firewall. Adesso configuriamo Endian Firewall per eseguire dei controlli sulla navigazione web. Vedremo come possiamo controllare la navigazione di tutti quei dispositivi di rete che avranno accesso ad internet passando da Endian Firewall.

Questo controllo può rispondere alle più svariate esigenze.

Alcuni campi di impiego: bloccare un determinato sito durante le ore di lavoro. Oppure ridurre al minimo  l’accesso a tutti quei siti che possono essere dannosi per il funzionamento dei computer, quindi siti contenenti malware.

Le regole descritte nella guida sono di esempio, per cui si consiglia di adattarli adeguatamente alle proprie esigenze, in ambienti di produzione.

Se vogliamo creare delle regole la prima cosa da fare è quella di attivare il proxy http.

proxy

Nella slide “escludi il proxy trasparente” possiamo inserire solamente indirizzi ip, non sono accettati domini (FQDN). Le reti presenti in questo campo vengono completamente bypassate dal proxy. Questo significa che non viene eseguito nessun tipo di controllo.

Adesso possiamo passare al tab policy di accesso.

proxy-policy

Come vediamo dal riepilogo iniziale , in questa configurazione di esempio, ci sono tre regole.

La prima regola ci riassume che non viene eseguito nessun controllo per le richieste provenienti dalla rete “green”(lan locale) destinazione “libero,virgilio.microsoft ecc” per qualsiasi utente, qualsiasi orario,qualsiasi programma utilizzato.

La seconda regola ci riassume: usa il filtro “contenet1” per le richieste provenienti dalla rete green per qualsiasi destinazione ,qualsiasi orario, da qualsiasi programma.

La terza regola è identica alla seconda ,ma utilizza il profilo “virus”. E’ attivo un antivirus che controlla la presenza di quest’ultimi nei file che transitano attraverso il proxy.

Facendo click su “aggiungi nuova policy” possiamo definire una nuova regola.

policy-source-destination1

Selezioniamo la zona di sorgente e destinazione. In questo esempio la sorgente è green destinazione “any”  internet. Se la nostra configurazione ha interfacce  diverse,come orange o blue 

potremmo definire le regole fra la rete ospiti e lan aziendale oppure fra internet e DMZ ecc.

policy-autenticazione-2

Il secondo campo ci chiede il tipo di autenticazione per poter navigare. In questo esempio avendo utilizzato un proxy trasparente non possiamo creare regole per utente. Se avessimo necessità di differenziare delle regole possiamo scegliere la sorgente, quindi invece delle rete green scegliere un ip specifico. Per regole basate per utente dobbiamo scegliere nel proxy un tipo di autenticazione che sia user locali, quindi utenti creati nel firewall oppure LDAP es dominio Active Directory Microsft.

policy-restrizione-tempo3

Qui possiamo scegliere l’orario in cui la regola si attiva.

Teoricamente potremmo fare un regola dove viene attivato un sito solo nella pausa pranzo e rimane interdetto negli altri orari.

policy-user-agent4

Qui possiamo decidere quale programma può utilizzare la regola. Esempio possiamo fare in modo che la regola precedente  possa essere valida solo si utilizza Opera e non se si utilizza Internet Explor. Per fare questo dovremmo selezionare nel menù di sinistra solo opera.

Se non selezioniamo niente non viene attivato questo controllo.

policy-5

Infine selezioniamo il tipo di regola, quindi se creare una regola di consenso o di negazione.

Infine decidiamo il profilo che verrà attivato e la posizione. In seguito a questo articolo vedremo come configurare il profilo, mentre per la posizione è necessaria subito una nota.

La posizione della regola è molto importante in quanto determina la priorità con cui il firewall controlla le richieste fatte dai client.

Facciamo un esempio,  creiamo una regola posizionata al primo posto. Impostiamo che tutti i computer possono navigare su qualsiasi sito in qualsiasi orario.

Successivamente facciamo una regola in posizione numero due impostiamo che tutti i computer non possono andare su sito pippo.it.

Nell’esempio sopra, il risultato sarà che tutti i computer potranno accedere a pippo.it. Questo perchè la prima regola permette loro di accedere quindi la richiesta prende questa strada senza nemmeno vedere cosa dice la seconda regola.

Adesso vediamo cosa possiamo configurare del profilo.

I primi valori impostiamo la frequenza di aggiornamento delle liste dei domini.

contenet1-5.1

Se facciamo click sulla matita sotto azioni entriamo nella gestione del profilo esistente, mentre se selezioniamo crea un profilo ne faremo uno nuovo.

filtro-contenuti1

Nel primo campo selezioniamo i dizionari delle parole che verranno controllati all’interno della pagina web ed il punteggio massimo consentito.

blacklist frasi

Esempio: il primo valore per adulti è di colore rosso, significa che è stato impostato come bloccato

filtro-contenuti1.1

All’interno di “Per Adulti” sono stati scelti i dizionari Pornografia e Nudo, edesso, se in una pagina compaiono molte parole che sono presenti nei dizionari gli viene assegnato un punteggio.

Esempio, la parola “sesso” riceve il punteggio di 5. Se la parola sesso compare 51 volte raggiungiamo un punteggio di 255, nel campo in alto abbiamo impostato il limite di 250, quindi questa pagina verrà bloccata con un messaggio di blocco di endian firewall tipo quello sotto riportato.

blocco-web

Per attivare o disattivare possiamo fare click sulla freccia ,qusta cambierà colore da rosso a verde e viceversa.

Il filtro con dizionari è necessario configurarlo con cura, in quanto può causare falsi positivi,  esempio la parola “lotto” può essere il gioco oppure legato a testi inerenti un terreno, nel primo caso è possibile che sia desiderato bloccarlo, nel secondo invece no.

Il secondo tipo di filtro che Endian Firewall ci mette a disposizione è  il filtro per domini URL.  Questa possibilità già integrata rende Endian Firewall una soluzione diversa da tutte le altre distro presenti nel parco Open Source. Questa caratteristica a mio avviso molto importante è necessaria configurarla separatamente in distribuzioni come IPCOP o derivate. Un’eccezione è IPFire che prevede l’attivazione di questo servizio in maniera molto semplice, tuttavia non ha una gestione delle policy più generica,rispetto a quella presente in Endian Firewall.

In questo caso se blocchiamo la categoria giochi, Endian ha un database di domini che contengono i siti di giochi online. Questo riduce drasticamente la possibilità di generare falsi positivi, in quanto il firewall, blocca l’accesso all’URL preciso della lottomatica   e permette l’accesso ai siti di immobiliari. Quindi rispetto all’esempio di prima rende la nostra regola molto  precisa per l’esigenza di bloccare i siti di gioco on line.

Qui possiamo vedere il filtro contenuti per URL.

blacklist URL

filtro-contenuti.1.3

Vediamo adesso come permettere l’accesso ad internet solamente ai protocolli che ci interessano. Questo per impedire a servizi non desiderati di utilizzare internet ,sia la nostra motivazione per ottimizzare l’utilizzo della banda, sia per impedire a possibile malware di aprire canali verso la nostra rete.

Nella sezione Firewall entriamo nel menu traffico in uscita. Abilitiamo Outgoing Firewall.

Abilita-outgoing.firewall

Questo pannello ci riassume le regole che gestiscono i protocolli in uscita.

Traffico-out

Vediamo che dalla nostra Lan(green) possono accedere verso le Red(internet) tutti i protocolli presenti nella lista.(http,https,ftp,smtp,smtps,pop,imap,pop3s,imaps,dns e ping) Da qui possiamo capire che i client della nostra rete possono navigare ,scaricare ed inviare mail regolarmente, mentre se vogliamo accedere ad un host remoto utilizzando il protocollo SSH o Desktop Remoto RDP il firewall non lo permette.

Se vogliamo aggiungere una regola premiamo sul relativo pulsante

Endian Firewall- traffico-uscita1

Selezioniamo la rete sorgente,nel nostro caso green. Selezioniamo la destinazione, nel nostro caso Red. Selezioniamo il protocollo interessato seguendo l’esempio sopra andremmo a cercare nel menu a tendina SSH , se il servizio interessato non fosse presente possiamo scegliere”personalizzato” e andiamo a crearlo.  Successivamente possiamo scegliere il tipo di protocollo

Endian Firewall- traffico-uscita2

Selezioniamo l’azione della policy e posizione ed abbiamo aggiunto una regola abilitata ad uscire.

Riassumendo:

Grazie ad Endian Firewall possiamo gestire il traffico proveniete dalla nostra rete verso internet.

schema-out

Abbiamo permesso l’accesso verso internet ad alcuni protocolli prestabiliti , abbiamo abilitato un controllo antivirus sulla navigazione e abbiamo impostato un controllo sul contenuto della navigazione, analizzandolo per dizionario e per URL.

Questo lavoro ha ridotto la probabilità di far entrare malware nella nostra rete ed abbiamo ridotto la possibilità di accedere, anche non volutamente,  a siti malevoli.

Prossimamente vedremo come proteggere anche la posta elettronica, abilitare un servizio AntiSpam proteggere FTP e DNS.

28 risposte a “Endian Firewall – proteggiamo e monitoriamo l’accesso al Web”

  1. Avatar Nicola
    Nicola

    Salve Luca,

    le faccio i complimenti per l’ottima guida.
    Attraverso il suo lavoro sono riuscito a mettere in piedi un firewall versatile e potente.
    L’unica cosa che manca (e ne avrei tanto bisogno) è sapere come modificare (tramite shell SSH)le liste di parole/phrases che dovrebbero bloccare determinati siti. Faccio un esempio:
    Vorrei bloccar tutti i siti che contengono la parole “poker”…dove posso aggiungere questa parola?
    Un saluto e ancora complimenti!

  2. Avatar Luca Mazzanti
    Luca Mazzanti

    Grazie Nicola,
    In questo momento è uscita anche le beta di EFW 3 che promette anche il controllo delle pagine https,quindi sarà ancora più potente.

    trovi tutto in /etc/dansguardian/lists/

    ciao

  3. Avatar Luca Mazzanti
    Luca Mazzanti

    Non sò se il tuo era un esempio, cmq per completezza la parola poker è già presente nel database “games”
    root@efw-01:/etc/dansguardian/lists/phraselists/games # cat weighted | grep poker

    ciao

  4. Avatar Nicola
    Nicola

    Grazie per esserti interessato al mio problemino. Per quanto riguarda la versione 3.0 beta ti confesso che l’ho provata ma a causa dei numerosi bug l’ho rimossa dopo 5 giorni.
    Tornando alla 2.5.2 effettivamente mi sono scontrato con il fatto di bloccare “N” siti attraverso 1 sola parola.
    In tutta la rete ci sono millemila guide…ma niente che somiglia ad un “how to” come la tua guida (con tanto di screen shot).
    Detto questo sono quasi riuscito a centrare l’obbiettivo che mi ero prefissato (bloccare “N” siti con 1 parola) ma ancora mi sfugge qualcosa.
    Non so se questa è la sede adatta per scrivere queste problematiche (visto che non è un forum) e non vorrei “inquinarti” la pagina…
    Chiudo dicendoti che per quanto riguarda l’HTTPS ho risolto con un bello stratagemma sulla 2.5.2.
    Ti rinnovo i complimenti per le tue capacità e la tua disponibilità!
    Un saluto.

  5. Avatar Luca Mazzanti
    Luca Mazzanti

    Ciao ti rispondo qui,magari può essere utile anche ad altri. Per l’https “credo” che l’unica strada percorribile sia quella di forzare l’utilizzo del proxy su browser.
    Per quanto riguarda il concetto di bloccare con una parola più pagine se non ti funziona devi abbassare il conteggio delle parole se lo vuoi più preciso.
    Es: se nel filtro a dizionario hai un conteggio di “250” e la parola “poker” arriva ad un punteggio di 240 la pagina non viene bloccata.
    Sono abbastanza sicuro che se attivi la categoria giochi del filtro a database e in quella a dizionario la pagina viene bloccata.
    Può accadere che non viene bloccata se il sito è in https:// a meno che non sia forzato il proxy sui client e senza quello la navigazione non funziona.
    Per curiosità quali sono i siti che non vengono bloccati? come hai configurati i filtri?
    La novità della versione 3 che più mi interessa è proprio questa.
    Questa funzionalità è già presente su firewall proprietari come fortigate o untagle,ma hanno decisamente altri prezzi e sono indicati per realtà di una certa entità.
    Spero di aver risposto ai tuoi dubbi.
    ciao

  6. Avatar Nicola
    Nicola

    Sono d’accordo sul fatto che scrivere qui potrà essere utile anche a qualche altro utente.
    Sarò breve. Queste info sono il frutto della tua guida e di diversi esperimenti (che ho provato personalmente).
    Finita l’installazione di Endian 2.5.2 e configurate le 2 schede di rete RED e GREEN mi sono loggato e ho fatto questo:

    -Abilitato Proxy non trasparente.

    -Bloccate porte 80 e 443. Forzo i cliente ad usare il proxy x navigare (altrimenti non navigano proprio.)

    -Attivato filtro dei contenuti bloccando (freccetta rossa) “Proxy”

    -Aggiunta policy di filter using “content1”
    dove content1 è il filtro che blocca tutte le ricerche e i siti che parlano di proxy.

    -Creata policy che NEGA ACCESSO al dominio .facebook.com (sia http che https viene bloccato :-D)

    -TUTTO FINITO.

    A questo punto mi è venuta voglia di “padroneggiare” il mio firewall, si insomma volevo capire dove e come avvenivano i blocchi.

    -Desiderio: Voglio decidere Io quali siti bloccare, voglio decidere Io le parole che devono essere bannate/bloccate.

    -Soluzione(1): Visto che il filtro “WEB PROXY” funziona ho cominciato ad aggiungere ste parole in

    /etc/dansguardian/list/phreseslist/proxies/weighted (visto che il filtro funziona)

    aggiungo

    -RISULTATO: NEGATIVO, le pagine con la parola “poker” si aprono ancora.

    -Soluzione(2): aggiungo in

    /var/signatures/dansguardian/phraseslist/proxies/weighted

    -RISULTATO: POSITIVO, le pagine che parlano di poker (praticamente tutte..anche wikipedia) vengono bloccate.

    -CONCLUSIONE: Sto controllando il mio firewall oppure è sempre lui che controlla me???…

    Grazie per aver letto tutto sto turpiloquio…

  7. Avatar Nicola
    Nicola

    Dimenticavo di scrivere la sintassi della parola.
    Solo a titolo di esempio ho aggiunto in

    /var/signatures/dansguardian/phraseslist/proxies/weihted

    la parola:

    Ed il blocco avviene.

  8. Avatar Nicola
    Nicola

    sintassi( )

  9. Avatar Nicola
    Nicola

    Scusami ma quando scrivo la sintassi maggione-minore non viene postata…vabbè…

  10. Avatar Luca Mazzanti
    Luca Mazzanti

    non sò se riesco ad aiutarti senza replicare il problema e capire meglio.
    tuttavia credo che a seconda delle selezioni che attivi nel filtro contenuti attivi o meno la lettura dei file che stai modificando.Può essere che nella tua configurazione non sia attivata la lettura del file sotto /etc/…ecc, ma legge quella di /var/…ecc.
    Personalmente preferisco chiudere il più possibile(cercando di non essere troppo invasivo) e poi inserire nelle eccezionia i falsi positivi.
    Nel tuo caso ,io, attiverei la lista frasi “giochi” e database “giochi”.
    Sempre personalmente, non apprezzo molto i filtri conentuti per conteggio frasi, perchè richiede molto tempo per configurarlo ad hoc e la manutenzione la trovo più laboriosa.

    Il filtro per URL quindi con database dei siti, mi rende la vita più semplice.
    Ovviamente sono gusti personali.
    ciao

  11. Avatar Nicola
    Nicola

    Grazie Luca hai ovviamente ragione “Può essere che nella tua configurazione non sia attivata la lettura del file sotto /etc/…ecc, ma legge quella di /var/…ecc.” Hai centrato perfettamente il problema.
    Detto questo faccio tesoro dei tuoi consigli (frasi giochi e database degli url giochi) e sicuramente metto in piedi qualcosa di buono e funzionale.
    Abuso ancora (spero sia l’ultima) del tuo aiuto chiedendoti come posso escludere un indirizzo IP della lan dal controllo del proxy. L’esempio tipico è che ho 4 pc (tutti i dhcp) come posso fare in modo che il mio (quindi con ip fisso) non venga filtrato ed abbia accesso completo ai siti internet?
    Che procedura devo applicare per fare in modo che la mia navigazione si libera, sia con Proxy trasparente che NON trasparente?
    Ho provato con le policy, ma se libero il mio
    ip…navigano anche tutti gli altri e quindi il filtro dei contenuti (messo in seconda posizione) viene completamente ignorato…
    Grazie del tempo che mi stai concedendo.

    Ciao!

  12. Avatar Luca Mazzanti
    Luca Mazzanti

    puoi mettere il tuo mac address nel proxy alla voce
    Escludi il proxy trasparente da SUBNET/IP/MAC

  13. Avatar Nicola
    Nicola

    Ciao Luca,

    inserisco il MAC 00-01-29-D3-05-35 in:

    Escludi il proxy trasparente da SUBNET/IP/MAC

    quando salvo ricevo un errore “00-01-29-D3-05-35” in “Escludi il proxy trasparente verso SUBNET/IP” non è valido!

    Stessa cosa se lo metto nell’altra casella…

    Il proxy l’ho impostato in modalità trasparente…Hai info al riguardo?

  14. Avatar Luca Mazzanti
    Luca Mazzanti

    00:01:29:D3:05:35 prova in questo formato

  15. Avatar Nicola
    Nicola

    Dunque.
    Ho impostato il proxy in modalità non trasparente (avevo la necessità di bloccare l’accesso ad alcuni siti anche httpS…vedi facebook)

    Per fare in modo che alcuni pc NON VENGANO FILTRATI ho creato una policy (messa al primo posto) che consente “navigazione non filtrata” a determinati MAC (con la sintassi AA:bb:cc:…)

    In questo modo risolvo il problema.

    Con il proxy trasparente usando “Escludi il proxy trasparente da SUBNET/IP/MAC” ed utilizzando la sintassi aa:bb:cc:…non funzionava (nel senso che venivano comunque bloccati)…vabbè poco male. Così funziona alla grande!

  16. Avatar Luca Mazzanti
    Luca Mazzanti

    ancora meglio 🙂
    ciao Nicola

  17. Avatar Corrado Speroni

    Ciao Luca,
    complimenti per l’ottima guida, chiara ed esauriente.
    Volevo chiedere se esiste un modo per filtrare i contenuti delle ricerche effettuate con Google. Ho letto in giro che il discorso delle frasi da inserire nel filtro funzionava fino a qualche tempo fa, ora Google ha modificato qualcosa nel processo di indicizzazione dei risultati per cui i filtri vengono ignorati.
    Il problema maggiore si ha con le immagini: se io filtro ad esempio il contenuto per adulti, facendo una ricerca su google di una parola vietata, mi viene visualizzata la pagina dei risultati, ma poi ovviamente non posso visualizzare nessun sito in quanto viene superato il limite delle parole consentite. Ma se effettuo una ricerca in Google Immagini, riesco a vedere comunque tutte le foto. Io vorrei bloccare questo, ma al momento non sono stato in grado di trovare una soluzione. Puoi aiutarmi?
    Ti ringrazio

  18. Avatar Luca Mazzanti
    Luca Mazzanti

    Ciao Corrado,
    grazie per i complimenti.
    Come hai configurato il proxy è trasparente?
    Essendo la ricerca delle immagini di google in https:// il filtro più di tanto non riesce a fare.
    Da quanto ho letto con la nuova versione di endian questo aspetto viene risolto,ma non ho avuto modo di provarlo.

  19. Avatar Corrado Speroni

    Ciao Luca,
    dunque il proxy è con autenticazione tramite AD, in modo da creare delle policy per decidere chi naviga e dove.
    Per via di questa esigenza, non posso usare un proxy trasparente, in quanto mi sarebbe impedita l’autenticazione.
    Il filtro comunque sembra funzzionare abbastanza bene, i siti nella blacklist vengono bloccati, così come quelli in cui è superato il limite delle parole pesate.
    Io utilizzo la versione 2.5.2, in effetti ho visto che nella nuova beta della versione 3 c’è il filtro su https. Sai se effettivamente con questa versione si risolverebbe il problema? Consigli l’upgrade o ci sono al momento bug di rilievo?
    Ancora un grazie per tutto.

  20. Avatar Luca Mazzanti
    Luca Mazzanti

    Mi spiace, ancora non ho avuto modo di valutare la nuova versione ho solamente letto la release notes.
    Ritornando al blocco credo che attualmente tu possa solo scegliere se bloccare la ricerca di immagini oppure no.
    Non è possibile impostare filtri di categoria nelle immagini.
    ciao

  21. Avatar Matteo Mabesolani

    Complimenti per l’ottima guida. Ma Endian Firewall può gestire anche access point wifi in maniera che i pc siano sempre connessi man mano che ci si sposta nell’edificio o è necessario un altro controller ?

  22. Avatar Luca Mazzanti
    Luca Mazzanti

    Grazie Matteo,
    se non ho frainteso la tua domanda, posso rispondere che quello che ti interessa non viene gestito da Endian, ma dalla struttura della rete wi-fi.
    ciao

  23. Avatar Matteo Mabesolani

    Grazie per la rapidissima risposta. Per fare una precisazione mi spiego meglio: devo fare una rete con 3 access point, ognuno collegato via cavo LAN. Devo fare in modo che i pc, spostandosi all’interno dell’edificio si aggancino all’access point con segnale migliore, ma non devo ottenenere una disconnessione dall’ap 1 e riconnessione all’ap 2. il pc deve cambiare access point senza riottenere indirizzo ip ed essere sempre connesso. Mi sembra di avere capito che si modifica il firmware degli ap con uno compatibile con endian e poi endian permette di gestire lo spostarsi dei dispositivi tra i vari ap. E’ corretto o sono io che ho capito male ? Grazie mille

  24. Avatar Luca Mazzanti
    Luca Mazzanti

    ciao Matteo,
    Endian ed il wi-fi non sono legati.
    Prima crea una rete wi-fi con le caratteristiche da te desiderate ,poi gestisci la connessione ad internet con Endian.

  25. Avatar giate

    ho una rete lan che funziona con un modem Adsl/fibra della Telecom, uno swich e un firewall. Funziona tutto ma il collegamento non può dirsi super veloce … smanettando un po in giro (senza toccare perché non mi intendo molto) ho notato che nel firewall sono impostati dei DNS (probabilmente dalla casa madre) diversi da quelle che ha impostato la mia rete Lan con indirizzi IP asssegnati. Due domande: 1) posso e/o devo inserire nel firewall i DNS che utilizza i PC della mia rete Lan?
    Devo mantenere gli IP assegnati oppure è meglio utilizzare quelli ottenuti automaticamente?

  26. Avatar Luca Mazzanti
    Luca Mazzanti

    Ciao,
    è diffiile risponderti con queste informazioni, hai un server?c’è active directory? ecc.
    I dns servono per risolvere i nomi. Associano un indirizzo ip ad un nome, questa risoluzione può essere più o meno veloce, ma dubito che dipenda dai dns la tua lentezza ,salvo errori gravi.
    Se fai una prova su speedtest.net che risultati hai?

  27. Avatar Matteo Mabesolani
    Matteo Mabesolani

    ottima guida, solo non ho capito due cose:
    1- se ho capito bene la rete green ha sottorete diversa dalla orange (quella del wifi). io vorrei che sia i pc connessi via cavo, sia quelli in wifi si vedano sulla rete o ognuno possa accedere all’altro e possano tutti condividere files. devo quindi collegare sia gli access point che gli switch dei pc via cavo tutti sotto la green?
    2- io vorrei consentire solo ad alcuni pc connessi sotto la green l’accesso a internet attraverso il mac address. dove devo agire? io vorrei che mi connetto alla rete e se ho precedentemente impostato il mac del pc su endian navigo, altrimenti se non ho messo il mac non riesco proprio ad accedere alla rete e viene fuori un messaggio di errore. come si fa?

    grazie mille

  28. Avatar maurizio
    maurizio

    buonasera, ho caricato e messo in funzione Endian community, ma trovo uno scoglio, non riesco a configurare l’invio di mail di segnalazione da Endian e dove mette i files in quarantena

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *