Fonctions de paramétrage DPI

Cet article ne traite pas du paramètre DPI complet et de tout ce qui est lié ensemble, et la valeur scientifique du texte est minime. Mais il décrit le moyen le plus simple de contourner le DPI, que de nombreuses entreprises n'ont pas pris en compte.

image

Avertissement n ° 1: cet article est de nature scientifique, n'encourage personne à faire quoi que ce soit et à l'utiliser. L'idée est basée sur l'expérience personnelle et toutes les coïncidences sont aléatoires.

Avertissement numéro 2: l'article ne révèle pas les secrets de l'Atlantide, la recherche du Saint Graal et autres mystères de l'univers, tout le matériel est dans le domaine public et peut avoir été décrit plus d'une fois sur Habré. (Je n'ai pas trouvé, je serai reconnaissant pour le lien)

Pour ceux qui lisent les avertissements, commençons.

Qu'est-ce que le DPI?


DPI ou Deep Packet Inspection - une technologie permettant d'accumuler des données statistiques, de vérifier et de filtrer les paquets réseau en analysant non seulement les en-têtes de paquets, mais également le contenu complet du trafic aux niveaux du modèle OSI à partir du deuxième et plus haut, ce qui vous permet de détecter et de bloquer les virus, de filtrer les informations qui ne répondent pas aux critères spécifiés .

Il existe deux types de connexions DPI décrites par ValdikSS sur github :
DPI passif

DPI connecté au réseau du fournisseur en parallèle (pas dans la coupe) soit via un séparateur optique passif ou en utilisant la mise en miroir du trafic provenant des utilisateurs. Une telle connexion ne ralentit pas la vitesse du réseau du fournisseur en cas de performances DPI insuffisantes, c'est pourquoi elle est utilisée par les grands fournisseurs. DPI avec ce type de connexion ne peut techniquement détecter qu'une tentative de demande de contenu interdit, mais pas l'arrêter. Pour contourner cette restriction et bloquer l'accès au site interdit, DPI envoie un paquet HTTP spécialement conçu à l'utilisateur demandant l'URL bloquée avec une redirection vers la page de raccord du fournisseur, comme si la ressource demandée avait elle-même envoyé une telle réponse (l'adresse IP et la séquence TCP de l'expéditeur sont falsifiées). En raison du fait que le DPI est physiquement plus proche de l'utilisateur que du site demandé, la réponse falsifiée atteint le périphérique de l'utilisateur plus rapidement que la réponse réelle du site.

DPI actif

DPI actif - DPI connecté au réseau du fournisseur de la manière habituelle, comme tout autre périphérique réseau. Le fournisseur configure le routage de sorte que le DPI reçoive le trafic des utilisateurs vers des adresses IP ou des domaines bloqués, et le DPI décide déjà d'autoriser ou de bloquer le trafic. Le DPI actif peut vérifier le trafic sortant et entrant, cependant, si le fournisseur utilise uniquement le DPI pour bloquer les sites du registre, il est le plus souvent configuré pour analyser uniquement le trafic sortant.

Non seulement l'efficacité de blocage du trafic, mais également la charge DPI dépendent du type de connexion, il y a donc la possibilité de ne pas vérifier tout le trafic, mais seulement certains:
DPI normal

Un DPI «normal» est un DPI qui filtre un certain type de trafic uniquement sur les ports les plus courants pour ce type. Par exemple, un DPI «normal» détecte et bloque le trafic HTTP interdit uniquement sur le port 80 et le trafic HTTPS sur le port 443. Ce type de DPI ne suivra pas le contenu interdit si vous envoyez une demande avec une URL bloquée à une IP non bloquée ou à un port non standard.

DPI complet

Contrairement au DPI «normal», ce type de DPI classe le trafic indépendamment de l'adresse IP et du port. Ainsi, les sites bloqués ne s'ouvriront pas même si vous utilisez un serveur proxy sur un port complètement différent et une adresse IP non bloquée.

Utilisation DPI


Afin de ne pas réduire le taux de transfert de données, vous devez utiliser le DPI passif "Normal", qui vous permet de bloquer tout? ressources, la configuration par défaut ressemble à ceci:

  • Filtre HTTP sur le port 80 uniquement
  • HTTPS sur le port 443 uniquement
  • BitTorrent uniquement sur les ports 6881-6889

Mais les problèmes commencent, si la ressource utilise un port différent pour ne pas perdre d'utilisateurs , alors vous devrez vérifier chaque paquet, par exemple, vous pouvez citer:

  • HTTP fonctionne sur les ports 80 et 8080
  • HTTPS sur les ports 443 et 8443
  • BitTorrent sur tout autre groupe

Pour cette raison, vous devrez soit basculer vers Active DPI, soit utiliser le blocage à l'aide d'un serveur DNS supplémentaire.

Blocage DNS


Une façon de bloquer l'accès à une ressource est d'intercepter une requête DNS à l'aide d'un serveur DNS local et de renvoyer l'adresse IP du «stub» à l'utilisateur, plutôt que la ressource requise. Mais cela ne donne pas un résultat garanti, car il est possible d'empêcher l'usurpation d'adresse:

Option 1: Modification du fichier d'hôtes (pour le bureau)

Le fichier hosts fait partie intégrante de tout système d'exploitation, ce qui vous permet de toujours l'utiliser. Pour accéder à la ressource, l'utilisateur doit:

  1. Trouver l'adresse IP de la ressource requise
  2. Ouvrez le fichier d'hôtes pour modification (des droits d'administrateur sont requis) situé dans:
    • Linux: / etc / hosts
    • Windows:% WinDir% \ System32 \ drivers \ etc \ hosts
  3. Ajoutez une ligne au format: <adresse IP> <nom de la ressource>
  4. Enregistrer les modifications

