Linux-Rechner im Uni-Netz
Sad's vuasichtig!

von Robert Brunnthaler (Ausgabe 98/3, Oktober 1998)

 

Das Betriebssystem Linux hat auch an der Universität Wien viele Freunde gefunden. Es wird vor allem wegen seiner Netzwerkfunktionalität sehr geschätzt. Moderne Distributionen (z.B. RedHat, S.u.S.E.) ermöglichen es mittlerweile auch "normalen" Benutzern, eine Linux-Box zu installieren und zu konfigurieren - man muß also kein "Guru" mehr sein, um einen lauffähigen Computer aufzusetzen. Gerade diese Einfachheit und die standardmäßig installierten Netzwerkdienste bergen jedoch einige Gefahren.

Bei einem PC, der zu Hause vor sich hin rechnet und ab und zu per Modem mit dem Internet verbunden wird, muß man sich noch nicht allzuviele Sorgen machen. Bei einem Rechner, der mit fixer IP-Adresse im Datennetz der Universität Wien hängt und unter Umständen durchgehend in Betrieb ist, sieht die Sache aber schon ganz anders aus: Man wird in seinen Logfiles immer wieder Einträge von "Angriffen" aus aller Welt finden. Es gibt sehr einfache Hackertools, mit denen man einen Computer auf Sicherheitslöcher "abklopfen" kann - und Universitätsrechner sind leider ein beliebtes Ziel.

