Hardening.jpg

Abgehärtet

Unnötige Systemdienste abschalten

01.07.2003
Der Feind lauert überall: Nicht nur das Einrichten einer Firewall oder der Einsatz eines Viren-Scanners, sondern auch das Abschalten von Diensten trägt dazu bei, den eigenen Rechner zu schützen. Wir zeigen, wie Sie Ihren Linux-PC ein bisschen besser abschotten.

Sicherheit hat viele Aspekte. Die eines Computer-Systems verbessert sich nicht nur durch den Einsatz einer Firewall oder eines Viren-Programms, auch das Entfernen von Risikofaktoren trägt dazu bei. Im Englischen nennt man das "Operating System Hardening", etwa "das Betriebssystem (ab)härten". Dabei schaltet man erst einmal Dienste ab, die man nicht braucht und die über Sicherheitslöcher Angriffsmöglichkeiten bieten können.

Zu Ihren Diensten

Die meisten Linux-Distributionen installieren standardmäßig jede Menge Programme und Dienste; oft starten diese sogar automatisch. Welche Netzwerkdienste im Hintergrund arbeiten, erfahren Sie mit dem Befehl netstat (Listing 1).

Listing 1

<I>netstat<I> zeigt Netzwerkverbindungen

antony@mars:~$ netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address State
tcp        0      0 *:login            *              LISTEN
tcp        0      0 *:shell            *              LISTEN
tcp        0      0 *:time             *              LISTEN
tcp        0      0 *:netbios-ssn      *              LISTEN
tcp        0      0 *:finger           *              LISTEN
[…]

Die netstat-Ausgabe zeigt eine Liste aller aktiver Netzwerkverbindungen Ihres Systems. Jeder Eintrag steht für einen Dienst, der vom jeweils angebundenen Netz (Intra- oder Internet) aus erreichbar ist. Die meisten dieser Services (selbst wenn ihre Implementation keine Sicherheitslöcher enthält) verraten über Ihren Computer oder sogar über Sie Details, die nicht unbedingt für den Rest der Welt bestimmt sind. Es empfiehlt sich daher, nicht benötigte Services auszuschalten oder sogar ganz zu deinstallieren.

In der netstat-Ausgabe aus Listing 1 sehen Sie den Eintrag finger. Dieser Dienst verrät einiges über den Rechner oder dessen Benutzer – und das nicht nur lokal, sondern auch auf entfernten Maschinen (Listing 2).

Listing 2

Der <I>finger<I>-Dienst

antony@mars:~$ finger pooh@saturn
[saturn.rockstone.co.uk]
Login: pooh                             Name: Pooh Bear
Directory: /home/pooh                   Shell: /bin/bash
Last login Sun Apr 27 14:55 (BST) on ttyp0 from jupiter
New mail received Sat May 10 12:59 2003 (BST)
     Unread since Fri May  9 15:18 2003 (BST)
No Plan.

Wie Sie sehen, gibt er einige recht vertrauliche Dinge preis: der Vor- und Nachnamen des Benutzers, Datum und Uhrzeit des letzten Login, den Name des Rechners, von dem aus die letzte Anmeldung erfolgte, oder mit Datum und Uhrzeit, wann User pooh die letzte Mail empfangen und gelesen hat. Der finger-Dienst ist ein Überbleibsel aus den Anfängen des Internets, als die Zahl der Nutzer noch überschaubar und die Übermittlung von Information wichtiger war als deren Schutz. Heutzutage gibt es fast keinen Grund mehr, den finger-Service auf einem Computer anzubieten – erst recht nicht über's Internet.

Doch nicht nur die unerwünschte Informationsweitergabe birgt Risiken. Netzwerkdienste können Sicherheitslöcher haben, durch die fremde Benutzer Ihren Rechner betreten und eventuell root-Rechte erlangen können.

Bevor Sie damit anfangen, Dienste abzuschalten, lohnt es sich klarzumachen, wie Linux Daten vor lokalen und fremden Benutzern schützt. Abbildung 1 zeigt, über welche Ebenen Daten für Benutzer erreichbar sind: Nur wenn Sie Anwendungen und Daemons kontrollieren, können Sie den Zugriff auf sensible Daten beeinflussen.

Abbildung 1: Gut geschachtelt – Zugriffskontrolle für Daten

