Funzionalità delle impostazioni DPI

Questo articolo non copre l'intera regolazione DPI e tutto ciò che è collegato insieme e il valore scientifico del testo è minimo. Ma descrive il modo più semplice per aggirare i DPI, di cui molte aziende non hanno preso in considerazione.

Funzionalità delle impostazioni DPI

Dichiarazione di non responsabilità n. 1: questo articolo è di natura di ricerca e non incoraggia nessuno a fare o utilizzare nulla. L'idea si basa sull'esperienza personale e qualsiasi somiglianza è casuale.

Avvertenza n°2: l'articolo non svela i segreti di Atlantide, la ricerca del Santo Graal e gli altri misteri dell'universo, tutto il materiale è liberamente disponibile e potrebbe essere stato descritto più di una volta su Hub. (Non l'ho trovato, sarei grato per il link)

Per coloro che hanno letto le avvertenze, cominciamo.

Cos'è il DPI?

DPI o Deep Packet Inspection è una tecnologia per accumulare dati statistici, controllare e filtrare i pacchetti di rete analizzando non solo le intestazioni dei pacchetti, ma anche l'intero contenuto del traffico ai livelli del modello OSI dal secondo e superiore, che consente di rilevare e bloccare i virus, filtrare le informazioni che non soddisfano i criteri specificati.

Esistono due tipi di connessione DPI, che vengono descritti ValdikSS su github:

DPI passivo

DPI connesso alla rete del provider in parallelo (non in un taglio) tramite uno splitter ottico passivo, oppure utilizzando il mirroring del traffico proveniente dagli utenti. Questa connessione non rallenta la velocità della rete del provider in caso di prestazioni DPI insufficienti, motivo per cui viene utilizzata dai grandi provider. DPI con questo tipo di connessione può tecnicamente solo rilevare un tentativo di richiesta di contenuti vietati, ma non fermarlo. Per aggirare questa restrizione e bloccare l'accesso a un sito vietato, DPI invia all'utente che richiede un URL bloccato un pacchetto HTTP appositamente predisposto con un reindirizzamento alla pagina stub del provider, come se tale risposta fosse stata inviata dalla risorsa richiesta stessa (l'IP del mittente indirizzo e sequenza TCP sono contraffatti). Poiché il DPI è fisicamente più vicino all'utente rispetto al sito richiesto, la risposta falsificata raggiunge il dispositivo dell'utente più velocemente della risposta reale proveniente dal sito.

DPI attivi

DPI attivo: DPI connesso alla rete del provider nel solito modo, come qualsiasi altro dispositivo di rete. Il provider configura il routing in modo che DPI riceva traffico dagli utenti verso indirizzi IP o domini bloccati e DPI decida quindi se consentire o bloccare il traffico. Il DPI attivo può ispezionare sia il traffico in uscita che quello in entrata, tuttavia, se il provider utilizza DPI solo per bloccare i siti dal registro, molto spesso è configurato per ispezionare solo il traffico in uscita.

Non solo l'efficacia del blocco del traffico, ma anche il carico sui DPI dipende dal tipo di connessione, quindi è possibile non scansionare tutto il traffico, ma solo alcuni:

DPI "normale".

Un DPI “normale” è un DPI che filtra un certo tipo di traffico solo sulle porte più comuni per quel tipo. Ad esempio, un DPI “normale” rileva e blocca il traffico HTTP vietato solo sulla porta 80, il traffico HTTPS sulla porta 443. Questo tipo di DPI non terrà traccia dei contenuti vietati se invii una richiesta con un URL bloccato a un IP non bloccato o non porto standard.

DPI "completo".

A differenza del DPI “normale”, questo tipo di DPI classifica il traffico indipendentemente dall’indirizzo IP e dalla porta. In questo modo, i siti bloccati non si apriranno anche se si utilizza un server proxy su una porta completamente diversa e un indirizzo IP sbloccato.

Utilizzando DPI

Per non ridurre la velocità di trasferimento dei dati, è necessario utilizzare DPI passivi “normali”, che consentono di farlo in modo efficace? bloccarne qualcuno? risorse, la configurazione predefinita è simile alla seguente:

  • Filtro HTTP solo sulla porta 80
  • HTTPS solo sulla porta 443
  • BitTorrent solo sulle porte 6881-6889

Ma i problemi iniziano se la risorsa utilizzerà una porta diversa per non perdere utenti, poi dovrai controllare ogni pacco, ad esempio puoi dare:

  • HTTP funziona sulle porte 80 e 8080
  • HTTPS sulle porte 443 e 8443
  • BitTorrent su qualsiasi altra banda

Per questo motivo, dovrai passare al DPI “attivo” o utilizzare il blocco utilizzando un server DNS aggiuntivo.

Blocco tramite DNS

Un modo per bloccare l'accesso a una risorsa è intercettare la richiesta DNS utilizzando un server DNS locale e restituire all'utente un indirizzo IP "stub" anziché la risorsa richiesta. Ma questo non dà un risultato garantito, poiché è possibile prevenire lo spoofing degli indirizzi:

Opzione 1: modifica del file host (per desktop)

Il file host è parte integrante di qualsiasi sistema operativo, il che ti consente di utilizzarlo sempre. Per accedere alla risorsa l'utente deve:

  1. Scopri l'indirizzo IP della risorsa richiesta
  2. Aprire il file host per la modifica (sono richiesti i diritti di amministratore), situato in:
    • Linux: /etc/hosts
    • Windows: %WinDir%System32driversetchosts
  3. Aggiungi una riga nel formato: <nome risorsa>
  4. Salvare le modifiche

Il vantaggio di questo metodo è la sua complessità e la necessità di diritti di amministratore.

Opzione 2: DoH (DNS su HTTPS) o DoT (DNS su TLS)

Questi metodi ti consentono di proteggere la tua richiesta DNS dallo spoofing utilizzando la crittografia, ma l'implementazione non è supportata da tutte le applicazioni. Diamo un'occhiata alla facilità di configurazione di DoH per Mozilla Firefox versione 66 dal lato dell'utente:

  1. Vai all'indirizzo about: config in Firefox
  2. Confermare che l'utente si assume tutti i rischi
  3. Modifica il valore del parametro rete.trr.mode на:
    • 0 - disabilita TRR
    • 1 - selezione automatica
    • 2 - abilita DoH per impostazione predefinita
  4. Modifica parametro network.trr.uri selezionando il server DNS
    • DNS di Cloudflare: mozilla.cloudflare-dns.com/dns-query
    • DNS di Google: dns.google.com/experimental
  5. Modifica parametro network.trr.boostrapIndirizzo на:
    • Se è selezionato Cloudflare DNS: 1.1.1.1
    • Se è selezionato Google DNS: 8.8.8.8
  6. Modifica il valore del parametro network.security.esni.enabled su vero
  7. Verificare che le impostazioni siano corrette utilizzando Servizio Cloudflare

Sebbene questo metodo sia più complesso, non richiede che l'utente disponga dei diritti di amministratore ed esistono molti altri modi per proteggere una richiesta DNS non descritti in questo articolo.

Opzione 3 (per dispositivi mobili):

Utilizzando l'app Cloudflare per Android и IOS.

Test

Per verificare il mancato accesso alle risorse è stato temporaneamente acquistato un dominio bloccato nella Federazione Russa:

conclusione

Spero che questo articolo sia utile e incoraggi non solo gli amministratori a comprendere l'argomento in modo più dettagliato, ma faccia anche capire che le risorse saranno sempre dalla parte dell'utente e la ricerca di nuove soluzioni dovrebbe essere per lui parte integrante.

Link utili

Aggiunta fuori articoloIl test Cloudflare non può essere completato sulla rete dell'operatore Tele2 e un DPI correttamente configurato blocca l'accesso al sito di test.
PS Finora questo è il primo provider che blocca correttamente le risorse.

Fonte: habr.com

Aggiungi un commento