Таинственный неверно направленный китайский трафик: Как я могу узнать, какой DNS-сервер использовал HTTP-запрос?


24

В течение прошлой недели я получал огромный поток трафика с широкого диапазона китайских IP-адресов. Этот трафик, кажется, от нормальных людей, и их HTTP-запросы указывают, что они думают, что я:

  • facebook
  • Пиратская бухта
  • различные трекеры BitTorrent,
  • порносайты

Все это звучит как вещи, для которых люди будут использовать VPN. Или вещи, которые могли бы разозлить Великую китайскую стену.

Пользовательские агенты включают веб-браузеры, Android, iOS, FBiOSSDK, Bittorrent. IP-адреса являются обычными коммерческими китайскими провайдерами.

У меня Nginx возвращает 444, если хост неверен или пользовательский агент явно не прав:

## Deny illegal Host headers
if ($host !~* ^({{ www_domain }})$ ) {
   return 444;
}
## block bad agents
if ($http_user_agent ~* FBiOSSDK|ExchangeWebServices|Bittorrent) {
    return 444;
}

Я могу справиться с нагрузкой сейчас, но было несколько ударов до 2к / мин. Я хочу выяснить, почему они приходят ко мне и остановить это. У нас также есть законный CN-трафик, поэтому запретить 1/6 планеты Земля нельзя.

Возможно, это злонамеренный и даже личный, но это может быть просто неправильно настроенный DNS.

Моя теория заключается в том, что это неправильно настроенный DNS-сервер или, возможно, некоторые VPN-сервисы, которые люди используют для обхода Великой Огненной Стены.

Учитывая IP-адрес клиента:

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"

Я могу знать:

descr:          CHINANET Guangdong province network
descr:          Data Communication Division
descr:          China Telecom
  • Как я могу узнать, какой DNS-сервер используют эти клиенты?
  • Есть ли способ определить, поступает ли HTTP-запрос от VPN?
  • Что на самом деле здесь происходит?

5
Я видел эту проблему и раньше, и являясь целью трафика, и передавая трафик, предназначенный для моего сервера, куда-то еще. У меня нет ответов, хотя. Я уменьшил влияние первой проблемы с брандмауэром, а второй - с помощью программного решения, которое было возможно только в нашей конкретной ситуации (наше программное обеспечение выполняло запросы). В процессе подстрекательства мы обнаружили, что некоторые DNS-серверы отказываются соблюдать очень низкие значения TTL, вместо этого кэшируя результат в течение нескольких месяцев, что может объяснить список сайтов, для которых вы получаете трафик.
xofer

1
Также проверьте этот вопрос. У меня была такая же проблема serverfault.com/questions/656093/… Мне просто любопытно, почему интернет-провайдер сделал бы что-то подобное. Я не вижу значения в
дюймах

4
По моему опыту, это попытки найти открытые веб-прокси. Некоторые веб-серверы позволяют запрашивать любой URL; Однажды мне позвонили, чтобы разобраться с одним таким, который превысил (щедрое) ежемесячное распределение пропускной способности еще до того, как он начал работать. Пучок студентов в Нанкин технологического института обнаружили , что они могли бы сделать HTTPS соединения к нему и запросить любую веб - страницу, и, таким образом жадно пробирается все свои порно мимо Большого брандмауэре. Если вы на самом деле не обслуживаете запрошенный контент, все будет в порядке.
MadHatter поддерживает Монику

1
Обычно да. Только одна запись в журнале цитировалась выше, поэтому я подумал, что стоит упомянуть; он не предназначен для того, чтобы быть полным, продуманным ответом, или я бы представил его как единое целое!
MadHatter поддерживает Монику

1
1. Вы когда-нибудь пытались выследить системных администраторов для зарегистрированного домена здесь, в США? Если так, вы знаете, как это может быть сложно. Я полагаю, что почти невозможно найти не только подходящего человека для общения в «Чинанет», но и того человека, который действительно заботится о вас, чтобы помочь вам.
Майкл Мартинес

Ответы:


31

