DPI-Einstellungsfunktionen

Dieser Artikel behandelt nicht die vollständige DPI-Einstellung und alles, was damit zusammenhängt, und der wissenschaftliche Wert des Textes ist minimal. Es beschreibt jedoch den einfachsten Weg, um DPI zu umgehen, den viele Unternehmen nicht berücksichtigt haben.

Bild

Warnung Nr. 1: Dieser Artikel ist Forschung in der Natur, ermutigt niemanden, etwas zu tun und zu verwenden. Die Idee basiert auf persönlicher Erfahrung und alle Zufälle sind zufällig.

Warnung Nr. 2: Der Artikel enthüllt nicht die Geheimnisse von Atlantis, die Suche nach dem Heiligen Gral und andere Geheimnisse des Universums. Alles Material ist gemeinfrei und wurde möglicherweise mehr als einmal auf Habré beschrieben. (Ich habe nicht gefunden, ich werde für den Link dankbar sein)

Für diejenigen, die die Warnungen lesen, fangen wir an.

Was ist DPI?


DPI oder Deep Packet Inspection - eine Technologie zum Sammeln statistischer Daten, Überprüfen und Filtern von Netzwerkpaketen, die nicht nur Paket-Header, sondern auch den gesamten Verkehrsinhalt auf OSI-Modellebene ab der zweiten und höheren Ebene analysiert. So können Sie Viren erkennen und blockieren und Informationen filtern, die bestimmte Kriterien nicht erfüllen .

Es gibt zwei Arten von DPI-Verbindungen, die von ValdikSS auf Github beschrieben werden :
Passive DPI

DPI, das parallel (nicht im Schnitt) entweder über einen passiven optischen Splitter oder durch Spiegelung des von Benutzern kommenden Datenverkehrs mit dem Anbieternetzwerk verbunden ist. Eine solche Verbindung verlangsamt bei unzureichender DPI-Leistung nicht die Geschwindigkeit des Providernetzwerks, weshalb sie von großen Providern verwendet wird. DPI mit dieser Art von Verbindung kann einen Versuch, verbotene Inhalte anzufordern, technisch nur erkennen, aber nicht stoppen. Um diese Einschränkung zu umgehen und den Zugriff auf die verbotene Site zu blockieren, sendet DPI ein speziell gestaltetes HTTP-Paket an den Benutzer, um die blockierte URL mit einer Weiterleitung zur Provider-Stub-Seite anzufordern, als hätte die angeforderte Ressource selbst eine solche Antwort gesendet (die IP-Adresse und die TCP-Sequenz des Absenders sind gefälscht). Aufgrund der Tatsache, dass die DPI physisch näher am Benutzer liegt als die angeforderte Site, erreicht die gefälschte Antwort das Gerät des Benutzers schneller als die tatsächliche Antwort von der Site.

Aktive DPI

Active DPI - DPI, das wie jedes andere Netzwerkgerät wie gewohnt mit dem Netzwerk des Anbieters verbunden ist. Der Anbieter konfiguriert das Routing so, dass die DPI Datenverkehr von Benutzern zu blockierten IP-Adressen oder Domänen empfängt und die DPI bereits entscheidet, Datenverkehr zuzulassen oder zu blockieren. Active DPI kann sowohl ausgehenden als auch eingehenden Datenverkehr überprüfen. Wenn der Anbieter DPI jedoch nur zum Blockieren von Sites aus der Registrierung verwendet, ist er meistens so konfiguriert, dass nur ausgehender Datenverkehr gescannt wird.

Nicht nur die Blockierungseffizienz des Datenverkehrs, sondern auch die DPI-Last hängt von der Art der Verbindung ab. Daher besteht die Möglichkeit, nicht den gesamten Datenverkehr zu überprüfen, sondern nur bestimmte:
Normale DPI

Eine „normale“ DPI ist eine DPI, die einen bestimmten Verkehrstyp nur an den gängigsten Ports für diesen Typ filtert. Beispielsweise erkennt und blockiert eine „normale“ DPI den verbotenen HTTP-Verkehr nur auf Port 80 und den HTTPS-Verkehr auf Port 443. Diese Art von DPI verfolgt keinen verbotenen Inhalt, wenn Sie eine Anfrage mit einer blockierten URL an eine nicht blockierte IP oder einen nicht standardmäßigen Port senden.

Volle DPI

Im Gegensatz zu "normalen" DPI klassifiziert dieser DPI-Typ den Datenverkehr unabhängig von IP-Adresse und Port. Blockierte Sites werden daher auch dann nicht geöffnet, wenn Sie einen Proxyserver an einem völlig anderen Port und mit einer nicht blockierten IP-Adresse verwenden.

DPI-Nutzung


