Combattente Apache Killer

9

Tre giorni fa, KingCope ha rilasciato un semplice script Perl su DoS Apache, opportunamente chiamato Apache Killer.

Questo script avvia circa 50 thread per richiedere il Contenuto parziale dal server con la codifica GZIP facoltativa. Questo consumerà troppa memoria che il sistema operativo deve uccidere tutti gli altri processi, o troppa CPU che il server è al suo fianco.

Apache Foundation non ha ancora rilasciato una patch.

Qual è il modo migliore per combatterlo?

    
posta Nam Nguyen 23.08.2011 - 10:52
fonte

4 risposte

7

Cinque soluzioni alternative sono discussi sulla mailing list di Apache. Vai a leggere i dettagli su ciascuno di essi:

1) Usa SetEnvIf o mod_rewrite per rilevare un numero elevato di intervalli e poi    o ignora l'intervallo: intestazione o rifiuta la richiesta.

2) Limita la dimensione del campo di richiesta a poche centinaia di byte.

3) Usa mod_headers per disabilitare completamente l'uso delle intestazioni Range:

4) Distribuire un modulo di conteggio di intestazione Range come misura temporanea di arresto temporaneo:

5) Applica qualsiasi patch corrente in discussione

    
risposta data 25.08.2011 - 10:23
fonte
7

Leggendo lo script fornito da Mark Davidson, l'ovvia soluzione temporanea sarebbe disabilitare le funzionalità parziali di apache se non necessarie.

Questo problema sembra essere vecchio, che è stato "risolto" disabilitando le richieste di contenuto parziale. Ecco due patch per le versioni precedenti di apache.

Apache 1.3.36

Apache 2.0.58

Ho scaricato l'attuale sorgente di apache per debian squeezy per verificare la presenza di tracce di questa patch. Sfortunatamente, sembra che questo non sia implementato.

Non ho familiarità con il codice sorgente di apache2, quindi non cercherò di scrivere una patch per questo. Questo può essere un esercizio per il lettore :)

    
risposta data 23.08.2011 - 13:29
fonte
4

Il link ha un'eccellente analisi del DoS attraverso l'esaurimento del thread delle risorse, oltre ad alcune riflessioni sulle contromisure, tra cui:

  • Sapere come rilevarlo.
  • Disabilita POST come metodo se non ne hai bisogno.
  • Imposta un timeout di connessione bassa

Leggi un buon articolo.

    
risposta data 23.08.2011 - 18:06
fonte
1

Un po 'tardi per il gioco qui, ma molto probabilmente un WAF (firewall per applicazioni web) un'utile attenuazione.
Anche se non è a conoscenza di questo attacco immediato, qualsiasi WAF moderno dovrebbe facilmente supportare il blocco di questi tipi di richieste anche prima che colpiscano il server web.

    
risposta data 26.09.2011 - 02:14
fonte

Leggi altre domande sui tag