Die ersten Schritte bei der Fehlersuche auf Ubuntu (Debian) Systemen
Geschrieben von Guenny amWas 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.
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)