Come scoprire cosa o chi sta usando la mia larghezza di banda?


17

Ad essere sincero, sono povero nell'amministrazione del server, ma il mio capo mi ha chiesto aiuto. Il suo server ha una larghezza di banda limitata di 2 GB / giorno e oggi ha ricevuto un avviso dalla società che lo ha superato e utilizzato ... 24 GB.

Dal momento che è impossibile perché era così, mi ha chiesto se posso rintracciare il problema. Non ho idea di dove iniziare o cosa fare.

Qualsiasi informazione sarebbe utile come posso sapere cosa c'è che non va.

La macchina è in esecuzione su Ubuntu 12.04. La cosa più curiosa è che, secondo i diagrammi ricevuti dall'hoster, è stato utilizzato solo il trasferimento in uscita.

MODIFICARE

Grazie per i suggerimenti, eseguirò tcpdump e proverò ad esaminare il risultato


Pubblica i tuoi commenti come commenti, non nel corpo della tua domanda.
EEAA,

Ecco la mia domanda, posso eseguire tcpdump in background, in modo da raccogliere dati da diciamo un giorno?
Kamil,

Puoi sì. Dovresti eseguirlo da una sessione dello schermo o qualcosa del genere. Attenzione, però ... devi assicurarti di avere abbastanza disco per archiviare tutti i dati acquisiti. Probabilmente dovresti leggere la tcpdumppagina man e vedere come configurarla per catturare solo le intestazioni TCP / IP, scartando il resto dei dati del pacchetto.
EEAA,

Risposte:


18

Per un monitoraggio immediato puoi usare iftop . Questo ti mostrerà le connessioni attualmente attive e la larghezza di banda che stanno usando. Dopo aver identificato una connessione a traffico elevato, trova il numero di porta locale e utilizza netstatper trovare a quale processo appartiene la connessione.

sudo netstat -tpn | grep 12345

Per un monitoraggio a lungo termine, suggerirei qualcosa come darkstat . Questo può darti una suddivisione per host e porta che potrebbe permetterti di capire a cosa è correlato il traffico.


1
iotop? O stavi pensando a iftop ?
EEAA,

@ErikA Uh, sì .. è quello che ho detto!
mgorven,

7

Consiglierei l'installazione di ntop.

http://www.ntop.org/

Posizionalo su un gateway host / posizione del router e osserva il traffico per un giorno / settimana. Ntop fornisce un'interfaccia utente Web in cui è possibile ottenere un'analisi per IP / porta / protocollo.


2

Bene, un'acquisizione di pacchetti è in genere il primo posto per iniziare in situazioni come queste. Assicurarsi che tcpdump sia installato ( $ sudo apt-get install tcpdump), quindi eseguire quanto segue:

$ sudo tcpdump -w packet.log

Questo scriverà un registro di tutti i pacchetti su packet.log. Lascialo funzionare per alcuni minuti, quindi scarica quel file e ispeziona utilizzando Wireshark . Se il traffico misterioso continua a verificarsi, dovrebbe essere abbastanza ovvio con una rapida occhiata ai dati di acquisizione dei pacchetti.


Utilizzando WireShark utilizzare il menu Statistiche - Endpoint. È quindi possibile selezionare IP o TCP o altri elenchi e ordinare in base alla quantità ricevuta / trasmessa da ciascun endpoint. Dove endpoint sarà l'indirizzo IP o la macchina. Tuttavia, alcuni endpoint potrebbero essere gateway o switch, pertanto è necessario eseguire un altro tcpdump e wirehark su quel gateway per rintracciare l'utente della larghezza di banda.
martedì

2

Dai un'occhiata a tcpdump . Può scaricare tutto il traffico di rete (non solo tcp come suggerisce il nome), che puoi quindi leggere con un'applicazione come Wireshark. In Wireshark è molto semplice filtrare determinati tipi di dati e persino tracciare grafici degli I / O di rete.

Un altro strumento utile potrebbe essere netstat che visualizza un elenco di connessioni di rete in corso. Forse ci sono connessioni che non dovrebbero esserci. Tcpdump è molto più utile (cattura alcuni minuti, quindi controlla se riesci già a vedere la fonte), ma netstat potrebbe darti una rapida panoramica.

Dopo aver letto questo a proposito, i miei primi pensieri sono che hai malware sul tuo server o che viene utilizzato per attacchi di amplificazione. Ma per esaminarlo, devi prima eseguire tcpdump.

Modifica: Nota che probabilmente tcpdump deve essere eseguito come root, forse devi usarlo sudo tcpdump.

Un'altra modifica: dal momento che non riesco davvero a trovare una buona pagina web per collegarmi su quali attacchi di amplificazione sono in generale, ecco una versione breve:

Protocolli come DNS funzionano su UDP. Il traffico UDP è senza connessione e quindi puoi facilmente falsificare l'indirizzo IP di qualcun altro. Poiché una risposta DNS è in genere più grande della query, questa può essere utilizzata per un attacco DoS. L'attaccante invia una query richiedendo tutti i record che il server DNS ha su un determinato nome e comunica al server DNS che la richiesta proviene da X. Questa X è la destinazione che l'attaccante vuole fare. Il server DNS risponde quindi gentilmente, inviando la risposta (grande, diciamo 4kB) a X.

Questa è un'amplificazione perché l'attaccante invia meno dati di quanto X riceva effettivamente. Il DNS non è l'unico protocollo con cui ciò è possibile.


