Gli attacchi SSH consumano 4 GB in 10 ore. Possibile?


10

Sono stato avvisato che il mio server ha superato il limite di trasferimento. Ho pensato che il mio nodo Tor fosse diventato popolare, quindi ho scelto di disabilitarlo questo mese (non è la scelta migliore per la comunità ma devo andare giù). Poi ho notato che il server ha trasferito circa 4 GB questa notte. Ho controllato i log di Apache con Awstats, senza traffico rilevante (e non ho ospitato siti così popolari lì). Ho controllato i registri di posta, nessuno ha provato a inviare immondizia. Ho controllato i messagesregistri e ne ho trovati tonnellate

Apr 29 10:17:53 marcus sshd[9281]: Did not receive identification string from 85.170.189.156
Apr 29 10:18:07 marcus sshd[9283]: Did not receive identification string from 86.208.123.132
Apr 29 10:18:24 marcus sshd[9298]: Did not receive identification string from 85.170.189.156
Apr 29 10:18:39 marcus sshd[9303]: Did not receive identification string from 86.208.123.132
Apr 29 10:18:56 marcus sshd[9306]: Did not receive identification string from 85.170.189.156
Apr 29 10:19:11 marcus sshd[9309]: Did not receive identification string from 86.208.123.132
Apr 29 10:19:18 marcus sshd[9312]: Did not receive identification string from 101.98.178.92
Apr 29 10:19:27 marcus sshd[9314]: Did not receive identification string from 85.170.189.156
Apr 29 10:19:41 marcus sshd[9317]: Did not receive identification string from 86.208.123.132
Apr 29 10:20:01 marcus sshd[9321]: Did not receive identification string from 85.170.189.156
Apr 29 10:20:13 marcus sshd[9324]: Did not receive identification string from 86.208.123.132
Apr 29 10:20:32 marcus sshd[9327]: Did not receive identification string from 85.170.189.156
Apr 29 10:20:48 marcus sshd[9331]: Did not receive identification string from 86.208.123.132
Apr 29 10:21:07 marcus sshd[9336]: Did not receive identification string from 85.170.189.156
Apr 29 10:21:20 marcus sshd[9338]: Did not receive identification string from 86.208.123.132
Apr 29 10:21:35 marcus sshd[9341]: Did not receive identification string from 85.170.189.156
Apr 29 10:21:51 marcus sshd[9344]: Did not receive identification string from 86.208.123.132
Apr 29 10:22:06 marcus sshd[9349]: Did not receive identification string from 85.170.189.156
Apr 29 10:22:23 marcus sshd[9353]: Did not receive identification string from 86.208.123.132
Apr 29 10:22:39 marcus sshd[9359]: Did not receive identification string from 85.170.189.156
Apr 29 10:22:54 marcus sshd[9361]: Did not receive identification string from 86.208.123.132
Apr 29 10:23:10 marcus sshd[9367]: Did not receive identification string from 85.170.189.156
Apr 29 10:23:29 marcus sshd[9369]: Did not receive identification string from 86.208.123.132
Apr 29 10:23:45 marcus sshd[9375]: Did not receive identification string from 85.170.189.156
Apr 29 10:24:10 marcus sshd[9387]: Did not receive identification string from 86.208.123.132
Apr 29 10:24:16 marcus sshd[9388]: Did not receive identification string from 85.170.189.156

Ogni pochi secondi un bot sta cercando di hackerare il mio SSH, il che è impossibile perché ho bisogno dell'autenticazione pubkey. La mia domanda è: questo traffico, a questa frequenza, può consumare 4 GB (diciamo 3.5) in 10 ore di attacco continuo?

Ho cambiato la mia porta SSH e fermato questi attacchi, ma non sono sicuro del consumo della mia rete. Non ho servizi fuori controllo mentre il mio firewall è un po 'restrittivo, o condivido il server con qualcuno che fa abusivamente P2P o altro. La mia preoccupazione è di scendere sotto i 400 GB / mese.

Qualche consiglio?

Risposte:


16

4 GB sono possibili, ma molto improbabili considerando il tasso di attacco. Suggerisco di installare OSSEC, rileva i tentativi di interruzione e blocca automaticamente l'IP per un certo timeout.


1
Ho già fail2ban, ha bloccato correttamente gli accessi non validi ma sembra ignorare questi messaggi. Forse lo sintonizzerò.
usr-local-ΕΨΗΕΛΩΝ

