Lalu lintas China yang salah arah dan misterius: Bagaimana saya bisa mengetahui server DNS apa yang digunakan permintaan HTTP?

24

Selama seminggu terakhir saya mendapatkan arus lalu lintas yang sangat besar dari berbagai alamat IP Cina. Lalu lintas ini tampaknya berasal dari orang normal dan permintaan HTTP mereka menunjukkan bahwa mereka pikir saya:

  • Facebook
  • Pirate Bay
  • berbagai pelacak BitTorrent,
  • situs porno

Semua yang kedengarannya seperti hal yang orang akan gunakan untuk VPN. Atau hal-hal yang akan membuat Tembok Besar China marah.

Agen-pengguna termasuk browser web, Android, iOS, FBiOSSDK, Bittorrent. Alamat IP adalah penyedia Cina komersial normal.

Saya memiliki Nginx mengembalikan 444 jika host salah atau agen pengguna jelas salah:

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

Saya dapat menangani beban sekarang, tetapi ada beberapa semburan hingga 2 k / menit. Saya ingin mencari tahu mengapa mereka datang kepada saya dan menghentikannya. Kami juga memiliki lalu lintas CN yang sah, jadi melarang 1/6 planet bumi bukanlah suatu pilihan.

Ada kemungkinan bahwa itu berbahaya dan bahkan pribadi, tetapi mungkin saja itu adalah DNS yang salah konfigurasi di sana.

Teori saya adalah bahwa ini adalah server DNS yang salah konfigurasi atau mungkin beberapa layanan VPN yang digunakan orang untuk berkeliling Great Fire Wall.

Diberikan alamat IP klien:

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"

Saya bisa tahu:

descr:          CHINANET Guangdong province network
descr:          Data Communication Division
descr:          China Telecom
  • Bagaimana saya bisa mengetahui server DNS apa yang digunakan pelanggan?
  • Apakah ada untuk menentukan apakah permintaan HTTP berasal dari VPN?
  • Apa yang sebenarnya terjadi di sini?
felix
sumber
5
Saya telah melihat masalah ini sebelumnya, keduanya menjadi target lalu lintas, dan lalu lintas yang ditujukan untuk server saya dikirim ke tempat lain. Saya tidak punya jawaban. Saya mengurangi dampak dari masalah pertama dengan firewall, dan yang kedua dengan solusi perangkat lunak yang hanya mungkin dalam situasi khusus kami (perangkat lunak kami membuat permintaan). Dalam proses menghasut, kami menemukan bahwa beberapa server DNS menolak untuk menghormati TTL yang sangat rendah, alih-alih menyimpan hasil selama berbulan-bulan, yang mungkin menjelaskan daftar situs yang akan Anda trafik.
xofer
1
Periksa juga pertanyaan ini. Saya memiliki masalah yang sama serverfault.com/questions/656093/... Saya hanya ingin tahu mengapa ISP akan melakukan sesuatu seperti itu. Saya tidak bisa melihat nilainya.
Cha0s
4
Dalam pengalaman saya, ini adalah upaya untuk menemukan proxy web yang terbuka. Beberapa server web akan memungkinkan Anda untuk meminta URL apa pun ; Saya pernah dipanggil untuk menangani salah satunya, yang telah melampaui itu alokasi bandwidth bulanan (murah hati) bahkan sebelum dalam layanan. Sekelompok mahasiswa di Institut Teknologi Nanjing telah menemukan bahwa mereka dapat membuat koneksi HTTPS ke sana dan meminta halaman web apa pun , dan karenanya dengan bersemangat menyelundupkan semua film porno mereka melewati Great Firewall. Jika Anda tidak benar-benar menyajikan konten yang diminta, Anda seharusnya baik-baik saja.
MadHatter mendukung Monica
1
Biasanya ya. Hanya satu entri log yang dikutip di atas, jadi saya pikir itu layak disebut; itu tidak dimaksudkan sebagai jawaban yang lengkap, pemikiran matang, atau saya telah mengirimkannya sebagai jawaban!
MadHatter mendukung Monica
1
1. Apakah Anda pernah mencoba memburu sysadmin untuk domain terdaftar di sini di AS? Jika demikian, Anda tahu betapa sulitnya itu. Saya membayangkan ini hampir mustahil untuk tidak hanya menemukan orang yang tepat untuk diajak bicara di "Chinanet" tetapi juga orang yang tepat yang sebenarnya cukup peduli untuk membantu Anda.
Michael Martinez

Jawaban:

31

Ada satu cara teoretis untuk menentukan resolver DNS klien Anda, tetapi ini cukup canggih dan saya tidak tahu perangkat lunak apa pun yang akan melakukannya untuk Anda. Anda pasti harus menjalankan server DNS resmi untuk itu selain nginx Anda.

