Mengapa tiba-tiba ada begitu banyak 400 permintaan di log akses saya?

10

Di bawah ini adalah bagian kecil dari access_log saya

118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
05
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
06
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
07
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
08
118.186.8.50 - - [19/Dec/2011:22:42:57 +0800] "-" 400 0 "-" "-"
09
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
10
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
11
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
12
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
13
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"
14
220.173.136.39 - - [19/Dec/2011:22:43:22 +0800] "-" 400 0 "-" "-"

Dan volumenya sangat besar, sekitar seratus ribu dari 400 permintaan ini per detik. Dan saya cukup yakin tidak ada kesalahan di situs saya dalam periode waktu tersebut (tidak ada laporan kesalahan dan saya tidak mengubah kode sumber)

dotslashlu
sumber

Jawaban:

5

Seseorang sedang Fuzzing server Anda. Lihat juga Wikipedia .

Pada dasarnya melibatkan pengiriman blok cepat data yang tidak valid untuk melihat apakah ada yang rusak.

Nginx diatur untuk mengembalikan kesalahan 400 kesalahan ketika tidak ada data permintaan dikirim.

Jangan khawatir tentang itu. Nginx bisa terus memantulkan mereka selamanya tanpa berkeringat.

Dayo
sumber
Satu-satunya hal yang harus dia khawatirkan adalah file log menyerap ruang disk. Di sinilah rotasi log yang tepat sangat membantu.
Justin Pearce
Masalah yang sama disini. Jumlah alamat IP yang berbeda tidak membuat serangan (fuzzing) sangat mungkin menurut saya. Masih mencari penjelasan yang lebih baik.
Oliver
2

Periksa dan lihat apakah alamat ip yang menyebabkan 400 menggunakan Google Chrome. Chrome menggunakan pra-koneksi untuk membuat beberapa koneksi dengan server, dan menutupnya jika tidak digunakan.

Karena tidak ada permintaan yang dibuat dalam koneksi, nginx akan mencatat kesalahan ini.

lalalala
sumber
Saya melihat masalah yang sama di sini, dan saya memiliki format file log yang persis sama, jadi saya berasumsi bahwa OP tidak mengubah default. Yang berarti bahwa string agen pengguna sedang dicatat - kebetulan bahwa itu tidak mengandung nilai apa pun. Jadi saya tidak yakin bagaimana memeriksa apakah klien tersebut menggunakan Chrome. Saya sendiri tidak dapat mereproduksi kesalahan ini dalam log menggunakan Chrome 26 sekarang. Ada petunjuk lain?
Oliver
Agen pengguna dikirim sebagai header permintaan, kecuali / sampai permintaan dibuat, nginx tidak memiliki sarana untuk mengetahui dan mencatat string agen pengguna. Namun, Anda dapat memeriksa catatan log lain yang berasal dari alamat IP itu dan, jika ada permintaan sebenarnya yang dibuat oleh klien itu, pelajari apakah itu Chrome atau bukan.
Ivan Anishchuk