Gehen wir davon aus, dass auf dem System keine Software mit nennenswerten Sicherheitslücken installiert ist. In dem Fall liegt der Hauptaugenmerk auf den Daemons. Nicht richtig konfiguriert, ermöglichen sie unter Umständen Zugriff auf sensible Daten. Noch viel schlimmer: Sie bilden häufig die Eingangstür für unerwünschte Besucher.

Daemons austreiben

Ein wichtiger Schritt zu mehr Sicherheit besteht daher darin, überflüssige Netzwerkdienste zu finden und abzuschalten. Viele davon kontrolliert der Super-Daemon inetd: Er startet sie nur dann, wenn sie benötigt werden – eine effizientere Lösung als die, dass ständig ein eigener Daemon für jeden Service läuft. In der Datei /etc/inetd.conf (Listing 3) findet inetd die Informationen darüber, welche Dienste wie gestartet werden.

Listing 3

Auszüge aus <I>/etc/inetd.conf<I>

ftp       stream   tcp   nowait   root     /usr/sbin/tcpd       proftpd
# telnet  stream   tcp   nowait   root     /usr/sbin/tcpd       in.telnetd
shell     stream   tcp   nowait   root     /usr/sbin/tcpd       in.rshd -L
login     stream   tcp   nowait   root     /usr/sbin/tcpd       in.rlogind
# exec    stream   tcp   nowait   root     /usr/sbin/tcpd       in.rexecd
# talk    dgram    udp   wait     root     /usr/sbin/tcpd       in.talkd
ntalk     dgram    udp   wait     root     /usr/sbin/tcpd       in.talkd
finger    stream   tcp   nowait   nobody   /usr/sbin/tcpd       in.fingerd -u
# systat  stream   tcp   nowait   nobody   /usr/sbin/tcpd       /bin/ps -auwwx
# netstat stream   tcp   nowait   root     /usr/sbin/tcpd       /bin/netstat -a
auth      stream   tcp   wait     nobody   /usr/sbin/in.identd  in.identd -P/dev/null

Zeilen, welche mit einer Raute # beginnen, ignoriert der inetd. Ein erster Schritt zum sicheren System ist also das Abschalten diverser Services durch Auskommentieren der Einträge in /etc/inetd.conf.

Grundsätzlich gilt: Wird ein Dienst nicht benötigt, schalten Sie ihn ab. Sie sollten auf der Maschine nur die Services starten, die Sie wirklich brauchen. Einige Dienste sind sogar so unsicher, dass wir völlig davon abraten (siehe Kasten 1).

Kasten 1: Unsichere Dienste

Einige Netzwerkdienste und -Protokolle sind so unsicher, dass Sie nach Möglichkeit völlig auf sie verzichten sollten:

*telnet erlaubt das Einloggen auf anderen Rechnern. Anders als bei ssh gehen dabei aber der Benutzername und das Passwort (und alle weiteren Kommandos) im Klartext über das Netz. Mit sogenannten "Paket-Sniffer", die telnet-Verbindungen zwischen Client und Server abhören, kommen bösartige Mitbenutzer des Netzes an diese sensiblen Daten.

  • rsh ist sogar noch unsicherer, weil dieser Dienst so konfiguriert werden kann, dass Verbindungen ohne Passwort-Abfrage aufgebaut werden dürfen. Ein unbefugter Eindringling muss also nicht mal mehr das Passwort raten.

Eiserne Sicherheitsregel: Verzichten Sie am besten auf alle Dienste, die kein Passwort erfordern oder die dieses unverschlüsselt über's Netz schicken. Dazu gehören außer den besprochenen beispielsweise ftp, rlogin, pop3 und nfs. All diese Protokolle können sicherer gemacht werden, indem sie mit ssh "getunnelt" werden (siehe dazu auch die weiteren Artikel im Schwerpunkt).

Nachdem Sie alle überflüssigen Einträge in /etc/inetd.conf auskommentiert haben, kann es gut sein, dass Sie nur noch ein oder zwei Einträge übrig haben – nicht ungewöhnlich für ein halbwegs sicheres System. Anschließend muss der inetd neu gestartet werden:

kill -HUP `cat /var/run/inetd.pid`

Zur Sicherheit schauen Sie mit netstat -a nach, was noch läuft – das Programm darf die abgeschalteten Dienste nicht mehr anzeigen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 0 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...