Kenmerken van DPI-instellingen

Dit artikel gaat niet in op de volledige DPI-aanpassing en alles wat met elkaar samenhangt, en de wetenschappelijke waarde van de tekst is minimaal. Maar het beschrijft de eenvoudigste manier om DPI te omzeilen, waar veel bedrijven geen rekening mee hebben gehouden.

Kenmerken van DPI-instellingen

Disclaimer #1: Dit artikel heeft een onderzoekskarakter en moedigt niemand aan om iets te doen of te gebruiken. Het idee is gebaseerd op persoonlijke ervaring en eventuele overeenkomsten zijn willekeurig.

Waarschuwing nr. 2: het artikel onthult niet de geheimen van Atlantis, de zoektocht naar de Heilige Graal en andere mysteries van het universum; al het materiaal is vrij beschikbaar en is mogelijk meer dan eens beschreven op Habré. (Ik heb het niet gevonden, ik zou dankbaar zijn voor de link)

Voor degenen die de waarschuwingen hebben gelezen: laten we beginnen.

Wat is DPI?

DPI of Deep Packet Inspection is een technologie voor het verzamelen van statistische gegevens, het controleren en filteren van netwerkpakketten door niet alleen pakketheaders te analyseren, maar ook de volledige inhoud van het verkeer op niveaus van het OSI-model vanaf het tweede en hogere niveau, waardoor u deze kunt detecteren en blokkeer virussen, filter informatie die niet aan gespecificeerde criteria voldoet.

Er zijn twee soorten DPI-verbindingen die worden beschreven ValdikSS op github:

Passieve DPI

DPI is parallel verbonden met het netwerk van de provider (niet in een snede), hetzij via een passieve optische splitter, hetzij via spiegeling van verkeer afkomstig van gebruikers. Deze verbinding vertraagt ​​de snelheid van het netwerk van de provider niet bij onvoldoende DPI-prestaties en wordt daarom door grote providers gebruikt. DPI met dit verbindingstype kan technisch gezien alleen een poging detecteren om verboden inhoud op te vragen, maar deze niet stoppen. Om deze beperking te omzeilen en de toegang tot een verboden site te blokkeren, stuurt DPI de gebruiker die een geblokkeerde URL aanvraagt ​​een speciaal vervaardigd HTTP-pakket met een omleiding naar de stub-pagina van de provider, alsof een dergelijk antwoord door de gevraagde bron zelf is verzonden (het IP-adres van de afzender). adres en TCP-reeks zijn vervalst). Omdat de DPI zich fysiek dichter bij de gebruiker bevindt dan de opgevraagde site, bereikt het vervalste antwoord het apparaat van de gebruiker sneller dan het echte antwoord van de site.

Actieve DPI

Actieve DPI - DPI is op de gebruikelijke manier verbonden met het netwerk van de provider, net als elk ander netwerkapparaat. De provider configureert de routering zo dat DPI verkeer ontvangt van gebruikers naar geblokkeerde IP-adressen of domeinen, en DPI beslist vervolgens of het verkeer wordt toegestaan ​​of geblokkeerd. Actieve DPI kan zowel uitgaand als inkomend verkeer inspecteren, maar als de provider DPI alleen gebruikt om sites uit het register te blokkeren, is deze meestal geconfigureerd om alleen uitgaand verkeer te inspecteren.

Niet alleen de effectiviteit van verkeersblokkering, maar ook de belasting van DPI is afhankelijk van het type verbinding, dus het is mogelijk om niet al het verkeer te scannen, maar alleen bepaalde:

"Normale" DPI

Een “gewone” DPI is een DPI die een bepaald type verkeer alleen filtert op de meest voorkomende poorten voor dat type. Een ‘normale’ DPI detecteert en blokkeert bijvoorbeeld alleen verboden HTTP-verkeer op poort 80, HTTPS-verkeer op poort 443. Dit type DPI traceert geen verboden inhoud als u een verzoek met een geblokkeerde URL naar een niet-geblokkeerd IP-adres of niet-geblokkeerde IP-adres verzendt. standaard poort.

"Volledige" DPI

In tegenstelling tot de “gewone” DPI classificeert dit type DPI verkeer, ongeacht het IP-adres en de poort. Op deze manier worden geblokkeerde sites niet geopend, zelfs niet als u een proxyserver op een geheel andere poort en een niet-geblokkeerd IP-adres gebruikt.

DPI gebruiken

