2012-07-30 20 views
8

L'esecuzione di netstat sta mostrando centinaia di questa linea, anche dopo aver riavviato il server - inizia di nuovo l'invio, causando molte connessioni a quell'IP.Come smettere di SYN_SENT?

tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 
tcp  0  1 server1700.skdedicate:36283 154.45.206.59:https SYN_SENT 

Ho interrotto tutti gli script, ma continua a provare.

So che questo significa che l'IP non risponde a SYN_SENT ma come posso interrompere quelli SYN_SENT? O qual è la migliore soluzione a questo?

Grazie.

+1

Run '-pnt' netstat per ottenere il nome del processo che possiede le prese. –

+0

@AlanCurry: tcp 0 1 213.163.64.207:39316 154.45.206.59:443 SYN_ SENT 12388/httpd. è stato aperto da httpd ma vedo la porta 443 lì, non è strano ?? – EGN

+0

Quindi è meglio guardare il server web e vedere cosa potrebbe causare una connessione HTTPS in uscita. A proposito, quando provo una richiesta https a quell'indirizzo IP ottengo un reindirizzamento a rapidshare.com in modo che possa essere un suggerimento su cosa cercare –

risposta

31

Questa domanda sembra avere molti punti di vista, ma ancora nessuna risposta, quindi ho deciso di rispondere alla mia domanda per chiunque cerchi una soluzione.

Per prima cosa, conoscere il motivo è metà della soluzione. Ero sotto quello che viene chiamato SYN Flooding Attack che usa il protocollo HTTP contro se stesso

In breve, il client remoto tenta di stabilire una connessione con il tuo server inviando SYN, il tuo server risponde con SYN_ACK (nei tuoi reg ti tu vedrà SYN_SENT) e attenderà fino a quando non riceverà ACK. Se ACK non viene ricevuto entro xx secondi, il server invierà nuovamente SYN_ACK, .... e ancora .... e ancora. Alla fine raggiungerà la soglia configurata e smetterà di accettare ulteriori richieste SYN rendendo il server non rispondente. Uno dei sintomi che mi sono capitati è che il mio sito web rispondeva una volta, come se nulla fosse sbagliato, ma non rispondeva nelle successive xx volte.

HTTP Protocol SYN

La soluzione che ha funzionato per me è stato l'attivazione dei cookie SYN, SSH nel server, aprire il seguente file utilizzando il vostro editor preferito. Sto usando vi in ​​questo esempio

vi /etc/sysctl.conf 

E aggiungere queste righe al file, quindi riavviare il server. Speriamo che questo si fermerà l'attacco come ha fatto per me

net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_max_syn_backlog = 2048 
net.ipv4.tcp_synack_retries = 3 

stavo usando CentOS, penso che la soluzione di cui sopra funziona su tutte le distribuzioni, ma nel caso in cui non ho ricerca di "Come smettere di SYN attacco flood" per la vostra distribuzione Linux

su un lato nota, bloccando gli IP avvio le richieste SYN probabilmente non aiuterà perché molto probabilmente l'attaccante ha falsificato gli IP

+0

Quando ti rendi conto che la tua soluzione è stata vista da> 17K utenti ma hai ricevuto solo 12 voti positivi :( – EGN

+4

qui, prendi il mio :) – javabot