Таємничий неправильно спрямований китайський трафік: Як я можу дізнатися, який 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/… Мені просто цікаво, чому провайдер зробив щось подібне. Я не можу побачити значення в.
Cha0s

4
На мій досвід, це спроби пошуку відкритих веб-проксі. Деякі веб-сервери дозволять вам запитувати будь-яку URL-адресу; Одного разу мені зателефонували розібратися з одним таким, який перевищив його (щедрий) щомісячний розподіл пропускної здатності до того, як він навіть був на роботі. Купа студентів із Нанкінського технологічного інституту виявила, що вони можуть з’єднатись із ним HTTPS та запросити будь - яку веб-сторінку, і, таким чином, нетерпляче пробирала все своє порно повз Великий Брандмауер. Якщо ви насправді не подаєте потрібний вміст, вам слід буде добре.
MadHatter підтримує Моніку

1
Зазвичай так. Вище було цитовано лише один запис у журналі, тому я вважав, що це варто згадати; це не має бути повною, продуманою відповіддю, або я б подав її як одну!
MadHatter підтримує Моніку

1
1. Ви коли-небудь намагалися вишукувати системних адміністраторів для зареєстрованого домену тут, у США? Якщо так, то ви знаєте, наскільки це може бути складно. Я гадаю, що її прокляття майже неможливо знайти не тільки потрібну людину, з якою поговорити в "Chinanet", але й потрібну людину, яка насправді піклується про те, щоб допомогти вам.
Майкл Мартінес

Відповіді:


31

Існує один теоретичний спосіб визначення DNS-рішення для ваших клієнтів, але він досить просунутий, і я не знаю жодного позапрограмного забезпечення, яке зробить це для вас. Напевно вам доведеться запустити авторитетний DNS-сервер для цього, крім вашого nginx.

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

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

Поки великий брандмауер Chinas не сполучається з цим запитом, а клієнт вимагає документ від цього унікального FQDN + URI, кожен запит призведе до нового пошуку DNS у ваш авторитетний DNS, наприклад, де ви можете зареєструвати IP-адресу DNS-розв’язувач і пізніше співвіднесіть це з вашими динамічно створеними URI-адресами.


6
Це той самий підхід, який я б запропонував, хоча, думаю, потрібен інший рівень доменів, щоб він працював. Якщо основним доменом є example.com, ви створили б запис NS для одного піддомену, такого як ns-detect.example.com. Тоді ви створили б унікальне ім’я під цим доменним іменем, таким буде повний домен e2665feebe35bc97aff1b329c87b87e7.ns-detect.example.com.
kasperd

1
Це цікавий підхід. Зараз я підозрюю, що перенаправлення навмисне (тому що я не єдиний, хто бачив це). Тому я б припустив, що різні китайські DNS-сервери не намагаються зробити пошук авторитетного, щоб отримати субдомен. Їм не було б сенсу це робити.
felix

Якщо вони використовують білий список, напевно, ви праві. Якщо вони перебувають у чорному списку, насправді немає причин, чому не слід шукати невинно виглядає FQDN. Звичайно, це також може бути результатом набагато досконаліших методів фільтрації, ніж просто грати з відповідями DNS.
r_3

1
+1 - ідея kasperd створити піддомен із власною NS, щоб зберегти журнали для цього окремо від звичайного DNS. І робити це з меншими шансами викрутити свої звичайні речі. Якщо ви бачите http-запити для імен хостів, яких ніхто не шукав у вашій DNS, то ви знаєте, що сервер DNS, який використовують ваші погані клієнти, підробляє відповіді DNS (і помиляється, оскільки вони, ймовірно, мали намір відправити цей трафік кудись інше . Можливо, китайський адміністратор десь ввів IP-адресу в налаштуваннях?).
Пітер Кордес

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

5

Я чув, що чудовий брандмауер використовується для переадресації "заблокованого" трафіку на декілька фальшивих IP-адрес, але це спричиняє їх легко помітити блоки (я не впевнений, чи дозволяв це легкий підрив). У будь-якому випадку адміністратори почали переадресовувати на випадкові IP-адреси. Це призвело до того, що деякі китайські користувачі, мабуть, отримують порно, замість фейсбуку чи vpns.

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

Це означає, що перевірка заголовка хоста повинна бути хорошою. Більшість користувацьких агентів підтримують SNI в наші дні, тому ви повинні мати можливість скидати трафік без заголовка хоста з відносною безкарністю.

Редагувати: http://www.infosecurity-magazine.com/news/great-firewall-upgrade-redirects/


4

Як я можу дізнатися, яким сервером DNS користуються ці клієнти?

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

Чи все-таки потрібно визначити, чи надходить запит HTTP від ​​VPN?

Насправді, за винятком випадків, коли IP буде VPN, а не кінцевим користувачем у Китаї.

Що насправді відбувається тут?

Що я не можу вам сказати, але, можливо, є якась неправильна конфігурація у Великій Брандмауері Китаю ?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.