Jika header HTTP Host tidak benar, sajikan dokumen kesalahan dan sertakan permintaan ke FQDN unik yang dibuat secara dinamis untuk setiap dan setiap permintaan yang Anda masuk ke database. misalnya.

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

Selama firewall besar China tidak mengutak-atik permintaan itu dan klien meminta dokumen dari FQDN + URI yang unik itu, setiap permintaan akan menghasilkan pencarian DNS baru ke DNS otoritatif Anda untuk example.com di mana Anda dapat mencatat IP dari Penyelesai DNS dan kemudian menghubungkannya dengan URI Anda yang dihasilkan secara dinamis.

r_3
sumber
6
Ini adalah pendekatan yang sama yang saya sarankan, meskipun saya pikir tingkat domain lain akan diperlukan untuk membuatnya bekerja. Jika domain utama adalah example.com, Anda akan membuat catatan NS untuk satu subdomain seperti ns-detect.example.com. Maka Anda akan membuat nama unik di bawah nama domain itu, seperti domain lengkapnya e2665feebe35bc97aff1b329c87b87e7.ns-detect.example.com.
kasperd
1
Ini pendekatan yang menarik. Sekarang saya curiga bahwa pengalihan itu disengaja (karena saya bukan satu-satunya yang melihat ini). Jadi saya akan berasumsi bahwa berbagai server DNS Cina tidak akan repot-repot melakukan pencarian ke yang otoritatif untuk mendapatkan subdomain. Tidak masuk akal bagi mereka untuk melakukannya.
felix
Jika mereka menggunakan pendekatan daftar putih, Anda mungkin benar. Jika mereka masuk daftar hitam sebenarnya tidak ada alasan mengapa mereka tidak mencari FQDN yang tidak bersalah. Tentu saja ini juga bisa merupakan hasil dari teknik penyaringan yang jauh lebih maju daripada hanya bermain-main dengan respons DNS.
r_3
1
+1 untuk gagasan kasperd tentang membuat subdomain dengan NS-nya sendiri, untuk menyimpan log yang terpisah dari DNS normal Anda. Dan melakukannya dengan sedikit peluang untuk mengacaukan barang-barang normal Anda. Jika Anda melihat permintaan http untuk nama host yang tidak dicari di DNS Anda oleh siapa pun, maka Anda tahu server DNS yang digunakan klien jahat Anda sedang menempa respons DNS (dan salah, karena mereka mungkin bermaksud mengirim lalu lintas itu ke tempat lain Mungkin admin Cina di suatu tempat salah ketik alamat IP dalam konfigurasi?).
Peter Cordes
Menerima karena menjawab pertanyaan pertama yang paling tepat. Tidak benar-benar memecahkan mengapa kami mendapatkan lalu lintas, tetapi stackexchange tidak mengizinkan pertanyaan yang tidak jelas.
felix
5

Saya pernah mendengar firewall hebat yang digunakan untuk mengarahkan kembali "diblokir" lalu lintas ke beberapa IP palsu, tetapi ini menyebabkan blok mereka mudah terlihat (saya tidak yakin apakah itu memungkinkan subversi mudah). Dalam hal apa pun administrator sudah mulai mengalihkan ke IP acak. Ini menyebabkan beberapa pengguna Cina mendapatkan pornografi, bukannya Facebook atau vpns, tampaknya.

Saya menduga salah satu IP Anda ternyata menjadi penerima lalu lintas Cina yang diblokir - karenanya Anda melihat agen pengguna IPI Facebook.

Ini berarti pemeriksaan host-header harus bagus. Sebagian besar agen pengguna mendukung SNI saat ini, jadi Anda seharusnya dapat menghentikan lalu lintas no-host-header dengan impunitas relatif.

Sunting: http://www.infosecurity-magazine.com/news/great-firewall-upgrade-redirects/

Tom Newton
sumber
4

Bagaimana saya bisa mengetahui server DNS apa yang digunakan pelanggan?

Hubungi Chinanet dan tanyakan? Serius, DNS dapat dikonfigurasi di sisi klien. Kebanyakan orang mendapatkan pengaturan DNS melalui DHCP, tetapi OpenDNS dan penawaran DNS Google tidak akan memiliki model bisnis jika Anda tidak dapat mengubahnya.

Apakah ada untuk menentukan apakah permintaan HTTP berasal dari VPN?

Tidak juga, kecuali bahwa IP akan menjadi VPN, bukan pengguna akhir di Cina.

Apa yang sebenarnya terjadi di sini?

Saya tidak bisa memberi tahu Anda, tapi mungkin ada semacam kesalahan konfigurasi di Great Firewall of China ?

Katherine Villyard
sumber