Linux/Sicherheit
Grundlage für die Absicherung eines Linux-Rechners ist der Wissensstand seines Systemverwalters. Dieser muss nicht nur zeitnah die verfügbaren Sicherheitsaktualisierungen einspielen, sondern auch Angriffe und Einbrüche erkennen und darauf reagieren können.
Vorgehen
Der Systemverwalter muss folgende Sicherheitselemente im Auge behalten.
Regelmässige Sicherheitsaktualisierungen
Der Systemverwalter schützt seinen Linux-Rechner am einfachsten und besten, indem er sein System auf dem neusten Stand hält und verfügbare Sicherheitsaktualisierungen zeitnah einspielt.
Die meisten Aktualisierungsmöglichkeiten können bei Bedarf als Cronjob auch automatisiert werden. Unter Debian sorgen die folgenden beiden Befehle dafür; der Befehl "apt-get update" bringt die Paketlisten der Distribution auf den aktuellen Stand, wobei die Option "-q" unnötige Ausgaben unterdrückt und "-y" alle aftretenden Fragen automatisch mit Ja beantwortet, der Befehl "apt-get upgrade" spielt anschliessend die neuesten Versionen aller installierten Pakete ein. In dieser Form eignen sich diese beiden Befehle auch für einen automatischen täglichen oder stündlichen Aufruf als Cronjob.
/usr/bin/apt-get update -q -y /usr/bin/apt-get upgrade -q -y
Ein sauber aktualisiertes System bietet mehr Sicherheit als jede Firewall und jeder Virenscanner: Sein Systemnverwalter muss dann nur noch neue, noch unbekannte Sicherhehitslücken fürchten.
Minimalismus
Um den Rechner weniger angreifbar zu machen, sollen alle nicht benötigten Netzwerkdienste abgeschaltet werden.
Die aktuell laufenden Netzwerkdienste können wie folgt ermittelt werden:
1. Der Befehl "lsof -i" zeigt alle auf dem lokalen Rechner geöffneten Dateien an - also auch alle offenen Netzwerkverbindungen. Der Schalter "-i" zeigt alle Internetverbindungen.
$ lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME firefox-b 1465 mik 49u IPv4 130525 0t0 TCP kanzler.lan:59323->proxyserver.newsnetz.ch:www (CLOSE_WAIT)
Die erste Spalte zeigt den Befehl, der die Netzwerkverbindung geöffnet hat (hier "firefox-bin"), daneben stehen die Prozess-ID und der Benutzer. Die Spalte "NODE" teigt das Protokoll (TCP oder UDP), das der Dienst für seine Kommunikation mit der Aussenwelt benutzt. Die Spalte "NAME" zeigt die Adresse und den Port des Dienstes, wobei sowohl für Adresse und Port die Klartextnamen aus den Dateien "/etc/hosts" und "/etc/services" eingesetzt werden; dieses Verhalten lässt sich mit den Optionen "-n" (no host names) und "-P" (no port names) unterdrücken.
$ lsof -i -n -P COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME firefox-b 1465 mik 49u IPv4 137374 0t0 TCP 192.168.1.64:50953->62.12.138.150:80 (CLOSE_WAIT)
Erscheint als Adresse in der letzten Spalte "localhost" oder "127.0.0.1", so lässt sich der betreffende Dienst nur lokal erreichen.
2. Der Rechner wird von aussen mit dem Befehl nmap gescannt.
Weblinks
- SecurityFocus - Seite zu Rechnersicherheit
- Linux Community
- http://www.linux-community.de/Ticker/advisories.rdf - RSS-Feed mit den Security-Advisories des DFN-CERT