Om de gegevensoverdrachtsnelheid niet te verlagen, moet u de “Normale” passieve DPI gebruiken, waardoor u effectief kunt werken. iets blokkeren? bronnen, ziet de standaardconfiguratie er als volgt uit:

  • HTTP-filter alleen op poort 80
  • HTTPS alleen op poort 443
  • BitTorrent alleen op poorten 6881-6889

Maar de problemen beginnen als de bron zal een andere poort gebruiken om geen gebruikers te verliezen, dan moet u elk pakket controleren, u kunt bijvoorbeeld het volgende opgeven:

  • HTTP werkt op poort 80 en 8080
  • HTTPS op poort 443 en 8443
  • BitTorrent op een andere band

Hierdoor moet u ofwel overschakelen naar “Actieve” DPI, ofwel blokkering gebruiken met behulp van een extra DNS-server.

Blokkeren met DNS

Eén manier om de toegang tot een bron te blokkeren is door het DNS-verzoek te onderscheppen met behulp van een lokale DNS-server en de gebruiker een “stub” IP-adres te retourneren in plaats van de vereiste bron. Maar dit geeft geen gegarandeerd resultaat, aangezien het mogelijk is om adresspoofing te voorkomen:

Optie 1: het hosts-bestand bewerken (voor desktop)

Het hosts-bestand is een integraal onderdeel van elk besturingssysteem, waardoor u het altijd kunt gebruiken. Om toegang te krijgen tot de bron moet de gebruiker:

  1. Ontdek het IP-adres van de vereiste bron
  2. Open het hosts-bestand om te bewerken (beheerdersrechten vereist), gelegen in:
    • Linux: /etc/hosts
    • Windows: %WinDir%System32driversetchosts
  3. Voeg een regel toe in de notatie: <bronnaam>
  4. Sla wijzigingen op

Het voordeel van deze methode is de complexiteit ervan en de vereiste voor beheerdersrechten.

Optie 2: DoH (DNS over HTTPS) of DoT (DNS over TLS)

Met deze methoden kunt u uw DNS-verzoek beschermen tegen spoofing met behulp van encryptie, maar de implementatie wordt niet door alle applicaties ondersteund. Laten we eens kijken naar het gemak van het instellen van DoH voor Mozilla Firefox versie 66 vanaf de gebruikerskant:

  1. Ga naar adres about: config in Firefox
  2. Bevestig dat de gebruiker alle risico's op zich neemt
  3. Wijzig parameterwaarde netwerk.trr.mode Aan:
    • 0 — schakel TRR uit
    • 1 - automatische selectie
    • 2 - DoH standaard inschakelen
  4. Parameter wijzigen netwerk.trr.uri DNS-server selecteren
    • Cloudflare DNS: mozilla.cloudflare-dns.com/dns-query
    • Google-DNS: dns.google.com/experimenteel
  5. Parameter wijzigen netwerk.trr.boostrapAddress Aan:
    • Als Cloudflare DNS is geselecteerd: 1.1.1.1
    • Als Google DNS is geselecteerd: 8.8.8.8
  6. Wijzig parameterwaarde netwerk.security.esni.enabled op waar
  7. Controleer of de instellingen correct zijn met behulp van Cloudflare-service

Hoewel deze methode complexer is, hoeft de gebruiker geen beheerdersrechten te hebben. Er zijn veel andere manieren om een ​​DNS-verzoek te beveiligen die niet in dit artikel worden beschreven.

Optie 3 (voor mobiele apparaten):

Gebruik de Cloudflare-app om Android и IOS.

Testen

Om het gebrek aan toegang tot bronnen te controleren, werd tijdelijk een in de Russische Federatie geblokkeerd domein gekocht:

Conclusie

Ik hoop dat dit artikel nuttig zal zijn en niet alleen beheerders zal aanmoedigen om het onderwerp in meer detail te begrijpen, maar ook inzicht zal geven dat De middelen zullen altijd aan de kant van de gebruiker staan, en het zoeken naar nieuwe oplossingen moet voor hen een integraal onderdeel zijn.

Nuttige links

Toevoeging buiten het artikelDe Cloudflare-test kan niet worden voltooid op het Tele2-operatornetwerk en een correct geconfigureerde DPI blokkeert de toegang tot de testlocatie.
PS Tot nu toe is dit de eerste provider die bronnen correct blokkeert.

Bron: www.habr.com

Voeg een reactie