Um die Datenübertragungsrate nicht zu reduzieren, müssen Sie die "normale" passive DPI verwenden, die es Ihnen ermöglicht, effektiv? irgendwelche blockieren? Ressourcen sieht die Standardkonfiguration folgendermaßen aus:

  • HTTP-Filter nur an Port 80
  • HTTPS nur an Port 443
  • BitTorrent nur an 6881-6889-Ports

Probleme beginnen jedoch, wenn die Ressource einen anderen Port verwendet, um keine Benutzer zu verlieren , müssen Sie jedes Paket überprüfen. Sie können beispielsweise Folgendes zitieren:

  • HTTP funktioniert auf Port 80 und 8080
  • HTTPS an Port 443 und 8443
  • BitTorrent auf jeder anderen Band

Aus diesem Grund müssen Sie entweder zu Active DPI wechseln oder die Blockierung mithilfe eines zusätzlichen DNS-Servers verwenden.

DNS-Blockierung


Eine Möglichkeit, den Zugriff auf eine Ressource zu blockieren, besteht darin, eine DNS-Abfrage über den lokalen DNS-Server abzufangen und die IP-Adresse des „Stubs“ anstelle der erforderlichen Ressource an den Benutzer zurückzugeben. Dies führt jedoch nicht zu einem garantierten Ergebnis, da Adressspoofing verhindert werden kann:

Option 1: Bearbeiten der Hosts-Datei (für den Desktop)

Die Hosts-Datei ist ein wesentlicher Bestandteil jedes Betriebssystems, sodass Sie sie immer verwenden können. Um auf die Ressource zuzugreifen, muss der Benutzer:

  1. Suchen Sie die IP-Adresse der erforderlichen Ressource
  2. Öffnen Sie die Hosts-Datei zum Bearbeiten (Administratorrechte sind erforderlich) unter:
    • Linux: / etc / hosts
    • Windows:% WinDir% \ System32 \ drivers \ etc \ hosts
  3. Fügen Sie eine Zeile im Format hinzu: <IP-Adresse> <Ressourcenname>
  4. Änderungen speichern

Der Vorteil dieser Methode ist ihre Komplexität und die Anforderungen an Administratorrechte.

Option 2: DoH (DNS über HTTPS) oder DoT (DNS über TLS)

Mit diesen Methoden können Sie die DNS-Abfrage mithilfe von Verschlüsselung vor Spoofing schützen. Die Implementierung wird jedoch nicht von allen Anwendungen unterstützt. Betrachten Sie die einfache Konfiguration von DoH für Mozilla Firefox Version 66 durch den Benutzer:

  1. Gehen Sie zu ungefähr: config in Firefox
  2. Bestätigen Sie, dass der Benutzer alle Risiken übernimmt
  3. Ändern Sie den Wert des Parameters network.trr.mode in:
    • 0 - TRR deaktivieren
    • 1 - automatische Auswahl
    • 2 - Aktivieren Sie DoH standardmäßig
  4. Ändern Sie den Parameter network.trr.uri , indem Sie den DNS-Server auswählen
  5. Ändern Sie den Parameter network.trr.boostrapAddress in:
    • Wenn Cloudflare DNS ausgewählt ist: 1.1.1.1
    • Wenn Google DNS ausgewählt ist: 8.8.8.8
  6. Ändern Sie den Wert des Parameters network.security.esni.enabled in true
  7. Überprüfen Sie die Einstellungen mit Cloudflare

Obwohl diese Methode komplexer ist, sind für den Benutzer keine Administratorrechte erforderlich, und es gibt viele andere Möglichkeiten zum Schutz einer DNS-Abfrage, die in diesem Artikel nicht beschrieben werden.

Option 3 (für mobile Geräte):

Verwenden der Anwendung von Cloudflare für Android und IOS .

Testen


Um den fehlenden Zugang zu Ressourcen zu überprüfen, wurde vorübergehend eine auf dem Territorium der Russischen Föderation blockierte Domain gekauft:

  • HTTP-Prüfung + 80 Port
  • HTTP-Prüfung + 8080-Port
  • Überprüfen Sie den HTTPS + 443-Port
  • Überprüfen Sie den HTTPS + 8443-Port

Fazit


Ich hoffe, dieser Artikel wird nützlich sein und nicht nur Administratoren dazu ermutigen, das Thema genauer zu verstehen, sondern auch deutlich machen, dass Ressourcen immer auf der Benutzerseite stehen und die Suche nach neuen Lösungen ein wesentlicher Bestandteil für sie sein sollte.

Nützliche Links



Ergänzung außerhalb des Artikels
Der Cloudflare-Test kann nicht im Tele2-Netzwerk bestanden werden, und eine ordnungsgemäß konfigurierte DPI blockiert den Zugriff auf den Teststandort.
PS Bisher ist dies der erste Anbieter, der Ressourcen korrekt blockiert.

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


All Articles