Um ehrlich zu sein, ich bin arm an Serveradministration, 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 gemäß den vom Hoster erhaltenen Diagrammen nur ausgehende Übertragung verwendet wurde.
BEARBEITEN
Vielen Dank für die Vorschläge, ich werde tcpdump ausführen und versuchen, das Ergebnis zu untersuchen
tcpdump
Manpage lesen und herausfinden, wie sie so konfiguriert wird, dass nur die TCP / IP-Header erfasst werden und der Rest der Paketdaten verworfen wird.Antworten:
Zur sofortigen Überwachung können Sie iftop verwenden . Hier sehen Sie die aktuell aktiven Verbindungen und die von ihnen verwendete Bandbreite. Wenn Sie eine Verbindung mit hohem Datenaufkommen gefunden haben, suchen Sie die lokale Portnummer und ermitteln Sie mit,
netstat
zu welchem Prozess die Verbindung gehört.Für eine längerfristige Überwachung würde ich so etwas wie darkstat vorschlagen . Auf diese Weise erhalten Sie eine Aufschlüsselung nach Host und Port, anhand derer Sie möglicherweise herausfinden können, mit welchem Datenverkehr Sie zu tun haben.
quelle
Ich würde empfehlen, ntop zu installieren.
http://www.ntop.org/
Stellen Sie das auf einen Host-Gateway / Router-Standort und beobachten Sie den Datenverkehr für einen Tag / eine Woche. Ntop bietet eine Web-Benutzeroberfläche, über die Sie eine Aufschlüsselung nach IP / Port / Protokoll erhalten.
quelle
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:Dies schreibt ein Protokoll aller Pakete an
packet.log
. Lass das ein paar Minuten laufen, lade dann die Datei herunter und inspiziere sie mit Wireshark . Wenn der mysteriöse Datenverkehr weiterhin besteht, sollte dies mit einem flüchtigen Blick durch die Paketerfassungsdaten offensichtlich sein.quelle
Schauen Sie sich tcpdump an . Es kann den gesamten Netzwerkverkehr speichern (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 kann Ihnen einen schnellen Überblick geben.
Übrigens: Meine ersten Gedanken sind, dass sich Malware auf Ihrem Server befindet oder für Amplification-Angriffe 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 verwenden
sudo tcpdump
.Eine weitere Änderung: Da ich keine wirklich gute Webseite finden kann, um zu verlinken, was Verstärkungsangriffe im Allgemeinen sind, ist hier eine kurze Version:
Protokolle wie DNS laufen auf UDP. UDP-Verkehr ist verbindungslos, und daher können Sie die IP-Adresse eines anderen Benutzers sehr leicht fälschen. 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 Datensätze angefordert werden, die der DNS-Server zu einem bestimmten Namen hat, 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 (große, sagen wir 4 KB) Antwort 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.
quelle
Das beste Tool dafür ist wahrscheinlich iftop und kann einfach über sudo apt-get install iftop heruntergeladen werden. Die Ausgabe wird nach den IP-Adressen / Hostnamen des Täters angezeigt:
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 zur Überwachung der Bandbreite in Echtzeit und einfach in Ubuntu oder Debian mit sudo apt-get install nload zu installieren.
quelle
Nachdem ich eine Weile nach dem Problem gesucht hatte (über 60 GB Bandbreite in wenigen Tagen), stellte ich fest, dass es sich bei meinem Server um eine DDOS-Angriffsquelle handelte.
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 erstellt, mit einer Crontab dort, die manuell einige Deamons ausgeführt hat, die den Zielserver überfluteten.
Außerdem haben Hacker 2 neue Benutzer auf meinem Server angelegt: 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 ganze Orakelhaus 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!
quelle
Das Erfassen aller Pakete, die an einem Tag gesendet werden, an dem Sie Ihr Bandbreitenkontingent überschreiten, ist wahrscheinlich nicht der sinnvollste Ansatz. Wie werden Sie die Daten des Systems für die Analyse abrufen?
Welchen Zugang hast du zur Box? Welche Ports sind offen? Haben Sie die Protokolle für die Dienste überprüft, die ausgeführt werden? 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.
quelle
Wenn du denkst, dass du ein Apache bist, hatte ich in der Vergangenheit Erfolg mit diesem Tool
Apache oben
http://www.howtogeek.com/?post_type=post&p=324
quelle