1
Sì. tcpdump -i qualsiasi -w /tmp/traffic.pcap. Utilizzando WireShark utilizzare il menu Statistiche - Endpoint. Ordina per importo ricevuto / trasmesso.
Gaoithe

2

Lo strumento migliore per questo è probabilmente iftop , e facilmente apt-get'able tramite sudo apt-get install iftop. Visualizzerà l'output in base all'IP / ai nomi host colpevoli:

             191Mb      381Mb                 572Mb       763Mb             954Mb
└────────────┴──────────┴─────────────────────┴───────────┴──────────────────────
box4.local            => box-2.local                      91.0Mb  27.0Mb  15.1Mb
                      <=                                  1.59Mb   761kb   452kb
box4.local            => box.local                         560b   26.8kb  27.7kb
                      <=                                   880b   31.3kb  32.1kb
box4.local            => userify.com                         0b   11.4kb  8.01kb
                      <=                                  1.17kb  2.39kb  1.75kb
box4.local            => b.resolvers.Level3.net              0b     58b    168b
                      <=                                     0b     83b    288b
box4.local            => stackoverflow.com                   0b     42b     21b
                      <=                                     0b     42b     21b
box4.local            => 224.0.0.251                         0b      0b    179b
                      <=                                     0b      0b      0b
224.0.0.251           => box-2.local                         0b      0b      0b
                      <=                                     0b      0b     36b
224.0.0.251           => box.local                           0b      0b      0b
                      <=                                     0b      0b     35b


─────────────────────────────────────────────────────────────────────────────────
TX:           cum:   37.9MB   peak:   91.0Mb     rates:   91.0Mb  27.1Mb  15.2Mb
RX:                  1.19MB           1.89Mb              1.59Mb   795kb   486kb
TOTAL:               39.1MB           92.6Mb              92.6Mb  27.9Mb  15.6Mb

Non dimenticare le classiche e potenti utility sar e netstat sui vecchi * nix!

Un altro ottimo strumento è nload , un ottimo strumento per il monitoraggio della larghezza di banda in tempo reale e facilmente installabile su Ubuntu o Debian con sudo apt-get install nload.

Device eth0 [10.10.10.5] (1/2):
=====================================================================================
Incoming:


                               .         ...|
                               #         ####|
                           .. |#|  ...   #####.         ..          Curr: 2.07 MBit/s
                          ###.###  #### #######|.     . ##      |   Avg: 1.41 MBit/s
                         ########|#########################.   ###  Min: 1.12 kBit/s
             ........    ###################################  .###  Max: 4.49 MBit/s
           .##########. |###################################|#####  Ttl: 1.94 GByte
Outgoing:
            ##########  ###########    ###########################
            ##########  ###########    ###########################
            ##########. ###########   .###########################
            ########### ###########  #############################
            ########### ###########..#############################
           ############ ##########################################
           ############ ##########################################
           ############ ##########################################  Curr: 63.88 MBit/s
           ############ ##########################################  Avg: 32.04 MBit/s
           ############ ##########################################  Min: 0.00 Bit/s
           ############ ##########################################  Max: 93.23 MBit/s
         ############## ##########################################  Ttl: 2.49 GByte

1

Dopo aver cercato per un po 'qual è il problema (oltre 60 GB di larghezza di banda in pochi giorni) ho scoperto che il mio server era una fonte di attacco DDOS.

Prima di tutto, ho provato a installare Oracle DB su di esso, quindi ho creato oracle user. Gli hacker in qualche modo sono riusciti a rompere il passaggio per quell'utente (suppongo che dovrei renderlo più difficile :(), hanno creato una directory nascosta sotto Oracle home, con un crontab lì, che ha eseguito manualmente alcuni deamon che hanno invaso il server di destinazione.

Inoltre, gli hacker hanno creato 2 nuovi utenti sul mio server: avahi e colord. Cosa dovrei fare al riguardo? Ho cercato su Google e sembra che il software con lo stesso nome non sia pericoloso, ma ho eliminato quegli utenti (e anche Oracle).

In verità ho cancellato l'intero oracolo a casa, con tutto dentro.

Immagino di dover proteggere maggiormente il mio server, poiché potrebbe essere nuovamente attaccato, grazie a tutti per l'aiuto!


4
cancellerei il tuo server e ricomincerei, non mi fido mai di un server dopo un compromesso. nuke il sito dall'orbita, è l'unico modo per essere sicuri.
Unix Janitor,

Sì, lo farò, prima di tutto il backup di alcuni dati (repository svn, script utili)
kamil,

assicurarsi che i dati siano ancora integri, è noto che gli intrusi modificano il codice sorgente e gli script per posizionare backdoor. Confronterei sicuramente l'ultima fonte svn con una versione recentemente verificata prima che entrasse l'intrusione.
The Unix Janitor

0

Catturare tutti i pacchetti inviati in un giorno in cui si sta superando la quota di larghezza di banda probabilmente non è l'approccio più sensato: come si procede all'analisi dei dati del sistema?

Che accesso hai sulla scatola? Quali porte sono aperte? Hai controllato i registri per i servizi in esecuzione? Qualcosa come awstats riassumerà i log FTP, HTTP e SMTP (supponendo che questi server siano configurati per registrare i dati nei log). OTOH mrtg registra e traccia l'utilizzo della rete per endpoint / porta.


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.