L'avantage de cette méthode est sa complexité et les conditions requises pour avoir des droits d'administrateur.

Option 2: DoH (DNS sur HTTPS) ou DoT (DNS sur TLS)

Ces méthodes vous permettent de protéger la requête DNS à l'aide du chiffrement contre l'usurpation d'identité, mais l'implémentation n'est pas prise en charge par toutes les applications. Considérez la facilité de configuration de DoH pour Mozilla Firefox version 66 par l'utilisateur:

  1. Allez à propos de: config dans Firefox
  2. Confirmer que l'utilisateur assume tous les risques
  3. Modifiez la valeur du paramètre network.trr.mode en:
    • 0 - désactiver TRR
    • 1 - sélection automatique
    • 2 - activer DoH par défaut
  4. Modifiez le paramètre network.trr.uri en sélectionnant le serveur DNS
  5. Modifiez le paramètre network.trr.boostrapAddress en:
    • Si Cloudflare DNS est sélectionné: 1.1.1.1
    • Si Google DNS est sélectionné: 8.8.8.8
  6. Modifiez la valeur du paramètre network.security.esni.enabled sur true
  7. Vérifier les paramètres à l'aide de Cloudflare

Bien que cette méthode soit plus complexe, elle ne nécessite pas de droits d'administrateur pour l'utilisateur et il existe de nombreuses autres façons de protéger une requête DNS qui ne sont pas décrites dans cet article.

Option 3 (pour les appareils mobiles):

Utilisation de l'application de Cloudflare pour Android et IOS .

Test


Pour vérifier le manque d'accès aux ressources, un domaine bloqué sur le territoire de la Fédération de Russie a été temporairement acheté:

  • Vérification HTTP + 80 ports
  • Vérification HTTP + port 8080
  • Vérifiez le port HTTPS + 443
  • Vérifiez le port HTTPS + 8443

Conclusion


J'espère que cet article sera utile et encouragera non seulement les administrateurs à comprendre le sujet plus en détail, mais indiquera également clairement que les ressources seront toujours du côté de l'utilisateur, et la recherche de nouvelles solutions devrait en faire partie intégrante.

Liens utiles



Ajout en dehors de l'article
Le test Cloudflare ne peut pas être réussi sur le réseau Tele2, et un DPI correctement configuré bloquera l'accès au site de test.
PS Jusqu'à présent, c'est le premier fournisseur à bloquer correctement les ressources.

Source: https://habr.com/ru/post/fr453260/


All Articles