Adoro NetASQ, è un prodotto che ho conosciuto meno di un anno fa, ma devo ammettere che dopo un primo momento di sconforto e disorientamento, una volta capiti i principi base mi sono reso conto che si può fare davvero di tutto, tantè che dovunque viene richiesta sicurezza abbiamo optato per la soluzione NetASQ, ma non voglio fare una panoramica dei modelli e delle caratteristiche, non è ne il posto ne tantomeno questo il momento giusto (presto vedrò di postare qualcosa a riguardo del nuovo firmware 9.0)
L’argomento di oggi è una delle tante caratteristiche di NetASQ, il Proxy, un’esigenza sempre più presente nelle aziende dove è richiesta la necessità di controllare e nel caso limitare l’accesso ad Internet, NetASQ ha sviluppato un’ottima soluzione, di facile integrazione e soprattutto trasparente!.
Ma veniamo prima di tutto a spiegare velocemente cosa è un proxy, si tratta di una applicazione che analizza preventivamente tutto il traffico verso una specifica destinazione ed in base a regole impostate decide il comportamento, solitamente è utilizzato per la navigazione, la posta, l’ftp o servizi comunque facilmente controllabili che a livello aziendale sono spesso motivo di problemi.
Uno dei principali vantaggi di NetASQ è la possibilità di integrarsi all’interno di un’azienda in modo trasparente senza modificare l’infrastruttura di rete, non richiede quindi il cambio di classi tra lan e wan, e non richiede che l’utente imposti sul proprio Browser una porta Proxy, in questo modo l’integrazione dello stesso è estremamente semplice e veloce e priva di lunghe e costose integrazioni o attività sistemistica.
Ma veniamo alla configurazione, qui fatta su un NetASQ U70 con due classi separate verso WAN ed una LAN.
Abbiamo quindi oltre al proxy un’ulteriore problema, il cliente ha 2 connettività verso internet sulle quali desidera effettuare bilanciamento.
Le necessità sono le seguenti:
- Utilizzare per la navigazione entrambi le connessioni in modo Bilanciato,
- Usare il Proxy in modo trasparente, senza alcuna operazione lato client
- Autorizzare alcuni utenti (in questo caso specifici IP) alla navigazione su un altro SET di siti
- Inoltre analisi di tutta la posta in entrata verso server di posta interno
- Analisi comportamento Proxy
Partiamo dal presupposto che il Firewall è installato, ed aggiornato ed abbiamo la seguente situazione:
6 Porte rete completamente separate (non in Bridge tra di loro)
Eth0 non usata
eth1 IN (Firewall_in)
eth2 Connessione 1 (Firewall_Telecom)
eth3 Connessione 3 (Firewall_Vodafone)
eth4 non usata
eth5 non usata
Primo step Definire il Bilanciamento delle Connessioni (Network Routing)
Solitamente utilizzo il Load Balancing By Source, in modo tale da impostare gli utenti a lavorare metà con una connessione e metà con l’altra. È fondamentale poi creare un “gruppo di check” da utilizzare per verificare che sia attiva la connessione altrimenti, in caso di caduta metà utenti non navigheranno, diversamente con il “check group” Netasq si accorge dell’anomalia e blocca l’utilizzo della connessione non funzionante.
Nel mio caso come “Check Group” ho utilizzato 151.1.1.1 che è un DNS che risponde ai ping ed è sempre funzionante, si possono utilizzare anche IP differenti, uno per ogni connettività come ad esempio il primo IP che risponde al traceroute della relativa connessione.
In questo caso è presente il bilanciamento, però non abbiamo ancora configurato i proxy (ovviamente dove non è presente il bilanciamento questo passaggio non è necessario, il bilanciamento è solo una complicazione in più che dopo vedremo, in quanto il proxy in questo caso richiede un’ulteriore configurazione)
Nel Menu Proxy General ho alcune impostazioni da spiegare,
Utilizzo il Transparent http Proxy, questo mi permette di non cambiare impostazioni ai client, loro continueranno ad utilizzare il loro browser senza impostare proxy, sarà il firewall a gestire le loro richieste in quanto intercetta le chiamate sull’80.
Tutti i firewall NetASQ inoltre hanno uno dei più avanzati IPS/IDS (Intrusion Prevention/Detection System) integrato a livello di kernel, questo gli permette ottime prestazioni rispetto ad altri modelli della stessa fascia, non mi addentro nelle capacità di questo modulo perché richiederebbe un articolo a parte, ma è importante sapere il passaggio logico che riguarda il traffico internet, lo stesso sarà regolato da quanto prevede il proxy ma anche dal profilo (qui vedete 00: default) dell’IPS, quindi un eventuale blocco può dipendere da entrambi. Mentre il secondo sarà ben visibile sul Real Monitor di Netasq, il primo (quello riguardante il proxy) NO, Vi spiegherò dopo come effettuare questa analisi.
Infine come vedete ci sono anche due SMTP le stesse vengono usate in ingresso, ed entrambe le connessioni vengono utilizzate per portare posta sul server interno, è quindi necessario impostare il Proxy SMTP su entrambe, non è stato necessario farlo anche su Transparent http in quanto quest’ultimo è impostato sulla porta IN (che è unica) mentre l’SMTP è impostato sulle due porte OUT (che sono appunto due), in quanto riguarda il traffico in entrata SMTP e non quello in uscita, fondamentalmente in questo modo il cliente si garantisce una linea di Backup per la posta in entrata.
È fondamentale chiarire un aspetto importante, utilizzando il proxy su due connessioni in uscita, è necessario effettuare una modifica direttamente sull’apparato (NetASQ è di fatto una distribuzione linux pesantemente modificata, ed è permesso accedere in SSH in caso è richiesta l’impostazione di particolari regole) eccoci quindi ad una prima necessità del genere. Se la navigazione avviene in modo bilanciato utilizzando due connessioni differenti, noi dobbiamo “Bindare” alla connessione in uscita sul proxy uno specifico IP diversamente essendo presenti più connessioni lo stesso in determinate circostanze potrebbe confondersi, questo UNICAMENTE se è presente il bilanciamento e il Proxy, la modifica da fare è sulle regole del proprio profilo quindi in questo caso è:
~/ConfigFiles/HTTPProxy/00 assegnando al bindAddr=Firewall_in (nel mio caso la Lan si chiama così) questo aspetto è fondamentale per configurare correttamente il proxy.
Trovate una spiegazione più completa nelle KB di Netasq
Ora abbiamo Il proxy funzionante, dobbiamo solo configurarlo, per configurarlo si accede all'”http Proxy Configuration”, all’interno ci sono alcuni menù fondamentali:
- Global, è ovviamente necessario attivarlo
- L’attivazione dell’antivirus è una scelta utile nel caso si scarichino allegati o file
- Sorvolo Traffic Redirection / ICAP / Webdav, in quanto funzioni particolari ed utilizzate solo in casi specifici, Block Page invece è una pagina, personalizzabile che verrà visualizzata dall’utente nel caso cerchi di accedere ad uno dei siti “non autorizzati” lo stesso può indicare anche il nome della categoria di riferimento, necessario per informare l’utente sul motivo della mancata visualizzazione.
Le Categorie e la gestione delle stesse avviene tramite il menù “Content Analysis” all’interno troverete l’URL Filtering che a sua volte contiene due cartelle l'”URL Group” ed il “Filter Rules”, il primo contiene tutti i gruppi categorici gestiti da NetASQ (ne esiste uno di NetASQ, ma è possibile acquistare quelli di Optenet, dall U120 in su), qui è possibile anche creare delle liste personali da utilizzarsi.
Infine si accede alle “Filter Rules”, ci si trova già con una configurazione base, l’utilizzo è piuttosto intuitivo
Nel Source si indicano Ip (o utenti nel caso di configurazioni legate a Domini o a Database utenti), nell’URL Group si identificano le tipologie di Categorie a cui accedere o Negare l’accesso e nell’action l’operazione relativa.
Come dicevo sopra è possibile legare l’accesso ad un gruppo, ad un IP, ma anche ad uno specifico utente, in tal caso si può utilizzare un Database locale presente sul Firewall, un database esterno in LDAP, un database esterno vincolato ad una Active Directory, tutte funzioni che rendono più completa la gestione del Proxy, ma passaggi che non vedremo qui, nel caso non esitate a chiedere, e Vi posso mandare la relativa documentazione.
Grazie al proxy ed ai database dinamici tutto l’accesso al Web è vincolato da queste categorie. Può capitare però, soprattutto con siti che contengono riferimenti ad altri siti (ad esempio coloro che hanno collegamenti a pagine pubblicitarie o a facebook ecc.) che la visione degli stessi sia solo parziale, passando dal Proxy, non c’è soluzione in quanto il problema dipende proprio dal contenuto dei siti stessi che richiamano siti non autorizzati.
Per capire esattamente cosa accade al Proxy in questi casi, Vi rimandiamo ad una KB di Netasq che Vi permette di loggare esattamente cosa succede e quindi analizzare in modo più preciso il tutto ed eventualmente apportare le relative correzioni.
Esistono ulteriori Log di pacchetto, ma che richiedono competenze più evolute (basate su tcpdump) e permettono un’analisi più approfondita in caso di problemi, ma si riferiscono non tanto a quanto accade all’interno del Proxy ma proprio a livello di pacchetto.
Ci sono ancora un paio di informazioni che secondo me è utile sapere a riguardo del Proxy.
Può nascere l’esigenza di visualizzare un sito senza passare dal Proxy (ad esempio alcuni servizi bancari hanno problemi a lavorare con il proxy) o comunque per motivi specifici si vuole evitare.
Si può utilizzare una regola nelle NAT così composta,
IN –> Redirect –> <any> –> “dominio fuori da proxy” –> http –> “dominio fuori da proxy” –> http
Nella Destination è necessario creare il puntamento al dominio, in questo modo tutto il traffico verso i relativi siti espressi sono presenti prima della NAT e quindi non sarà utilizzato il Proxy, è un ottimo “Work Around” nel caso ci si trovi davanti a siti che è difficile vedere tramite proxy.
Altre note particolari non mi vengono in mente, sempre come proxy è possibile configurare anche l’SMTP / il POP3 e l’FTP, i principi sono simili anche se ovviamente gestiscono servizi differenti e quindi in questi casi il controllo non avviene sul sito a cui è necessario collegarsi.
È tutto, in questi giorni sto iniziando a “giocare” con la versione 9.0 del Firmware NetASQ e ne realizzerò un articolo a breve..
Buona navigazione sotto Proxy a tutti!