it-swarm.com.de

Wie finde ich heraus, was oder wer meine Bandbreite nutzt?

Um ehrlich zu sein, bin ich schlecht in der Serververwaltung, aber mein Chef hat mich um Hilfe gebeten. Sein Server hat eine begrenzte Bandbreite von 2 GB/Tag und heute erhielt er eine Warnung von der Firma, dass er diese überschritten und ... 24 GB verwendet hat.

Da es unmöglich ist, weil er so war, fragte er mich, ob ich das Problem aufspüren kann. Ich habe keine Ahnung, wo ich anfangen soll oder was ich tun soll.

Jede Information wäre hilfreich, wie kann ich herausfinden, was falsch ist.

Maschine läuft unter Ubuntu 12.04. Das Merkwürdigste ist, dass nach den vom Hoster erhaltenen Diagrammen nur die ausgehende Übertragung verwendet wurde.

EDIT

Vielen Dank für Vorschläge, ich werde tcpdump ausführen und versuchen, das Ergebnis zu überprüfen

17
kamil

Nachdem ich eine Weile nach dem Problem gesucht hatte (über 60 GB Bandbreite in wenigen Tagen), stellte ich fest, dass mein Server eine DDOS-Angriffsquelle war.

Zuerst habe ich versucht, Oracle DB darauf zu installieren, deshalb habe ich einen Oracle-Benutzer erstellt. Hacker haben es irgendwie geschafft, den Pass für diesen Benutzer zu brechen (ich denke, ich sollte es schwieriger machen :(), sie haben ein verstecktes Verzeichnis unter Oracle Home erstellt, mit einer Crontab, die einige Deamons manuell ausführte, die den Zielserver überfluteten.

Außerdem haben Hacker zwei neue Benutzer auf meinem Server erstellt: Avahi und Colord. Was soll ich dagegen tun? Ich habe gegoogelt und es scheint, dass Software mit demselben Namen nicht gefährlich ist, aber ich habe diese Benutzer (und auch Oracle) gelöscht.

Außerdem habe ich das gesamte Oracle-Haus mit allem darin gelöscht.

Ich denke, ich muss meinen Server mehr sichern, da er möglicherweise erneut angegriffen wird. Vielen Dank an alle für die Hilfe!

1
kamil

Zur sofortigen Überwachung können Sie iftop verwenden. Dies zeigt Ihnen die aktuell aktiven Verbindungen und die von ihnen verwendete Bandbreite. Wenn Sie eine Verbindung mit hohem Datenverkehr identifiziert haben, suchen Sie die lokale Portnummer und verwenden Sie netstat, um herauszufinden, zu welchem ​​Prozess die Verbindung gehört.

Sudo netstat -tpn | grep 12345

Für eine längerfristige Überwachung würde ich so etwas wie darkstat vorschlagen. Auf diese Weise können Sie eine Aufschlüsselung nach Host und Port erhalten, anhand derer Sie möglicherweise herausfinden können, in welchem ​​Zusammenhang der Datenverkehr steht.

19
mgorven

Ich würde empfehlen, ntop zu installieren.

http://www.ntop.org/

Stellen Sie das auf einen Host-Gateway-/Router-Standort und beobachten Sie den Verkehr für einen Tag/eine Woche. Ntop bietet eine Web-Benutzeroberfläche, über die Sie eine Aufschlüsselung nach IP/Port/Protokoll erhalten können.

7
dmourati

Das beste Tool dafür ist wahrscheinlich iftop und leicht über Sudo apt-get install iftop zu erreichen. Die Ausgabe wird gemäß den IPs/Hostnamen der Täter angezeigt:

             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

Vergessen Sie nicht die klassischen und leistungsstarken Dienstprogramme sar und netstat auf älteren * nix!

Ein weiteres großartiges Tool ist nload , ein großartiges Tool zum Überwachen der Bandbreite in Echtzeit, das mit Sudo apt-get install nload einfach in Ubuntu oder Debian installiert werden kann.

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
3
Jamieson Becker

Schauen Sie sich tcpdump an. Es kann den gesamten Netzwerkverkehr ausgeben (nicht nur TCP, wie der Name vermuten lässt), den Sie dann mit einer Anwendung wie Wireshark lesen können. In Wireshark ist es sehr einfach, bestimmte Datentypen zu filtern und sogar Diagramme der Netzwerk-E/A zu zeichnen.

Ein weiteres nützliches Tool könnte netstat sein, das eine Liste der laufenden Netzwerkverbindungen anzeigt. Vielleicht gibt es Verbindungen, die nicht da sein sollten. Tcpdump ist viel nützlicher (erfassen Sie einige Minuten und prüfen Sie dann, ob Sie die Quelle bereits sehen können), aber netstat gibt Ihnen möglicherweise einen schnellen Überblick.

Wenn ich das übrigens lese, sind meine ersten Gedanken, dass Sie Malware auf Ihrem Server haben oder dass diese für Verstärkungsangriffe verwendet wird. Um dies zu untersuchen, müssen Sie zuerst tcpdump ausführen.

Bearbeiten: Beachten Sie, dass tcpdump wahrscheinlich als root ausgeführt werden muss, möglicherweise müssen Sie Sudo tcpdump Verwenden.

Noch eine Änderung: Da ich keine gute Webseite finde, auf der ich verlinken kann, was Verstärkungsangriffe im Allgemeinen sind, hier eine kurze Version:

Protokolle wie DNS laufen auf UDP. Der UDP-Verkehr ist verbindungslos, sodass Sie die IP-Adresse einer anderen Person sehr leicht fälschen können. Da eine DNS-Antwort normalerweise größer als die Abfrage ist, kann diese für einen DoS-Angriff verwendet werden. Der Angreifer sendet eine Abfrage, in der alle Einträge des DNS-Servers zu einem bestimmten Namen angefordert werden, und teilt dem DNS-Server mit, dass die Anforderung von X stammt. Dieses X ist das Ziel, das der Angreifer ausführen möchte. Der DNS-Server antwortet dann freundlich und sendet die Antwort (groß, sagen wir 4 KB) an X.

Dies ist eine Verstärkung, da der Angreifer weniger Daten sendet, als X tatsächlich empfängt. DNS ist nicht das einzige Protokoll, mit dem dies möglich ist.

2
Luc

In solchen Situationen ist eine Paketerfassung normalerweise der erste Startpunkt. Stellen Sie sicher, dass tcpdump installiert ist ($ Sudo apt-get install tcpdump), Und führen Sie dann Folgendes aus:

$ Sudo tcpdump -w packet.log

Dadurch wird ein Protokoll aller Pakete in packet.log Geschrieben. Lassen Sie das einige Minuten laufen, laden Sie dann diese Datei herunter und überprüfen Sie sie mit Wireshark . Wenn der mysteriöse Verkehr immer noch stattfindet, sollte dies mit einem flüchtigen Blick durch die Paketerfassungsdaten ziemlich offensichtlich sein.

2
EEAA

Das Erfassen aller Pakete, die an einem Tag gesendet werden, an dem Sie Ihr Bandbreitenkontingent überschreiten, ist wahrscheinlich nicht der sinnvollste Ansatz. Wie erhalten Sie die Daten des Systems zur Analyse?

Welchen Zugriff haben Sie auf die Box? Welche Ports sind offen? Haben Sie die Protokolle auf die ausgeführten Dienste überprüft? So etwas wie awstats fasst FTP-, HTTP- und SMTP-Protokolle zusammen (vorausgesetzt, diese Server sind so konfiguriert, dass sie die Daten in Protokollen aufzeichnen). OTOH mrtg zeichnet die Netzwerknutzung nach Endpunkt/Port auf und verfolgt sie.

0
symcbean

wenn Sie glauben, dass Ihr Bandbreitenproblem Apache ist, hatte ich in der Vergangenheit Erfolg mit diesem Tool

Apache oben

http://www.howtogeek.com/?post_type=post&p=324

0