In der vergangenen Woche habe ich einen riesigen Datenverkehr von einer Vielzahl chinesischer IP-Adressen erhalten. Dieser Datenverkehr scheint von normalen Personen zu stammen, und ihre HTTP-Anfragen weisen darauf hin, dass sie meinen, ich sei:
- Die Piratenbucht
- verschiedene BitTorrent Tracker,
- Pornoseiten
All das klingt nach Dingen, für die Leute ein VPN verwenden würden. Oder Dinge, die die Chinesische Mauer verärgern würden.
Benutzerprogramme umfassen Webbrowser, Android, iOS, FBiOSSDK und Bittorrent. Die IP-Adressen sind normale kommerzielle chinesische Anbieter.
Nginx gibt 444 zurück, wenn der Host falsch ist oder der Benutzeragent offensichtlich falsch ist:
## Deny illegal Host headers
if ($host !~* ^({{ www_domain }})$ ) {
return 444;
}
## block bad agents
if ($http_user_agent ~* FBiOSSDK|ExchangeWebServices|Bittorrent) {
return 444;
}
Ich kann jetzt mit der Last umgehen, aber es gab einige Ausbrüche von bis zu 2k / Minute. Ich möchte herausfinden, warum sie zu mir kommen und es aufhalten. Wir haben auch legitimen CN-Verkehr, daher ist ein Verbot von 1/6 des Planeten Erde keine Option.
Es ist möglich, dass es böswillig und sogar persönlich ist, aber es kann einfach ein falsch konfigurierter DNS sein.
Meiner Theorie nach handelt es sich um einen falsch konfigurierten DNS-Server oder möglicherweise um einige VPN-Dienste, mit denen die Leute die Great Fire Wall umgehen.
Angesichts einer Client-IP-Adresse:
183.36.131.137 - - [05/Jan/2015:04:44:12 -0500] "GET /announce?info_hash=%3E%F3%0B%907%7F%9D%E1%C1%CB%BAiF%D8C%DE%27vG%A9&peer_id=%2DSD0100%2D%96%8B%C0%3B%86n%8El%C5L%11%13&ip=183.36.131.137&port=11794&uploaded=4689970239&downloaded=4689970239&left=0&numwant=200&key=9085&compact=1 HTTP/1.0" 444 0 "-" "Bittorrent"
Ich kann wissen:
descr: CHINANET Guangdong province network
descr: Data Communication Division
descr: China Telecom
- Wie kann ich herausfinden, welchen DNS-Server diese Kunden verwenden?
- Gibt es trotzdem zu bestimmen, ob eine HTTP-Anfrage von einem VPN kommt?
- Was ist hier wirklich los?
Antworten:
Es gibt einen theoretischen Weg, den DNS-Resolver Ihrer Clients zu bestimmen, aber er ist ziemlich weit fortgeschritten, und ich kenne keine Standard-Software, die das für Sie erledigt. Dazu müssen Sie auf jeden Fall zusätzlich zu Ihrem Nginx einen autorisierenden DNS-Server ausführen.
Wenn der HTTP-Host-Header falsch ist, stellen Sie ein Fehlerdokument bereit und fügen Sie für jede Anforderung, die Sie in einer Datenbank protokollieren, eine Anforderung an einen dynamisch erstellten, eindeutigen FQDN hinzu. z.B.
Solange Chinas große Firewall nicht mit dieser Anfrage herumspielt und der Client das Dokument von diesem eindeutigen FQDN + URI anfordert, führt jede Anfrage zu einer neuen DNS-Suche zu Ihrem autorisierenden DNS für example.com, wo Sie die IP von protokollieren können DNS-Resolver und später korrelieren dies mit Ihren dynamisch generierten URIs.
quelle
example.com
, würden Sie einen NS-Eintrag für eine Unterdomäne wie erstellenns-detect.example.com
. Dann würden Sie einen eindeutigen Namen unter diesem Domain-Namen erstellen, beispielsweise die vollständige Domaine2665feebe35bc97aff1b329c87b87e7.ns-detect.example.com
.Ich habe gehört, dass die großartige Firewall den "blockierten" Datenverkehr auf eine Handvoll gefälschter IP-Adressen umleitet, aber dies führte dazu, dass ihre Blöcke leicht erkannt wurden (ich bin mir nicht sicher, ob dies eine einfache Subversion ermöglichte). In jedem Fall haben die Administratoren damit begonnen, auf zufällige IP-Adressen umzuleiten. Dies hat offenbar dazu geführt, dass einige chinesische Benutzer Pornos anstatt von Facebook oder VPNs erhalten.
Ich vermute, dass sich eine Ihrer IPs als Empfänger blockierten chinesischen Datenverkehrs herausgestellt hat - daher sehen Sie IPI-Benutzeragenten auf Facebook.
Dies bedeutet, dass die Host-Header-Prüfung gut sein sollte. Die meisten Benutzeragenten unterstützen heutzutage SNI. Sie sollten daher in der Lage sein, den Datenverkehr ohne Host-Header relativ ungestraft zu beenden.
Edit: http://www.infosecurity-magazine.com/news/great-firewall-upgrade-redirects/
quelle
Kontaktieren Sie Chinanet und fragen Sie? Im Ernst, DNS kann auf der Clientseite konfiguriert werden. Die meisten Leute erhalten DNS-Einstellungen über DHCP, aber OpenDNS und das DNS-Angebot von Google hätten kein Geschäftsmodell, wenn Sie diese nicht ändern könnten.
Nicht wirklich, außer dass die IP vom VPN stammt, nicht vom Endbenutzer in China.
Das kann ich Ihnen nicht sagen, aber vielleicht gibt es eine Art von Fehlkonfiguration in der Great Firewall of China ?
quelle