Systeme und Netzwerk überwachen

Linux-Sicherheit - Angriffe entdecken

21.10.2011
Von Marco Rogge

User und Netzwerkzugriffe überwachen

Unter Linux ist es wichtig zu wissen, welche User am System angemeldet sind und darin arbeiten. Der einfache Befehl who gibt darüber Aufschluss:

marko@powermashine:~$ who
marko tty7 2009-12-02 08:25 (:0)
marko pts/0 2009-12-02 12:33 (:0.0)

Hier sollten nur die User zu sehen sein, die autorisiert gerade an einem System arbeiten. Sofern hier mehr zu sehen ist, deutet dies mit großer Wahrscheinlichkeit auf einen Angriff hin. Mit dem Befehl last kann man noch zusätzliche Details und die vergangenen Tage angezeigt bekommen, um sicher gehen zu können:

marko@powermashine:~$ last
marko tty7 :0 Thu Dec 3 16:09 - 00:11 (08:02)
reboot system boot 2.6.31-15-generi Thu Dec 3 16:08 - 00:11 (08:03)
marko pts/0 :0.0 Thu Dec 3 11:38 - 15:25 (03:46)
marko tty7 :0 Wed Dec 2 17:06 - 15:47 (22:40)
reboot system boot 2.6.31-15-generi Wed Dec 2 17:05 - 15:47 (22:41)
marko tty7 :0 Wed Dec 2 08:26 - down (07:41)
reboot system boot 2.6.31-15-generi Wed Dec 2 08:26 - 16:08 (07:42)
marko pts/0 :0.0 Tue Dec 1 08:33 - 08:33 (00:00)
wtmp begins Tue Dec 1 08:33:23 2009

Wichtig ist auch, die Prozesse und Anwendungen zu überwachen, die auf eine Internet- oder Netzwerkverbindung zugreifen. Hierbei hat sich der Befehl netstat bewährt, den man mit root-Rechten ausführt. Sonst kann er nicht alle Prozesse anzeigen. Ist ein Zugriff über root nicht mehr möglich, ist das System feindlich übernommen worden. Kann man sich noch als root anmelden, so ist netstat wie folgt effektiv auszuführen:

root@powermashine:~# netstat –tanp
Aktive Internetverbindungen (Server und stehende Verbindungen)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.x.x:48721 145.253.x.x:80 VERBUNDEN 3472/firefox
tcp 0 0 192.168.x.x54048 64.12.x.x:5190 VERBUNDEN 3741/pidgin
tcp 0 0 192.168.x.x:46135 74.125.x.x:80 VERBUNDEN 3472/firefox
tcp 0 0 192.168.x.x:59562 68.180.x.x:5050 VERBUNDEN 3741/pidgin

Man kann sich auch mit ps anzeigen lassen, welcher User zu welcher Zeit einen Dienst oder Anwendung gestartet hat. Zudem ist mit ps zu erkennen, welche Systemauslastung Dienste oder Anwendungen erzeugen. Ein typischer Befehl im Terminal ist der Aufruf von ps -aux:

www-data 2952 0.0 0.0 69024 1852 ? S 08:24 0:00 /usr/sbin/apache2 -k start
www-data 2955 0.0 0.0 348152 3132 ? Sl 08:24 0:00 /usr/sbin/apache2 -k start
www-data 2983 0.0 0.0 348152 3124 ? Sl 08:24 0:00 /usr/sbin/apache2 -k start