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.
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 ValdikSSop 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:
Ontdek het IP-adres van de vereiste bron
Open het hosts-bestand om te bewerken (beheerdersrechten vereist), gelegen in:
Linux: /etc/hosts
Windows: %WinDir%System32driversetchosts
Voeg een regel toe in de notatie: <bronnaam>
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:
Wijzig parameterwaarde netwerk.security.esni.enabled op waar
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.
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.
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.