DNS filter e web proxy su ambiente di 5000 pdl
-
@kiokoman said in DNS filter e web proxy su ambiente di 5000 pdl:
no infatti non ne conosco neanche io per quello io l'ho tolto alla fine
e cosa usi?
-
ho solo una trentina di utenti, ho lasciato solo suricata e pfblockerng-devel come pacchetti aggiuntivi
-
@nnicola82 said in DNS filter e web proxy su ambiente di 5000 pdl:
Anche io penso di usare Vmware, ho un ambiente di test e produzione; ma anche dei server fisici, ma è l'ultimo dei miei problemi, anche perché poi vorrei fare un altro tipo di approccio, con containers e K8s
Detto questo, mi interessava sapere quanto fosse utile usare ancora nel 2020 squid e squidguard che leggo che sono vecchi, motivo per cui volevo approcciarmi a tecniche più recenti, tipo un filtraggio DNS. Suricata è nativo sul fork OpnSense.. funziona bene anche su pfSense? Va bene anche solo Suricata o mi consigliate anche squid? Meglio in trasparenza o 2 separati per https e http?
Pi hole lo vedo un po' troppo giovane..Grazie per l'aiuto e la risposta
Ciao, per il test sicuramente va bene vmware, ma per la produzione è meglio una macchina fisica, i motivi sono diversi, i più importanti sono:
- Sei indipendente da vmware e in caso di malfunzionamento dell'infrastruttura sei più libero;
- Maggiore sicurezza, hai connessioni fisiche differenti e non rischi che la violazione di un ambiente comprometta l'altro.
Per quanto riguarda il controllo della navigazione in entrata e uscita noi usiamo pfblocker con una decina di liste pubbliche più una nostra alimentata dal sistema SIEM, a questo ci aggiungiamo SNORT (ma anche suricata va bene)
Per policy di navigazione, il proxy è da eliminare come soluzione, soprattutto se devi implementare un MITM, una porcata che non ho mai potuto digerire. In più squid + squidguard ti ammazza letteralmente la macchina a meno di avere HW ben carrozzato. Ho visto connessioni da 100Mbps non raggiungere nemmeno i 10Mbps
La soluzione più easy sono i filtri basati su DNS, sul mercato ne trovi per tutti i gusti e per tutte le tasche. Unica pecca è che nella quasi totalità dei casi (a meno di avere un client su ogni pc) sei limitato ad un unica policy per tutta la tua rete poichè devi impostare come forwarder i dns di chi ti eroga il servizio.
Se hai voglia di sbatterti un po' ed hai una lista precisa dei siti da bloccare puoi sfruttare sempre pfblocker e costruirti una specie di filtro dns casalingo.Considerazione mia sul controllo della navigazione: nel era in cui chiunque ha in tasca uno smartphone per farsi gli affari suoi, il controllo della navigazione perde di senso o almeno lo perde se uno pensa di bloccare accesso a social, gaming ecc... Rimane il senso e l'importanza di bloccare siti malevoli, ma allora basta l'uso di pfblocker.
In ambito scolastico invece i requisiti sono altri ed in tal caso vale la pena attivare filtri DNS anche perchè di norma la rete degli studenti è semparata da quella ministeriale della segreteria e quindi anche il problema di avere due policy di blocco diverse decade perchè basta applicare il filtro solo alla rete studenti. Considera che in molte scuole hanno proprio un uscita su internet separata per le segreterie.Ciao Fabio
-
Ciao Fabio e grazie anche a te per il supporto!
all'interno dell'azienda (enterprise pubblica amministrazione, non una scuola ma un ambiente molto di moda in questo periodo...) abbiamo un DNS interno (del dominio AD, ovviamente) che utilizza in uscita già OpenDNS (sindacabile, lo so, ma meglio di niente..)
ci sono N tipi di utenti:
i fornitori che arrivano con il loro notebook e devono navigare //ovviamente non in dominio
e - di dominio -
gli utenti 'generici' delle uo che devono navigare solo sulla whitelist aziendale
gli utonti che devono navigare almeno sui siti non vietati ma non su certe categorie (es. social)
e i C-level che devono navigare quasi ovunque (es. anche sui social)per questa situazione un po' particolare, ma comune, sono indeciso sulla strada da percorrere
installerò sicuramente pfSense su HW fisico, in HA: ho solo dei Fujitsu Primergy Rx300 S7 disponibili, provo su quelli
il firewall già c'è, è di un vendor, ma senza IPS configurato (mancano diverse cose in realtà mai implementate) ma lo squid era interno e non avendo le possibilità di manutenerlo/comprare un web gateway, dovrei rifarloSe uso pfBlocker devo cambiare le policy di dominio affinchè i client di rete utilizzino il nuovo DNS che deve poi fare forward a quello di dominio oppure deve andare dopo il DNS interno?
attiverei comunque Suricata (perchè manca IPS sul FW)
e2Guardian invece?chiaramente, dato che alcuni utenti sono amministratori, io devo implementare una soluzione dove anche l'amministratore è obbligato ad usare i DNS aziendali (e/o il proxy)
-
se vuoi usare pfblockerng, devi usare unbound che puoi configurare in forward verso il tuo dns interno quindi i client devono usare il nuovo dns
e2guardian è un accrocchio non supportato e ultimamente dato che è poco aggiornato inizia a creare problemi, del tipo che non funziona più -
@nnicola82
Io quando uso filtri dns faccio il forward da AD verso pfsense che filtra tramite pfblocker o tramite DNS esterni. In questo modo non comprometto il funzionamento di AD.
Sul firewall blocco la possibilità di fare query dns verso l'esterno quindi uno può fare richieste solo ai DC o al firewall e se tenta di andare su altri dns viene rediretto su pfsense.Per quanto riguarda la macchina da usare per pfsense conta molto il processore, la ram solo se hai applicazioni particolari che girano o elevato traffico e poi le schede di rete che a mio avviso dovrebbero essere sempre delle Intel, garantiscono piena compatibilità e prestazioni migliori. Da evitare come la morte le realtek
Per la ram considera che ogni sessione pesa 1k quindi con 4GB hai 4 milioni di sessioni che però non corrispondono al numero di utenti. Per stare tranquillo calcola dalle 10 alle 20 sessioni utente quindi 10/20k utente a questi aggiungi almeno 500 MB per il solo sistema operativo però le variabili in gioco sono molte soprattutto se usi Alias molto corposi (e se usi pfblocker non può essere diversamente). Anche gli alias hanno un peso e soprattutto se fai uso di molte liste ti trovi velocemente con tabelle alias da 500.000 voci.
In una situazione come la tua valuterei l'installazione all'interno della rete di NxFilter (https://nxfilter.org/p3/), questo se installato internamente ti permette policy capillari. E' un filtro DNS, le liste per la categorizzazione dei siti hanno un costo che varia a seconda del fatto che siano quelle prodotte dallo sviluppatore o dal fatto che ti acquisti quelle prodotte da terzi. Il rapporto è 1:3 se non ricordo male 50$/anno quelle prodotte dallo sviluppatore e 150$ quelle di terzi (sul sito trovi i prezzi).
La licenza si basa sul numero di query dns, calcola che un utente medio fa circa 1000 query dns in una giornata, da li puoi partire a fare i tuoi conti per dimesionare filtro e licenza. La licenza base mi sembra sia per 15.000 query dns che loro calcolano per 50 utenti avendo portato il numero medio di richieste per utente a 3000 (sono un po'tante però varia dall'uso di interet che viene fatto). In questo devi fare attenzione ad eventuali server di posta che invece di query ne fanno a tonnellate e rischiano di bruciarti il plafond giornaliero di query
Spero di esserti stato d'aiuto
Ciao Fabio -
@fabio-vigano said in DNS filter e web proxy su ambiente di 5000 pdl:
@nnicola82
Io quando uso filtri dns faccio il forward da AD verso pfsense che filtra tramite pfblocker o tramite DNS esterni. In questo modo non comprometto il funzionamento di AD.
Sul firewall blocco la possibilità di fare query dns verso l'esterno quindi uno può fare richieste solo ai DC o al firewall e se tenta di andare su altri dns viene rediretto su pfsense.Io già uso OpenDNS dopo i dns di dominio
Per quanto riguarda la macchina da usare per pfsense conta molto il processore, la ram solo se hai applicazioni particolari che girano o elevato traffico e poi le schede di rete che a mio avviso dovrebbero essere sempre delle Intel, garantiscono piena compatibilità e prestazioni migliori. Da evitare come la morte le realtek
Realtek anche no!! Ho quei server .. 2x Fujitsu PRIMERGY Primergy RX300 S6, 2,66 GHz, E5640, 12 GB, DDR3-SDRAM
Per la ram considera che ogni sessione pesa 1k quindi con 4GB hai 4 milioni di sessioni che però non corrispondono al numero di utenti. Per stare tranquillo calcola dalle 10 alle 20 sessioni utente..
12/24GB dovrei avere
In una situazione come la tua valuterei l'installazione all'interno della rete di NxFilter (https://nxfilter.org/p3/), questo se installato internamente ti permette policy capillari. E' un filtro DNS, le liste per la categorizzazione dei siti hanno un costo che varia a seconda del fatto che siano quelle prodotte dallo sviluppatore o dal fatto che ti acquisti quelle prodotte da terzi. Il rapporto è 1:3 se non ricordo male 50$/anno quelle prodotte dallo sviluppatore e 150$ quelle di terzi (sul sito trovi i prezzi).
Quindi abbiamo scartato già Squid o un webproxy
per ispezionare HTTPS ? non serve perché uso un DNS filter?
Uso solo Suricata come IPS?Spero di esserti stato d'aiuto
Ciao Fabio
Sicuramente, Grazie -
@nnicola82
Le due macchine dovrebbero andare benissimo.
Ti direi di scartare squid e webproxy perchè se usi il dns filter è meglio.
Come ips puoi usare tranquillamente suricata.
Ciao Fabio -
concordo si, l'unica cosa io avevo suggerito di usare pfsense come server dns anziche l'AD, qui non me ne intendo perchè uso server linux con bind9 e suddivido le reti con le view/acl. faccio quindi una domanda visto che @nnicola82 deve fare soluzioni diverse in base all'utente.
se un utente "amministratore" visita un sito bloccato per gli altri utenti, l'ip viene messo nella cache dell AD quindi poi non c'e' il pericolo che un utente senza permesso che provi a visitare quel sito ottenga l'ip dalla cache del server dns nell AD invece di venire bloccato da pfblockerng ? suppongo dovrà perlomeno svuotare la cache del server dns prima di implementare questa soluzione -
@kiokoman said in DNS filter e web proxy su ambiente di 5000 pdl:
deve fare soluzioni diverse in base all'utente.
se un utente "amministratore" visita un sito bloccato per gli altri utenti, l'ip viene messo nella cache dell AD quindi poi non c'e' il pericolo che un utente senza permesso che provi a visitare quel sito ottenga l'ip dalla cache del server dns nell AD invece di venire bloccato da pfblockerng?come IP intendi l'IP del sito web visitato?
perché l'utente 'amministratore' 'autorizzato' a raggiungere quella categoria di sito oggi potrebbe avere ip 10.10.10.10 perchè in una vlan della struttura, domani potrebbe avere un 10.20.10.5 perchè sotto un altra vlan, perché in un'altra zona dell'azienda.
l'hostname rimane quello, l'ip del client rimane -
@kiokoman le possibili soluzioni per l'impiego di filtri dns sono 3:
- filtro esterno all'azienda. DNS AD forwarda a PFSENSE che forwarda al SERVIZIO. In questo caso hai un unica policy per tutti quindi non puoi differenziare per utente/macchina;
- filtro esterno all'azienda con agente. DNS AD forwarda a PFSENSE che forwarda al SERVIZIO per gli apaprati senza agente, diversamente è l'agente che sioccupa di interrogare AD o SERVIZIO;
- filtro interno all'azienda. DNS SERVIZIO forwarda a DNS AD. In questo caso il servizio normalmente permette policy per utente o per macchina e può essere basato su agente o su scambio di token di autenticazione per riconoscere l'utente che vuole navigare.
In ogni caso in questo tipo di filtri il TTL delle risposte DNS viene abbassato a meno di 1 minuto proprio per permettere di agire sulle regole tempestivamente senza fare flush della cache dei vari client e server. Quind se uno dovesse configurare in modo maldestro il servizio, ammesso che l'admin possa avere una policy tutta sua con meno restrizioni, la risoluzione operata dalle query dell'admin avrebbe vita breve.
Ciao Fabio
-
esatto fabio stavo giusto pensando che con la soluzione 1 non puoi differenziare ma fai una policy unica per tutti
il mio dubbio era appunto: supponiamo che l'utente "amministratore" visiti facebook,se fa la richiesta dns all'AD, l'AD risolve facebook.com e salva il dns nella cache. se un utente non amministratore richiede di andare su facebook e fa la richiesta di risolvere il dns all'AD questo risponde con l'ip che ha nella cache invece che richiedere nuovamente a pfsense e quindi pfblockerng non blocca la richiesta. quindi presumo che tu debba fare anche in modo che ciò non avvenga anche nel dns server abbassando TTL -
Di fatto avviene già perchè:
- nella soluzione 1 tutti gli utenti sono ugali;
- nella soluzione 2 tutto è mutuato da un agente;
- nella soluzione 3 hai il DNS con il servizio di filtering che in automatico abbassa il TTL e quindi non devi toccare il dns AD
Fabio
-
@fabio-vigano said in DNS filter e web proxy su ambiente di 5000 pdl:
Di fatto avviene già perchè:
- nella soluzione 1 tutti gli utenti sono ugali;
- nella soluzione 2 tutto è mutuato da un agente;
non ho la possibilità di installare in questo momento un agente.. siamo in 3 su 5k hosts e nemmeno via GPO, l'impatto sulle PDL in questo momento sarebbe da verificare e da pianificare, sceglierei soluzione "invisibile" anche perché l'agente sarebbe cmq a pagamento, vero?
- nella soluzione 3 hai il DNS con il servizio di filtering che in automatico abbassa il TTL e quindi non devi toccare il dns AD
sarebbe la soluzione migliore per il caso descritto, rispetto alla 1 ma in questa situazione
devo impostare su client non più il dns AD ma pfSense? mi sembrava nel post precedente che mi consigliassi questo scenario
giusto?
grazie! -
Si, puoi usare la soluzione 3 installando in casa una soluzione come nxfilter, nella guida ti spiegano come fare a configurarla in un ambiente AD e come fare a differenziare le policy
Ciao fabio -
@fabio-vigano quindi non devo installare più pfSense e pfBlockerng?
avevo inizialmente escluso nxfilter perché al momento non passano ordini di acquisto