Sogenannte Security Alerts (Sicherheitslücken werden nach ihrer Aufdeckung meist sehr schnell behoben) sollten Sie auf den Webservern der jeweiligen Distribution finden (z.B. http://www.suse.de, http://www.redhat.com). Sinnvoll ist jedenfalls ein regelmäßiges Update des Systems und der darauf installierten Pakete, da neuere Programme im Regelfall auch sicherer sind.

Logfiles

Der sehr mächtige Dämon syslogd ("Linux System Logging Utilities") sollte auf jedem Linux-Rechner automatisch gestartet werden. Wer mehr darüber wissen möchte, findet mit man syslogd eine ausführliche Beschreibung. Ob der Dämon läuft, findet man mit ps ax | grep syslogd heraus. Die Ausgabe sollte in etwa so aussehen:

67 ? S 0:00 /usr/sbin/syslogd

Wohin syslogd welche Informationen schreibt, bestimmt man in der Datei /etc/syslog.conf. Die Zeilen

*.* /dev/tty10

*.* /var/log/messages

in dieser Datei sollen bedeuten, daß jeglicher syslogd-Output sowohl auf die Konsole 10 des Rechners als auch in die Datei /var/log/messages geschrieben wird. Diese Datei oder den Output auf der Konsole 10 sollte man von Zeit zu Zeit durchsehen. Wenn man X-Windows verwendet, kann man z.B. ständig in einem xterm den Prozeß tail -f /var/log/messages laufen lassen - dadurch weiß man immer, was passiert. Auch der Web- und der FTP-Server (so sie auf dem System laufen, aber dazu später mehr) protokollieren alle Zugriffe mit. Wo diese Logfiles zu finden sind, stellt man in den Konfigurationsdateien der Server ein. Sehr oft finden Sie die Logfiles im Verzeichnis /var/log. Auch diese sollten Sie durchsehen, da jede kleine Sicherheitslücke in diesen Diensten sofort von bösen Menschen ausgenutzt wird. (Die Welt ist schlecht!)

Spam, Spam, Spam!

Ein Dienst, der (leider) sehr oft bei einer Installation automatisch installiert und gestartet wird, ist SMTP ("Simple Mail Transfer Protocol"). Das Programm, das normalerweise zu diesem Zweck aufgerufen wird, heißt sendmail. Da sendmail auf den meisten Unix-Rechnern läuft, ist es eines der am häufigsten gehackten Programme. Abgesehen von der Möglichkeit eines Einbruchs hat es eine unschöne Eigenschaft (außer man konfiguriert es richtig): Es gibt "Spammern" die Möglichkeit, den betroffenen Linux-Rechner als SMTP-Server zu verwenden und tausende eMail-Nachrichten über diesen Rechner zu verschicken ("Spam"). Das Internet (besser: seine User) reagiert sehr sensibel auf derartige unverlangte eMail; jeder Provider, der solches Treiben zuläßt, wird Probleme bekommen. Die Mailserver der Universität Wien (unet.univie.ac.at, mailbox.univie.ac.at, rs6000.univie.ac.at) sind so konfiguriert, daß sie keine eMail nur weiterreichen, d.h. Nachrichten aus "fremden" Domains werden nicht in andere "fremde" Domains geschickt (der Server meldet "We do not relay"; siehe Comment 98/2).

Wenn Sie Spammern keine Chance geben wollen, haben Sie zwei Möglichkeiten:

  • Das Problem interessiert Sie, und Sie wollen selbst an Ihrem sendmail herumbasteln. Nur wenn Sie sicher sind, daß Ihre Maschine ?fremde? Mail nicht mehr weiterreicht und sendmail auch sonst auf dem neuesten Stand ist, können Sie Ihr sendmail aufdrehen. Hilfestellung dazu finden Sie unter dem URL http://www.sendmail.org/antispam.html.
  • Sie brauchen sendmail nicht? Drehen Sie es ab! (Um eMail abzuholen und zu verschicken, brauchen Sie es wirklich nicht - das erledigen unsere Mailserver für Sie.) Finden Sie (als User root) mittels ps ax | grep sendmail heraus, ob sendmail läuft. Wenn Sie als Ausgabe etwas wie
    111 ? S 0:03 sendmail: accepting connections on port 25
    bekommen, drehen Sie es mittels killall sendmail ab. Stellen Sie bitte sicher, daß sendmail beim nächsten Systemstart nicht wieder automatisch gestartet wird. Wie das geht, können Sie der Dokumentation zu Ihrer Distribution entnehmen. (Oft genügt ein Eintrag in die Datei /etc/rc.config, der START_SMPT=?no? lautet.)

HTTP, FTP, NFS, ...

Jeder Linux-Rechner kommt standardmäßig als Server für alle diese Dienste in Frage. Es ist auch sehr schön, wenn man einmal selbst an diesen Servern herumdrehen kann - die Systemadministratoren der Universität oder eines Internet-Providers werden Ihnen keine Möglichkeit geben, in den Konfigurationsfiles ihrer Webserver herumzuschreiben. Es sollte immer gelten: Wenn Sie von etwas nicht genau wissen, was es tut, starten Sie es auch nicht! Ein netstat -a | more zeigt Ihnen, welche Netzwerkverbindungen aufrecht sind, welche Server laufen und auf welche Ports sie hören. Es ist wie beim sendmail: Wenn Sie einen dieser Server verwenden wollen, müssen Sie sich ein wenig damit beschäftigen, damit Sie ihm "trauen" können. Wenn Sie Ihren Rechner hauptsächlich als Client verwenden, können Sie den automatischen Start aller dieser Dienste unterbinden - und bei Bedarf händisch starten und beenden.

Der "Internet Super-Server"

Auf einen bestimmten Server wollen wir besonderes Augenmerk legen: den inetd. Er wird mittels der Datei /etc/inetd.conf konfiguriert. Dieser Server startet die Dienste, die es Ihnen ermöglichen, sich von einem anderen Rechner per telnet mit Ihrem zu verbinden, sich per pop eMail von Ihrem Rechner abzuholen, sich per finger Informationen über User auf Ihrem Rechner zu holen usw. - grob gesagt: alle Dienste, um von "außen" auf Ihr System zuzugreifen. Wenn Sie solches prinzipiell nicht wollen, starten Sie den inetd einfach nicht! Wenn Sie ihn jedoch laufen lassen (wollen), schauen Sie bitte in die Datei /etc/inetd.conf. Der Aufbau der Datei ist denkbar einfach - jedes Service steht als eine Zeile in diesem Textfile, z.B:
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -a

Wenn Sie nicht mehr wollen, daß Ihr Rechner FTP-Server spielt, brauchen Sie nur ein # vor die entsprechende Zeile zu setzen, z.B:
# ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -a

Die Änderungen werden erst nach einem Neustart des Systems oder nach einem killall -HUP inetd wirksam.

Gehen Sie /etc/inetd.conf Zeile für Zeile durch und kommentieren Sie mittels # alles aus, was Sie nicht kennen oder brauchen. Erste Kandidaten für das Auskommentieren sind Einträge wie pop2, pop3 und imap2.

Ein bisserl Paranoia schadet nicht

Wie bereits in der Einleitung gesagt: Für Rechner, die nur zeitweise per Modem mit dem Internet verbunden sind, ist alles nicht so schlimm. Es spricht allerdings nichts dagegen, auch solche Rechner abzusichern. Für die "Es wird schon nix passieren / Auf meinem Rechner ist eh nix Wichtiges"-Mentalität ist im Internet kein Platz. Es geht nicht nur darum, seinen eigenen Rechner zu schützen, sondern auch darum, Hackern kein Sprungbrett zu bieten und ihnen keine Möglichkeit zu geben, auf ihrem Weg zu bösen Taten Spuren zu verwischen.