venerdì 28 marzo 2008

Security: Attacco SYN FLOOD


Che cos'e' un attacco SYN-FLOOD?

Un attacco SYN-FLOOD e' un attacco DOS (Denial Of Service) in cui l'attaccante invia un enorme quantitativo di pacchetti di tipo PER_FAVORE_INIZIAMO_UNA_CONNESSIONE e niente altro.

Trovate un'ottima e approfondita descrizione sul sito del CERT.

Come difendere un server Linux?

Per difendere un server Linux con un carico moderato, e' sufficiente attivare i syncookies TCP nel kernel (eventualmente in fase di compilazione, trovate maggiori dettagli nell'help in fase di configurazione del kernel) e nel filesystem /proc. Ripeto, questo vale in caso di carico moderato.

I problemi cominciano quando il carico addizionale introdotto dalla generazione dei syncookies diventa troppo per un server con un carico gia' alto in partenza. In questo caso e' consigliabile cercare l'IP address dell'attaccante e filtrarlo con iptables.

Come trovare l'attaccante


Impresa valutabile tra "molto difficile" e "impossibile". Di solito infatti l'IP address nei pacchetti SYN FLOOD non e' quello reale, si dice che e' stato SPUFATO (spoofed).

Potete comunque semplificare la ricerca scrivendo tutti i pacchetti SYN su un file di log. Attenzione pero': il log conterra' tutte le connessioni aperte legittimamente sul vostro server oltre ai pacchetti SYN usati per l'attacco in corso.

Un tool per scrivere un log del genere e' SYNWatch di Jeff Thompson. Lo potete trovare qui o qui.

Nessun commento: