Prevenire DDoS dall'indirizzo IP falso [duplicato]

0

Secondo questa risposta , è possibile inviare un pacchetto di rete con un indirizzo IP di origine contraffatto.

Quindi, quali metodi può adottare un amministratore del server per impedire / bloccare una serie infinita di richieste da indirizzi IP falsificati, supponendo che non abbiano regolarità nota (tranne che sono molto) e che non intende impedire alcuni client legittimi dal servizio (ad esempio, un server web), anche temporaneamente.

    
posta Reflection 05.11.2013 - 18:19
fonte

1 risposta

1

Per la risposta rapida: usa synproxy (come offerto da BSF's pf per esempio), o un proxy inverso come Nginx se hai un Apache direttamente rivolto verso Internet.

I problemi di Real DDoS verrebbero semplicemente dall'effettivo indirizzo IP posseduto da botnet rispetto all'indirizzo IP fasullo. Tuttavia, alcune applicazioni rimangono effettivamente sensibili al falso pacchetto SYN, ma questo è semplicemente un problema di applicazione sfruttabile da un singolo host (noto anche come DoS con una singola "D") rispetto a un DDoS

Perché? Grazie a TCP 3 way handshake :

  • Il client invia un pacchetto SYN,
  • I server rispondono con un pacchetto SYN-ACK,
  • Il client risponde con un pacchetto ACK,
  • Quindi finalmente viene stabilita la connessione TCP e la richiesta HTTP (ad esempio) può essere inviata dal client al server.

Ciò che invalida l'indirizzo IP falsificato è che ogni host seleziona una sequenza casuale in questa stretta di mano e, per stabilire la connessione, l'ACK finale del client deve mostrare i due numeri di sequenza validamente incrementati.

Quando usi un indirizzo IP forgiato per la tua richiesta SYN, per definizione non riceverai mai il SYN-ACK del server, quindi non avrai mai il numero di sequenza casuale selezionato, quindi non sarai mai in grado di completare l'handshake TCP .

Quindi, quando si utilizza un indirizzo IP contraffatto, l'unico "danno" che si può fare è inviare false richieste SYN al server, che dovrebbe richiedere risorse molto basse sul lato server, e quali infatti richiedono risorse trascurabili se il server o il suo firewall utilizza il synproxy sopra menzionato (con questa opzione abilitata, la connessione verrà inoltrata al servizio di ascolto solo quando l'handshake a 3 vie è stato eseguito correttamente).

Se non si utilizza synproxy, a seconda del modo in cui viene implementato il servizio, un pacchetto SYN può coinvolgere più o meno risorse. Il problema con il server Apache è che esso si trova già in un nuovo processo alla ricezione del pacchetto SYN, quindi è necessario proteggerlo utilizzando misure specifiche (aggiungendo Nginx che utilizza un'altra implementazione non sensibile a tale problema) o configurare il firewall per attenuare il problema. rischio (ridurre il numero di handshake TCP in corso, ridurre il ritardo di handshake, ecc., ma a differenza delle soluzioni precedenti, questo potrebbe avere un impatto sui client legittimi).

    
risposta data 05.11.2013 - 20:01
fonte

Leggi altre domande sui tag