Prestare attenzione alle configurazioni del server dove, ad esempio su Rackspace, il _SERVER [REMOTE_IP] che di solito è l'indirizzo IP dell'utente, è in realtà un server proxy che supporta il carico.
Tuttavia l'intestazione REMOTE_IP è in realtà l'unica intestazione non sostituibile in termini di ip reale degli utenti.
HTTP_X_CLUSTER_CLIENT_IP e HTTP_X_FORWARDED_FOR (per citarne alcuni), ad esempio, possono essere tutti falsificati da un sistema di attacco / attacco.
Molti dei plug-in di protezione dei componenti aggiuntivi di CMS che ho esaminato in quel tentativo di filtrare gli input utilizzando un approccio a cascata di potenziali intestazioni quindi vietano l'indirizzo IP di richieste errate, tendono ad impilare la maggior parte delle intestazioni di client o proxy comuni prima, il REMOTE_ADDR è l'ultimo della lista, questo per un utente malintenzionato è banale da bypassare, quindi l'intera applicazione diventa inutile poiché un nuovo indirizzo ip del client può essere potenzialmente inviato con ogni richiesta canaglia.
Eliminare l'indirizzo IP errato in una configurazione cluster potrebbe comportare il bando del sito Web e impedire l'IP bocciato può consentire a un utente malintenzionato di inviare un IP spoofato del server Web o un proxy di upline al server Web che risulta nel stesso effetto.
O dove vengono utilizzati gli IP autorizzati, l'utente malintenzionato potrebbe anche inviare le richieste non autorizzate con l'IP autorizzato.
Il metodo migliore che ho trovato in queste situazioni è:
Laddove ci sono altre intestazioni presenti oltre al REMOTE_IP, la regola numero uno è sempre filtrata per assicurarsi che quelle intestazioni contengano effettivamente un indirizzo IP, quindi si usano quelle per determinare l'indirizzo IP dell'utente, tuttavia disabilitare il banning ip (se viene utilizzato ) in quell'istanza, e basta andare con una chiamata 403 header e page die () per bloccare una richiesta canaglia effettiva piuttosto che vietare effettivamente l'indirizzo ip.
Dopotutto è la richiesta canaglia che vuoi impedire di completare più di ogni altra cosa. Bannare gli indirizzi IP è più di un problema in cui un utente malintenzionato sta martellando il tuo sito tramite più server proxy anonimi per creare un Denial of Service.