
Ich bin bei einem unzuverlässigen ISP/AS, so etwas wie der GFW. Sie versuchen aktiv, eine TCP+TLS-Sitzung durch Angriffe zu sabotieren, wie z. B. das Senden SYN RST
an bestehende Verbindungen, das Herbeiführen eines Verbindungstimeouts, das Manipulieren des Handshakes usw.
Gibt es im Netzwerk-Stack ein Dienstprogramm, um herauszufinden, ob der Server solchen Quality-of-Service-Angriffen ausgesetzt ist?
Um beispielsweise ein Signal SYN RST
von jemand anderem als dem Client/Server zu erkennen, können wir den TCPdump von Client und Server vergleichen, um herauszufinden, ob das Signal von einem Dritten kam oder nicht. Wir können das manuell machen oder ein Skript schreiben. Aber gibt es dafür fertige Tools? Können sie p0f
dafür verwendet werden?
Antwort1
Grundsätzlich, Fingerprinting könnte den Angriff erkennen. Aber Sie haben vielleicht bemerkt, dass es in der RegelprobabilistischMethode, bei der Sie nicht mit Sicherheit sagen können, ob ein einzelnes Paket harmlos ist oder gefälscht wurde, um es zuverlässig zu blockieren.
Besser ist es, sich Metadatenfelder wie TTL anzusehen, die bei echten Paketen wahrscheinlich niedriger sind als bei gefälschten, da sie durch mehrere Router gegangen sind, die jeweils den Zähler dekrementieren. Es ist sinnvoll, ein Paket zu löschen, wenn sich seine TTL erheblich von den zuvor in der Verbindung beobachteten unterscheidet. Dies könnte wahrscheinlich mithilfe der Connmark-Match-/CONNMARK-Zielregeln von iptables implementiert werden (Aufzeichnen der TTL für neue Verbindungen in der Verbindungsmarkierung und Prüfen auf nachfolgende Pakete).
Sie wissen vielleicht, dass viele Internetressourcen in Russland blockiert sind. Die Technologie zum Blockieren ist unterschiedlich, aber eine davon ist genau das, was Sie uns sagen – wenn das ТСПУ-Gerät (was für „технические средства противодействия угрозам“ steht, technische Mittel zur Abwehr von Bedrohungen; es ist im Wesentlichen ein DPI) denkt, dass die Verbindung blockiert werden sollte, könnte es den TCP RST senden. Es blockiert nicht (oder hat zumindest nicht blockiert) die nachfolgenden normalen Pakete, alsoWennSie hatten die Möglichkeit, das RST-Paket zu erkennen und zu eliminieren, Sie können die „gesperrte“ Ressource frei nutzen. Es gibt eine Website, die sich mit Methoden zur Umgehung der Zensur beschäftigt,ntc.party(Ich bin in keiner Weise damit verbunden). Insbesondere eines der aktiven Mitglieder der Community,ValdikSS, machte eine Softwareauf WiedersehenDPIwelchewar in der Lageum eine solche Blockade zu umgehen. Es scheint auch die erwähnte TTL-Erkenntnis zu nutzen. Er listet auch andere Software mit ähnlicher Funktion auf.
Außerdem möchte ich speziell auf die Frage im Titel eingehen.IPsecumschließt das gesamte IP-Paket (einschließlich TCP) oder nur dessen Nutzdaten und authentifiziert es mit einer elektronischen Signatur, wodurch es unmöglich wird, es mit den von Ihnen beschriebenen Methoden zu manipulieren. Sie müssen ein Paket nicht verschlüsseln, es gibt einen IPsec- ah
Header, der nur MAC hinzufügt (und überprüft) und es ansonsten im Klartext präsentiert. Oder Sie können mithilfe des esp
Headers verschlüsseln.
Leider können Sie sich nicht darauf verlassen, wenn Sie sich mit beliebigen "anonymen" Diensten verbinden, denn um IPsec zu aktivieren, müssen Sie Schlüssel mit der Partei teilenvorzur Nutzung der Technologie.