![]() |
|
||||||||||||||||||
|
|||||||||||||||||||
|
|||||||||||||||||||
von Andrea Müller
Neugierige erfahren mit dem Kommando ps, welche Programme auf dem System laufen. In der einfachsten Form geben Sie dazu ps x in einem Terminal wie der KDE-Konsole ein. In einer kompakten Tabelle sehen Sie die von Ihnen gestarteten Programme (Abbildung 1).
Die fünf Felder der Tabelle bieten von links nach rechts folgende Informationen:
Reichen Ihnen diese Informationen nicht, rufen Sie ps aux | less auf. Dann zeigt ps auch die Anwendungen anderer Benutzer an. Da die Liste sehr lang ist, wird sie mit dem Pipe-Zeichen (|) dem Programm less zur Anzeige übergeben. So können Sie bequem mit der Return-Taste durch die Liste scrollen oder mit der Leertaste blättern.
Wer die laufenden Programme gerne etwas schöner dargestellt hätte, ruft top auf. Top ist ein Systemmonitor, der im oberen Bildschirmbereich Informationen zum Ressourcenverbrauch des Systems bietet und darunter eine Tabelle mit den laufenden Programmen anzeigt.
Mit der [?]-Taste erreichen Sie die eingebaute Hilfe. Ein Druck auf [P] sortiert die Programme nach oben, die die meiste Prozessorleistung benötigen, und mit der Eingabe von [M] entlarven Sie die größten Speicherfresser. Wollen Sie nur die Programme eines bestimmten Nutzers sehen, drücken Sie auf [u] und tippen danach den Benutzernamen ein. Haben Sie genug gesehen, beenden Sie top durch Druck auf [q].
Es gibt viele Gründe zu überprüfen, ob die Dateien, die bei Ihnen auf der Festplatte liegen, mit denen identisch sind, die bei der Installation kopiert wurden. Vermuten Sie, dass sich ein Fremder Zugang zu Ihrem System verschafft hat, kann eine solche Prüfung erste Anhaltspunkte geben. Um ihre Spuren zu verwischen, tauschen Angreifer manchmal gezielt Programme auf dem Rechner des Opfers aus. Statt ps, das Sie über laufende Prozesse informiert, liegt dann eine modifizierte ps-Version auf Ihrem Rechner, die bei der Auflistung die Programme des Angreifers unterschlägt.
Glücklicherweise speichert RPM, die Paketverwaltung von Red Hat und SuSE Linux, nicht nur Informationen darüber, welche Dateien installiert wurden. RPM kennt von jeder Datei unter anderem die Größe, den Zeitstempel und die md5-Summe. Das ist eine Prüfsumme, die immer gleich bleibt, solange die Datei nicht verändert wird. Die Überprüfung, ob das auf Ihrem Rechner vorhandene Kommando ps auch wirklich das Original ist, funktioniert so:
Öffnen Sie mit [Alt-F2] ein Schnellstartfenster und geben Sie konsole ein.
Zuerst müssen Sie herausfinden, aus welchem RPM-Paket ps stammt. Das Programm liegt im Ordner /bin. Geben Sie rpm -qf /bin/ps ein (q für "query"=Abfrage, f für "file"=Datei). Unter SuSE Linux teilt Ihnen die Paketverwaltung nun mit, dass ps im Paket ps-2002.9.10-0 enthalten ist, unter Red Hat Linux ist ps Bestandteil des procps-2.0.7-25-Pakets (procps-2.0.11-6bei Red Hat Linux 9.0).
Mit rpm -V paketname überprüfen Sie nun die Integrität der Dateien dieses RPM-Pakets. SuSE-Anwender geben dazu rpm -V ps ein, Red-Hat-Nutzer rpm -V procps. Die Versionsnummer müssen Sie nicht mit angeben.
Seien Sie nicht enttäuscht, wenn Sie keine Ausgabe bekommen -- das heißt, dass alle Dateien die Integritätsprüfung bestanden haben. Bei Ihrem installierten ps handelt es sich vermutlich um die Originaldatei -- vermutlich deshalb, weil ein gewiefter Angreifer natürlich auch das Kommando rpm modifiziert haben könnte, so dass es falsche Ausgaben liefert.
Wollen Sie sehen, was RPM meldet, wenn Dateien verändert wurden, geben Sie, sofern Sie eine Internet-Verbindung unter Linux eingerichtet haben, rpm -V ppp ein. Dieses Paket ist für Online-Verbindungen zuständig. Werden Sie zunächst durch Eingabe von su und Ihres Administrator-Passwortes in der nächsten Zeile zu Root. Das muss sein, da normale Benutzer nicht alle Dateien des ppp-Pakets lesen dürfen. Eine Zeile der Ausgabe könnte beispielsweise so aussehen:
S.5....T c /etc/ppp/pap-secrets
/etc/ppp/pap-secrets ist die geänderte Datei. Das c bedeutet, dass es sich um eine Konfigurationsdatei handelt. In dieser Datei steht das Passwort für Ihren Internet-Zugang, das Sie selbst bei der Konfiguration angegeben haben. Änderungen in Konfigurationsdateien sind ganz normal, und Sie müssen sich nur in seltenen Fällen darüber Sorgen machen. Die ersten acht Felder der Ausgabe zeigen an, was geändert wurde. Maßgeblich sind die Stellen, an denen kein Punkt steht. Das S steht für eine Größenänderung, 5 für eine Änderung der Prüfsumme, und das T zeigt eine Änderung der Zeit der letzten Modifikation an.
Wer von Windows kommt, kennt vielleicht den Befehl netstat zur Anzeige der aktiven Netzwerkverbindungen. Ein Programm gleichen Namens gibt es auch unter Linux: netstat -a zeigt alle Netzwerkverbindungen Ihres Systems an. Die ausgegebene Liste besteht zum großen Teil aus so genannten Unix domain sockets, über die beispielsweise der für die grafische Anzeige zuständige X-Server mit anderen Programmen kommuniziert. Um sich nur Verbindungen per TCP oder UDP ins Internet oder lokale Netzwerk anzeigen zu lassen, geben Sie daher besser netstat -atu (-t für "tcp", -u für "udp") ein. Sind Sie gerade online, sehen Sie in der Ausgabe Zeilen ähnlich denen in Abbildung 2.
192.168.1.183 ist die lokale Adresse. Die mehrstellige Nummer dahinter ist die lokale Port-Nummer, über die die Verbindung erfolgt. Hier hat ein Programm beispielsweise Port 32797 geöffnet, um mit dem Host pop.gmx.de auf dem Port für pop3 Kontakt aufzunehmen. ESTABLISHED oder VERBUNDEN verrät Ihnen, dass eine Verbindung besteht, Ihr Mail-Programm also nicht mehr auf eine Antwort wartet. Ob da wirklich Ihr Mail-Programm kommuniziert, bekommen Sie mit dem Befehl fuser heraus, den Sie mit der lokalen Portnummer und, durch Schrägstrich getrennt, dem verwendeten Protokoll aufrufen, beispielsweise /sbin/fuser -v 32797/tcp. SuSE-Anwender müssen das Programm nicht mit dem vollen Pfad aufrufen, da es dort im Verzeichnis /bin liegt. Geben Sie stattdessen einfach fuser -v 32797/tcp ein.
Wollen Sie mehr darüber wissen, mit wem Ihr Rechner kommuniziert, gibt es unter Linux den praktischen Befehl whois ("wer ist"). Damit durchsuchen Sie die Registrierdatenbanken für Domains im Internet und erfahren, wem eine bestimmte IP-Adresse oder ein Domain-Name gehört. Geben Sie whois -h whois.thur.de 217.72.192.134 ein. Mit dem -h übergeben Sie whois den Server, den er befragen soll, hier whois.thur.de. Kurze Zeit später teilt whois alles Wissenswerte mit (Abbildung 3). Die Adresse gehört dem Freemail-Provider Web.de.
Auf diese Weise können Sie auch Verbindungen untersuchen, bei denen Sie nicht wissen, von welchem Programm Sie hergestellt wurden und wer sich hinter der Gegenstelle verbirgt. (eba)
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.
Druckerfreundliche Version |
Feedback zu dieser Seite |
Datenschutz |
© 2010 Linux New Media AG |
Last modified: 2007-01-25 16:26
[Linux-Magazin]
[LinuxUser]
[Linux-Community]
[Admin-Magazin]
[Ubuntu User]
[Linux Events]
[Linux Magazine]
[Ubuntu User]
[Admin Magazine]
[Linux Magazine Poland]
[Linux Community Poland]
[Linux Magazine Brasil]
[Linux Magazine Spain]
[Linux Technical Review]