Существует один теоретический способ определения DNS-распознавателя ваших клиентов, но он достаточно продвинут, и я не знаю ни одного готового программного обеспечения, которое бы сделало это за вас. Вам наверняка придется запустить для этого авторитетный DNS-сервер в дополнение к вашему nginx.

Если заголовок HTTP Host неверен, подайте документ об ошибке и включите запрос к динамически создаваемому уникальному FQDN для каждого запроса, который вы регистрируете в базе данных. например.

http://e2665feebe35bc97aff1b329c87b87e7.example.com/img.png

До тех пор, пока отличный межсетевой экран Chinas не будет обрабатывать этот запрос, а клиент запрашивает документ с этого уникального FQDN + URI, каждый запрос будет приводить к новому поиску DNS на вашем авторитетном DNS для example.com, где вы можете регистрировать IP-адрес DNS-распознаватель и позже сопоставьте его с вашими динамически генерируемыми URI.


6
Это тот же подход, который я бы предложил, хотя я думаю, что для его работы потребуется другой уровень доменов. Если основной домен есть example.com, вы должны создать запись NS для одного субдомена, например ns-detect.example.com. Затем вы должны создать уникальное имя под этим доменным именем, таким как полный домен e2665feebe35bc97aff1b329c87b87e7.ns-detect.example.com.
Касперд

1
Это интересный подход. Теперь я подозреваю, что перенаправление является преднамеренным (потому что я не единственный, кто видит это). Таким образом, я предполагаю, что различные китайские DNS-серверы не будут пытаться найти официальный сервер, чтобы получить поддомен. Для них не имеет смысла это делать.
Феликс

Если они используют подход белого списка, вы, вероятно, правы. Если они занесены в черный список, то на самом деле нет причин, по которым они не должны искать невинно выглядящее полное доменное имя. Конечно, это также может быть результатом гораздо более продвинутых методов фильтрации, чем просто игра с ответами DNS.
r_3

1
+1 за идею Касперда создать поддомен со своим собственным NS, чтобы вести журналы для этого отдельно от вашего обычного DNS. И сделать это с меньшим шансом испортить ваши обычные вещи. Если вы видите запросы HTTP на имена хостов, которые никто не просматривал в вашем DNS, тогда вы знаете, что DNS-сервер, который используют ваши плохие клиенты, подделывает ответы DNS (и ошибается, поскольку они, вероятно, намеревались отправить этот трафик куда-то еще). Может быть, китайский админ где-то опечатал IP-адрес в конфиге?).
Питер Кордес

Принимая, потому что его ответы на первый вопрос наиболее точно. На самом деле не решает, почему мы получаем трафик, но stackexchange не допускает смутных вопросов.
Феликс

5

Я слышал, что отличный брандмауэр использовался для перенаправления «заблокированного» трафика на несколько фальшивых IP-адресов, но это приводило к тому, что их блоки легко обнаруживались (я не уверен, позволял ли он легкую подрывную деятельность). В любом случае администраторы начали перенаправлять на случайные IP-адреса. Это привело к некоторым китайским пользователям получать порно, а не Facebook или ВЧС, по-видимому.

Я подозреваю, что один из ваших IP-адресов оказался получателем заблокированного китайского трафика - следовательно, вы видите пользовательских агентов Facebook IPI.

Это означает, что проверка заголовка узла должна быть хорошей. В наши дни большинство пользовательских агентов поддерживают SNI, поэтому вы должны иметь возможность отбрасывать трафик без заголовка узла с относительной безнаказанностью.

Изменить: http://www.infosecurity-magazine.com/news/great-firewall-upgrade-redirects/


4

Как я могу узнать, какой DNS-сервер используют эти клиенты?

Связаться с Chinanet и спросить? Серьезно, DNS настраивается на стороне клиента. Большинство людей получают настройки DNS через DHCP, но у OpenDNS и предложения DNS от Google не будет бизнес-модели, если вы не сможете их изменить.

Есть ли способ определить, поступает ли HTTP-запрос от VPN?

Не совсем, за исключением того, что IP будет VPN, а не конечным пользователем в Китае.

Что на самом деле здесь происходит?

Что я не могу вам сказать, но, возможно, в Великом брандмауэре Китая есть какая-то неверная конфигурация ?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.