Blog

Difendere contro Slowloris con HAProxy


Feed RSS Cinguettio

il blog di Snapt è il luogo ideale per tenere aggiornati con che cosa sta accadendo! In alternativa puoi iscriverti al nostro feed RSS o seguici su Twitter di cui sopra.

Difendere contro Slowloris con HAProxy

Slowloris (e qualsiasi tipo di DOS con un intento simile) è uno strumento progettato per sostenere tutte le connessioni disponibili su un server Apache senza disporre di una massiccia rete di DoS l'host. Il concetto è meglio descritto dallo sviluppatore Slowloris -

Nel considerare le ramificazioni di una negazione lento di attacco contro il servizio di particolari servizi, piuttosto che le reti di allagamento, un concetto emerso che consentirebbe una sola macchina per prendere giù server web di un'altra macchina con bandwidth minimo e gli effetti collaterali sui servizi unrelated e porti. La situazione ideale per molti degli attacchi denial servizio è dove tutti gli altri servizi restano intatte ma il webserver è completamente inaccessibile. Slowloris è nato da questo concetto, ed è quindi relativamente molto furtivi rispetto a strumenti più inondazioni.

Il concetto è semplice - Slowloris invia parzialmente completo richieste HTTP Apache e continua a inviare le intestazioni su queste connessioni facendo attenzione che non sono mai chiuse e non timeout. Essa continua ad aprire sempre di più fino a quando tutte le prese disponibili sul server vengono utilizzati, di fatto negando servizio all'host. Poiché le richieste sono effettivamente le richieste HTTP, e continuare ad ottenere i dati inviati, si tratta di un attacco particolarmente pericoloso in quanto può essere difficile da proteggere.

Questo è dove HAProxy brilla davvero. In un post sul sito HAProxy spiegano come HAProxy dovrebbe trattare un tale attacco. La prima cosa da notare è che solo HAProxy inoltra le richieste HTTP completo - cioè la richiesta di completamento non si raggiunge mai server, in primo luogo!

Mentre Apache ha bisogno di un nuovo thread per elaborare una connessione in entrata, ha bisogno solo HAProxy 16-32 kB di memoria che significa che può scalare ben oltre ciò che il vostro server Apache (o azienda) e molto probabilmente può raggiungere. Aggiunto a questo, è possibile aggiungere un timeout specifico per le richieste HTTP, permettendo HAProxy per eliminare tutte le richieste non finire (vedi "http-request timeout").

La bellezza di questa soluzione è che i server Apache continueranno a ricevere tutte le richieste valide, mentre HAProxy aspira e termina le connessioni provenienti dallo strumento Slowloris.

HAProxy ha un drop-in esempio di configurazione per evitare questo, disponibile sul loro sito o tramite questo link diretto .

Tag: , ,

Lasci una risposta