1
Accettato. Fail2ban necessitava di un po 'di ottimizzazione per accettare i messaggi di log come tentativi di intrusione. +1 anche a @lain perché non posso accettare 2 risposte
usr-local-ΕΨΗΕΛΩΝ

@djechelon: Fateci sapere se questo risolve il problema. In qualche modo dubito che lo farà man mano che i pacchetti vengono rilasciati dopo l'arrivo al tuo sistema.
utente9517

@La maggior parte degli attaccanti si arrende quando vengono lasciati cadere.
Lucas Kauffman,

3
@LucasKaufman: 4Gb / 10Hrs è ~ 120Kb / sec. Non vedo che ci sia così tanto rendimento da tentativi falliti e lo snippet sopra mostra un tasso di attacco molto più basso (26 in ~ 7 minuti).
utente9517

14

Se questi sono la causa dell'utilizzo della larghezza di banda, la larghezza di banda è già consumata dal tempo in cui li gestisci sul tuo sistema. Puoi usare uno strumento come iptraf per darti una panoramica di ciò che sta accadendo su ciascuna interfaccia / porta e quindi puoi intraprendere le azioni appropriate in base ai fatti.


Ovviamente posso fare i miei sforzi per prevenire il consumo futuro di larghezza di banda, a partire dal mese imminente
usr-local-ΕΨΗΕΛΩΝ

1
E ... risposta molto utile, ma iptraf non funziona con OpenVZ (riferimento webhostingtalk.com/showthread.php?t=924814 ) e non ne ho parlato :)
usr-local-ΕΨΗΕΛΩΝ

L'idea di base rimane la stessa. Trova qualcosa che ti dirà dove si trova l'utilizzo e quindi risolvi il problema. Nient'altro è congetture.
utente9517

4

No, questi tentativi di connessione una volta al secondo non si sommano fino a 4 GB in dieci ore. Pensi di poter scaricare un file da 4 GB in 10 ore ottenendo un pacchetto piccolo una volta al secondo? Ci sono 3600 secondi in un'ora, quindi se si ottiene un kilobyte al secondo per dieci ore, sarebbero 36000 Kb o 36 megabyte.

La larghezza di banda viene misurata in base a ciò che scende dal tubo dal provider al router esterno, non a ciò che raggiunge il server. Devi guardare la merda che non raggiunge il tuo server, che la maggior parte delle apparecchiature esterne sta rifiutando.

Per quanto riguarda ciò che raggiunge il tuo server, non puoi fare affidamento sui registri delle applicazioni. Anche i pacchetti che vengono silenziosamente rilasciati dal firewall locale sono larghi di banda. Le statistiche dell'interfaccia (mostrate da ifconfig) ti diranno byte Tx / Rx.


Non sono sicuro. Dal mio punto di vista, i messaggi di log mostrano che i client hanno aperto un socket sulla porta 22 ma sono stati respinti perché "ciò che hanno trasmesso" non è stato riconosciuto come stretta di mano SSH. Non volevo intercettare la porta 22 per vedere l'effettivo payload inviato dagli scanner, ma in teoria potevano inviare tonnellate di immondizia fino alla caduta di SSH. La domanda è: quando openSSH rilascia una stretta di mano non valida? In secondo luogo, ho trascorso una notte con Tor disabilitato e il traffico è ancora aumentato (Apache non ha mostrato traffico significativo), quando il traffico fail2ban riconfigurato è quasi fermo
usr-local-ΕΨΗΕΛΩΝ

1
Vorrei riformulare un po ', per ogni evenienza. Se volessi scaricare 4 GB di larghezza di banda da un server, potrei creare una botnet che apre connessioni HTTP e invia payload POST illimitati per ogni richiesta. I registri mostreranno che le richieste non riuscite si verificano con tariffe basse, ma ognuna è estremamente pesante. Ma questo inizia a perdere senso. Ho acquisito familiarità con le scansioni SSH ("autenticazione non riuscita per root, admin ...") perché il loro obiettivo è assumere il controllo del nodo. Perché un utente malintenzionato dovrebbe occuparsi di svuotare la larghezza di banda tramite SSH? Non ha senso. A meno che qualcuno non odia i nodi Tor ...
usr-local-ΕΨΗΕΛΩΝ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.