Hallo,
ich bin auf der Suche nach Informationen-über das Spiel '--string ...
In der Tat, frage ich mich , mir zu dienen richtig dieses Spiel alle Anfragen zu filtern , die "CONNECT * .mxmail.netease .com: 25 "
habe ich eine Grundregel zu berücksichtigen nur" CONNECT ", aber was ich will unbedingt zu wissen, ob es möglich ist , reguläre Ausdrücke verwenden, wie zum Beispiel *, etc ...
iptables -A INPUT -p tcp -m String --to 70 --algo bm --string "CONNECT" j DROP
Voili, voilou ...
netfilter.org/documentation/ ... tml # SS3. 181
Tatsächlich fürchte ich es so eine gute Idee ist? richtig ?!
erstellt
Februar 21.
Letzte Antwort
21. Februar
4
Antworten
40
Ansichten
2
Benutzer
1
Link
3
PascalHambourg
Februar 21.
Nach der iptables - man - Seite, glaube ich nicht , dass die Zeichenfolge Unterstützung passende . reguläre Ausdrücke oder Platzhalter
? was ist der Zweck dieser Filterung ist
PengouinPdt
Februar 21.
Wie ich in meinem ersten Beitrag schrieb, Pascal, filtern jede Abfrage mit dieser Art: "CONNECT * .mxmail.netease.com: 25 . es
handelt sich um Abfragen , die den Web - Server mod_proxy zu verwenden versuchen.
Draußen , wenn ich verstehe es nicht für nginx nicht vorhanden ist , ist es nicht?
Wie dem auch sei, antwortete mit Fehler 400 -. schlechte Anfrage
die Grundidee ist , zu filtern , bevor es auf dem Web - Server ankommt, nicht mehr und nicht weniger.
Aber dann wieder, es könnte eine gute Idee sein?
wie die nginx Bett im Zugriffsprotokoll:
grep "CONNECT" /var/log/nginx/access.log
141 212 122 130 - - [28 / Juli / 2015: 13: 04: 29 0200] "proxytest.zmap CONNECT. io: 80 HTTP / 1.1 "400 166" - "" - "
111.248.63.239 - - [28 / Juli / 2015: 18: 18: 25 0200]" 163mx00.mxmail.netease.com:25 CONNECT HTTP / 1.0 " 400 166 "-" "-"
141 212 122 147 - - [29 / Juli / 2015: 17: 01: 50 0200] "proxytest.zmap.io:80 CONNECT HTTP / 1.1" 400 166 "-" "-"
36229 .232.210 - - [30 / Juli / 2015: 11: 19: 20 0200] "163mx00.mxmail.netease.com:25 CONNECT HTTP / 1.0" 400 166 "-" "-"
111.248.98.176 - - [30 / Juli / 2015: 13: 40: 46 0200] "vip163mx00.mxmail.netease.com:25 CONNECT HTTP / 1.0" 400 166 "-" "-"
61.228.94.37 - - [31 / Juli / 2015: 13: 58 : 16 0200] "vip163mx00.mxmail.netease.com:25 CONNECT HTTP / 1.0" 400 166 "-" "-"
111 248 117 129 - - [31 / Juli / 2015: 18: 14: 01 0200] "CONNECT vip163mx00.mxmail.netease.com:25 HTTP / 1.0 "400 166" - "" - "
Dann sage ich mir , dass dies ein falsches Problem ist, weil ich merke , - hier, jetzt - die verbinden versucht / Umleitungen haben alle der Wert von $ HTTP_USER_AGENT leer, und ich schrieb im Rahmen einer Regel "http" nginx sie zu blockieren , wenn sie leer - aber ich bin immer noch auf der nginx Softwareschicht, nicht ? Netzwerk, ist es nicht
PascalHambourg
Februar 21.
Wie ich in meinem ersten Beitrag schrieb, Pascal, filtern jede Abfrage mit diesem Stil. "CONNECT * .mxmail.netease.com 25
ich verstand avai . Meine Frage war im Wesentlichen wissen, warum, warum? Sie werden im Folgenden beantworten. Es
handelt sich um Abfragen, die die Mod_proxy Webserver. Zu verwenden , versuchen
nun, wenn ich verstehe es nicht für nginx nicht vorhanden ist , nicht wahr?
Ich weiß, weiß ich nicht , nginx. Es scheint , als Proxy fungieren. Wenn es in Forward - Proxy arbeiten kann, unterstützt die CONNECT - Methode.
Die Idee zu filtern, bevor es auf dem Web - Server ankommt, nicht mehr und nicht weniger.
Aber dann wieder, kann es sein , falsche gute Idee?
ich denke , es ist so eine gute Idee. Dies ist ein Filter der Anwendungsschicht (Schicht 7 des OSI - Modells) , die auf der Anwendungsebene erreicht werden soll, kein Paketfilter. Es gibt mehrere technische Herausforderungen dieser Art von Filtern mit einem Paketfilter wie iptables zu erreichen, zum Beispiel:
- Wenn das Suchmuster Spagat zwischen zwei aufeinanderfolgenden Paketen, Korrespondenz , die sich lediglich auf einzelne Pakete wird nicht funktionieren.
- das Ziel ist , nur die Methode der HTTP - Anforderung zu filtern. Oder Korrespondenz gilt auch , wenn das Muster an anderer Stelle in der Kommunikation zu finden ist, wie es immer der Fall , wenn Sie diese Nachricht geschrieben hat, ein falsch positives zu schaffen. Es ist nicht trivial iptables zu sagen , nur in der dritten Paket der Verbindung durch den Client gesendet zu suchen (und es ist nicht einmal genug , wenn die Keep-Alive aktiviert ist, wird eine neue Anwendung , die n sein kann " überall in der Strömung der Verbindung).
- das Ergebnis wird sein , dass das Paket das Muster enthält , blockiert. Der Kunde kann benachrichtigt werden , wenn die Regel verwendet anstelle von Drop - Ziel REJECT, aber der Server möchten Sie zu schützen , nichts für ihn wissen , und die Verbindung wird offen bleiben, auf Daten wartet, unnötig zu besetzen Ressourcen Time-out.
Wenn Ihr Web - Server nicht soll Proxy dienen, verbieten einfach die CONNECT - Methode und das ist es.
PengouinPdt
Februar 21
(..)
Wenn Ihr Web - Server tut
Übersetzt wird, bitte warten..
