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.