Perché improvvisamente c'erano così tante 400 richieste nel mio registro di accesso?


10

Di seguito sono riportate una piccola parte del mio access_log

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 "-" "-"

E il volume era enorme, alcuni come centomila di queste 400 richieste al secondo. E sono abbastanza sicuro che non ci siano errori sul mio sito in quel periodo di tempo (nessun rapporto di errore e non ho cambiato il codice sorgente)

Risposte:


5

Qualcuno stava confondendo il tuo server. Vedi anche Wikipedia .

Fondamentalmente comporta l'invio di blocchi rapidi di dati non validi per vedere se qualcosa si rompe.

Nginx è impostato per restituire un errore di errore 400 quando non vengono inviati dati di richiesta.

Non ti preoccupare. Nginx può continuare a farli rimbalzare per sempre senza sudare.


L'unica cosa di cui dovrà preoccuparsi sono i file di registro che assorbono lo spazio su disco. Qui è utile la corretta rotazione del registro.
Justin Pearce,

Lo stesso problema qui. La quantità di diversi indirizzi IP non rende molto probabile un attacco (fuzzing) secondo me. Sto ancora cercando una spiegazione migliore.
Oliver,

2

Controlla se l'indirizzo IP che causa il 400 utilizza Google Chrome. Chrome utilizza la pre-connessione per stabilire diverse connessioni con il server e chiuderle se non utilizzate.

Poiché non viene effettuata alcuna richiesta nella connessione, nginx registrerà questo errore.


Sto vedendo lo stesso problema qui e ho esattamente lo stesso formato di file di registro, quindi presumo che l'OP non abbia cambiato il valore predefinito. Il che significa che la stringa dell'agente utente viene registrata - succede solo che non contiene alcun valore. Quindi non sono sicuro di come verificare se quei client utilizzano Chrome. Io stesso non sono riuscito a riprodurre questo errore nel registro usando Chrome 26 proprio ora. Qualche altro suggerimento?
Oliver,

L'agente utente viene inviato come intestazione della richiesta, a meno che / fino a quando non viene effettuata una richiesta, nginx non ha mezzi per conoscere e registrare la stringa dell'agente utente. Puoi, tuttavia, controllare altri record di registro che provengono da quell'indirizzo IP e, se una richiesta effettiva è stata effettivamente fatta da quel client, sapere se era Chrome o no.
Ivan Anishchuk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.