Caractéristiques des paramètres DPI

Cet article ne couvre pas l’ajustement DPI complet et tout ce qui est connecté, et la valeur scientifique du texte est minime. Mais il décrit le moyen le plus simple de contourner le DPI, dont de nombreuses entreprises n'ont pas pris en compte.

Caractéristiques des paramètres DPI

Avis de non-responsabilité n°1 : cet article est de nature recherche et n'encourage personne à faire ou à utiliser quoi que ce soit. L’idée est basée sur une expérience personnelle et toute similitude est aléatoire.

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

Pour ceux qui ont lu les avertissements, commençons.

Qu’est-ce que le DPI ?

DPI ou Deep Packet Inspection est 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 des paquets, mais également le contenu complet du trafic aux niveaux du modèle OSI à partir du deuxième et supérieur, ce qui vous permet de détecter et bloquer les virus, filtrer les informations qui ne répondent pas aux critères spécifiés.

Il existe deux types de connexion DPI, décrits ValdikSS sur github:

PPP passif

DPI connecté au réseau du fournisseur en parallèle (pas dans une coupure) soit via un séparateur optique passif, soit en utilisant la mise en miroir du trafic provenant des utilisateurs. Cette 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. Techniquement, le DPI avec ce type de connexion ne peut que détecter une tentative de demande de contenu interdit, mais pas l'arrêter. Pour contourner cette restriction et bloquer l'accès à un site interdit, DPI envoie à l'utilisateur demandant une URL bloquée un paquet HTTP spécialement conçu avec une redirection vers la page stub du fournisseur, comme si une telle réponse avait été envoyée par la ressource demandée elle-même (l'adresse IP de l'expéditeur l'adresse et la séquence TCP sont falsifiées). Étant donné que le DPI est physiquement plus proche de l'utilisateur que du site demandé, la réponse usurpée atteint l'appareil de l'utilisateur plus rapidement que la réponse réelle du site.

PPP 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 manière à ce que DPI reçoive le trafic des utilisateurs vers des adresses IP ou des domaines bloqués, et DPI décide ensuite d'autoriser ou de bloquer le trafic. Le DPI actif peut inspecter à la fois le trafic sortant et entrant. Cependant, si le fournisseur utilise le DPI uniquement pour bloquer les sites du registre, il est le plus souvent configuré pour inspecter uniquement le trafic sortant.

Non seulement l'efficacité du blocage du trafic, mais aussi la charge sur DPI dépendent du type de connexion, il est donc possible de ne pas analyser tout le trafic, mais seulement certains :

PPP "normaux"

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, le trafic HTTPS sur le port 443. Ce type de DPI ne suivra pas le contenu interdit si vous envoyez une requête avec une URL bloquée à une adresse IP non bloquée ou non. port standard.

"Plein" DPI

Contrairement au DPI « normal », ce type de DPI classe le trafic quels que soient l'adresse IP et le port. De cette façon, 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 débloquée.

Utiliser le DPI

Afin de ne pas réduire le taux de transfert de données, vous devez utiliser un DPI passif « Normal », ce qui vous permet de le faire efficacement ? en bloquer ? ressources, la configuration par défaut ressemble à ceci :

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

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

  • HTTP fonctionne sur les ports 80 et 8080
  • HTTPS sur les ports 443 et 8443
  • BitTorrent sur n'importe quel autre groupe

Pour cette raison, vous devrez soit passer au DPI « Actif », soit utiliser le blocage à l'aide d'un serveur DNS supplémentaire.

Blocage via DNS

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

Option 1 : Modification du fichier hosts (pour ordinateur de 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. Découvrez l'adresse IP de la ressource requise
  2. Ouvrez le fichier hosts pour le modifier (droits d'administrateur requis), situé dans :
    • Linux : /etc/hosts
    • Windows : %WinDir%System32driversethosts
  3. Ajoutez une ligne au format : <nom de la ressource>
  4. Enregistrer les modifications

L'avantage de cette méthode est sa complexité et la nécessité de disposer de droits d'administrateur.

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

Ces méthodes vous permettent de protéger votre requête DNS contre l'usurpation d'identité grâce au cryptage, mais la mise en œuvre n'est pas prise en charge par toutes les applications. Examinons la facilité de configuration de DoH pour Mozilla Firefox version 66 du côté de l'utilisateur :

  1. Aller à l'adresse about: config dans Firefox
  2. Confirmer que l'utilisateur assume tous les risques
  3. Modifier la valeur du paramètre réseau.trr.mode à:
    • 0 - désactiver le TRR
    • 1 - sélection automatique
    • 2 - activer DoH par défaut
  4. Changer le paramètre réseau.trr.uri sélection du serveur DNS
    • DNS Cloudflare : mozilla.cloudflare-dns.com/dns-query
    • DNS Google: dns.google.com/experimental
  5. Changer le paramètre network.trr.boostrapAddress à:
    • Si Cloudflare DNS est sélectionné : 1.1.1.1
    • Si Google DNS est sélectionné : 8.8.8.8
  6. Modifier la valeur du paramètre réseau.sécurité.esni.enabled sur oui
  7. Vérifiez que les paramètres sont corrects à l'aide Service Cloud Flare

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

Option 3 (pour les appareils mobiles) :

Utiliser l'application Cloudflare pour Android и IOS.

Test

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

Conclusion

J'espère que cet article sera utile et encouragera non seulement les administrateurs à comprendre le sujet plus en détail, mais permettra également de comprendre 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'articleLe test Cloudflare ne peut pas être effectué sur le réseau de l'opérateur Tele2 et un DPI correctement configuré bloque l'accès au site de test.
PS Jusqu'à présent, c'est le premier fournisseur qui bloque correctement les ressources.

Source: habr.com

Ajouter un commentaire