Die ersten Schritte bei der Fehlersuche auf Ubuntu (Debian) Systemen

Was tun, wenn der Server oder die lokale Ubuntu Installation sich komisch verhält? Wurde der Rechner gehackt oder gibt es Probleme mit der Hardware?

Um die gröbsten Probleme direkt am Anfang eingrenzen zu können, möchte ich euch eine Schritt für Schritt Anleitung zur Fehlersuche und Problembehebung auf Ubuntu (Debian) Systemen an die Hand geben. Mehr als eine Konsole ist dazu nicht nötig. Bei Hackerangriffen oä. kann später immer noch mit Forensik Tools das gesamte System geprüft werden, eine kleine Auswahl hatten ich ja erst vor kurzem vorgestellt.

hacked_was_tun

Fragen stellen

Damit eine erste Untersuchung den richtigen Weg nimmt, ist es wie so oft von Nöten Fragen zu stellen. In diesem Fall sind die berühmten "W-Fragen" sicherlich am geeignetsten (wer, was, wann, wo, warum, wie, wozu)

  • Wann traten zum ersten Mal Probleme auf?
  • Wer war als letztes auf dem System?
  • Wie ist das System aufgebaut?
  • Wo sind die kritischen Stellen?
  • Wozu werden die Dienste benötigt?
  • usw.

Nach einer Zusammenstellung kann mit dem Abarbeiten dieser Fragen begonnen werden. Auf Linux Systemen gestaltet sich dies am einfachsten mit einfachen Befehlen auf der Konsole und der Auswertung der Ausgaben.

Dienste, Prozesse, Logins und Auslastung prüfen

Welche Prozesse laufen auf dem System?

  • ps aux

Welche Ports sind offen?

  • netstat -lnp
  • netstat -ntlp

Funktionieren die Netzwerkkarten?

  • ifconfig

Welche Routen sind auf dem System hinterlegt?

  • route

    Welche Cronjobs sind eingerichtet?

    • sudo crontab -l

    Wer war zuletzt auf dem System eingeloggt?

    • last 

    Wer ist zurzeit auf dem System eingeloggt?

    • w

    Serverlast bzw. Auslastung überprüfen

    • top
    • htop (interaktiv)

    Wieviel Speicher wird genutzt?

    • free -m

    Wie lange ist der Rechner schon in Betrieb?

    • uptime

    Hardware und andere Details ausgeben

    PCI bus und Geräte

    • lspci

    BIOS auslesen

    • dmidecode -t bios

    CPU Ausgeben

    • dmidecode -t processor

    Festplatten überprüfen

    Gemountetete Laufwerke

    • mount

    LVM Informationen abfragen

    • sudo pvs
    • sudo pvdisplay
    • sudo lvs
    • sudo lvdisplay
    • sudo vgs
    • sudo vgdisplay

    Festplattenaufteilung ausgeben?

    • blkid

    Ist noch Platz auf der Festplatte?

    • df -h

    Belegten Speicherplatz im aktuellen Verzeichnis ausgeben?

    • du -sh ./

    Logs und Sonstiges

    Ringpuffer des Kernels ausgeben

    • dmesg (display messages)

    System Logs prüfen

    • sudo tail -f /var/log/messages
    • sudo less /var/log/syslog

    Logs bei Mailservern (Postfix)

    • sudo tail -f /var/log/mail.log
    • sudo less /var/log/mail.err

    SQL Logs durchsehen

    • sudo tail -f /var/log/mysql\mysql.log

    Apache2 Logs durchsehen

    • sudo less /var/log/apache2/access.log
    • sudo less /var/log/apache2/error.log

    Tomcat Logs überprüfen

    • /var/log/tomcat7/catalina..log

    Spätestens nachdem ihr alle diese Befehle auf einem Linux System durchgegangen seid, solltet ihr ein genaueres Bild haben, was am System defekt ist oder wo der Wurm drin ist.
    Natürlich stellt diese Sammlung nur ein kleine Auswahl der Möglichkeiten dar, für einen ersten Überblick sollten die gelisteten Befehle jedoch ausreichen. (Quelle)

    Trackbacks

    Trackback-URL für diesen Eintrag

    Dieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.

    Keine Trackbacks

    Kommentare

    Ansicht der Kommentare: Linear | Verschachtelt

    Noch keine Kommentare

    Kommentar schreiben

    Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
    Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.