Caratteristiche della configurazione DPI

In questo articolo non viene trattata la configurazione completa del DPI e tutto ciò che le riguarda, e il valore scientifico del testo è minimo. Tuttavia, viene descritto un metodo semplice per eludere il DPI, che non è stato considerato da molte aziende.

Caratteristiche della configurazione DPI

Avviso n. 1: questo articolo ha carattere di ricerca, non incoraggia nessuno a intraprendere azioni o a utilizzare nulla. L'idea è basata sull'esperienza personale e qualsiasi somiglianza è casuale.

Avviso n. 2: l'articolo non rivela i segreti di Atlantide, la ricerca del Santo Graal o altri enigmi dell'universo, tutto il materiale è liberamente accessibile e probabilmente è stato descritto più volte su Hub. (non l'ho trovato, sarei grato per un link)

Per coloro che hanno letto gli avvisi, iniziamo.

Che cos'è il DPI?

DPI o Deep Packet Inspection è una tecnologia per la raccolta di dati statistici, il controllo e il filtraggio dei pacchetti di rete, analizzando non solo le intestazioni dei pacchetti, ma anche il contenuto completo del traffico ai livelli del modello OSI dal secondo in poi, consentendo di rilevare e bloccare virus, filtrare informazioni che non soddisfano i criteri definiti.

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

DPI passivo

DPI collegato nella rete del provider in parallelo (non in taglio), sia attraverso un splitter ottico passivo, sia utilizzando il mirroring del traffico in uscita degli utenti. Questo tipo di connessione non rallenta la velocità di lavoro della rete del provider in caso di prestazioni insufficienti del DPI, motivo per cui è utilizzato dai grandi provider. Il DPI di questo tipo di connessione può tecnicamente solo rilevare tentativi di richiesta di contenuti vietati, ma non detenerli. Per eludere questa limitazione e bloccare l'accesso a un sito vietato, il DPI invia all'utente che richiede un URL bloccato un pacchetto HTTP appositamente formattato con un reindirizzamento alla pagina di avviso del provider, come se tale risposta fosse stata inviata dalla risorsa richiesta (l'indirizzo IP del mittente e la sequenza TCP vengono falsificati). Poiché il DPI è fisicamente più vicino all'utente rispetto al sito richiesto, la risposta falsificata arriva al dispositivo dell'utente più velocemente della reale risposta dal sito.

DPI attivo

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

Il tipo di connessione influisce non solo sull'efficacia del blocco del traffico, ma anche sul carico sul DPI, quindi esiste la possibilità di non controllare tutto il traffico, ma solo un certo tipo:

DPI "Normale"

Per "DPI normale" si intende un DPI che filtra un certo tipo di traffico solo sulle porte più comuni per questo tipo. Ad esempio, il "DPI normale" identifica e blocca il traffico HTTP vietato solo sulla porta 80, il traffico HTTPS sulla porta 443. Questo tipo di DPI non monitorerà contenuti vietati se invii una richiesta con un URL bloccato a un IP non bloccato o a una porta non standard.

DPI "Completo"

A differenza del "DPI normale", questo tipo di DPI classifica il traffico indipendentemente dall'indirizzo IP e dalla porta. Pertanto, i siti bloccati non si apriranno, anche se utilizzi un server proxy su una porta completamente diversa e un indirizzo IP non bloccato.

Utilizzo del DPI

Per non ridurre la velocità di trasferimento dati è necessario utilizzare il DPI passivo "Normale", che consente di bloccare in modo efficace? qualsiasi? risorsa; per impostazione predefinita, la configurazione appare così:

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

Ma i problemi sorgono se la risorsa utilizza un'altra porta per non perdere utenti, allora sarà necessario controllare ogni pacchetto; per esempio, si può citare:

  • HTTP funziona sulle porte 80 e 8080
  • HTTPS sulle porte 443 e 8443
  • BitTorrent su qualsiasi altro intervallo

Di conseguenza, sarà necessario passare al "DPI attivo" o utilizzare il blocco tramite un server DNS aggiuntivo.

Blocco tramite DNS

Uno dei modi per bloccare l'accesso a una risorsa consiste nell'intercettare la richiesta DNS tramite un server DNS locale e restituire all'utente un indirizzo IP di "placeholder" invece della risorsa richiesta. Tuttavia, ciò non garantisce un risultato certo, poiché c'è la possibilità di prevenire la sostituzione dell'indirizzo:

Opzione 1: Modifica del file hosts (per desktop)

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

  1. Scoprire l'indirizzo IP della risorsa richiesta
  2. Aprire il file hosts per la modifica (sono necessari i diritti di amministratore), che si trova in:
    • Linux: /etc/hosts
    • Windows: %WinDir%System32driversetchosts
  3. Aggiungere una riga nel formato:
  4. Salvare le modifiche

Il vantaggio di questo metodo è la sua complessità e il requisito di avere diritti di amministratore.

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

Questi metodi consentono di proteggere dalla sostituzione della richiesta DNS tramite crittografia, ma non tutte le applicazioni supportano l'implementazione. Consideriamo la semplicità di configurazione di DoH per Mozilla Firefox versione 66 da parte dell'utente:

  1. Navigare all'indirizzo about:config in Firefox
  2. Confermare che l'utente si assume tutti i rischi
  3. Modificare il valore del parametro network.trr.mode a:
    • 0 — disabilitare TRR
    • 1 — selezione automatica
    • 2 — abilitare DoH per impostazione predefinita
  4. Modificare il parametro network.trr.uri selezionando il server DNS
    • Cloudflare DNS: mozilla.cloudflare-dns.com/dns-query
    • Google DNS: dns.google.com/experimental
  5. Modificare il parametro network.trr.boostrapAddress a:
    • Se è stato scelto Cloudflare DNS: 1.1.1.1
    • Se è stato scelto Google DNS: 8.8.8.8
  6. Modificare il valore del parametro network.security.esni.enabled in true
  7. Verificare la correttezza della configurazione utilizzando il servizio Cloudflare

Sebbene questo metodo sia più complesso, non richiede diritti di amministratore per l'utente e ci sono molti altri modi per proteggere la richiesta DNS, non descritti in questo articolo.

Opzione 3 (per dispositivi mobili):

Utilizzo dell'app di Cloudflare per Android e iOS.

Test

Per verificare l'assenza di accesso alle risorse è stato temporaneamente acquistato un dominio bloccato sul territorio della Federazione Russa:

Conclusione

Spero che questo articolo sia utile e spinga non solo gli amministratori a esplorare più a fondo l'argomento, ma fornisca anche una comprensione che Le risorse saranno sempre dalla parte dell'utente e la ricerca di nuove soluzioni deve essere una parte integrante per loro.

Link utili

Estensione al di fuori dell'articoloIl test su Cloudflare non è possibile da completare sulla rete dell'operatore Tele2, mentre un DPI configurato correttamente blocca l'accesso al sito di test.
P.S. Finora è il primo fornitore che blocca correttamente le risorse.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster