“Linux ist sicher”, hört man von vielen, wenn man sie nach Angriffsmöglichkeiten auf das freie Betriebssystem fragt. Doch schon mit der Standard-Installation einer Distribution kann man ganze Scheunentore öffnen.
Viele Anwender verwenden die Standard-Installation der jeweiligen Distribution im guten Glauben, dass hier alle benötigten Programme installiert und eingerichtet werden. Doch etliche Pakete sind weder im Normalbetrieb notwendig noch alles andere als harmlos, und man sollte deren Risiken und Nebenwirkungen kennen, ehe man sie auf das Internet loslässt.
Die Rede ist von den sogenannten Daemons, Dienstprogrammen, die entweder ständig im Hintergrund laufen, oder bei Zugriff auf bestimmte Rechner-Ressourcen vollautomatisch gestartet werden. Nach einer Standard-Installation tummeln sie sich im Dutzend auf dem heimischen Rechner. Abbildung 1 zeigt die Prozessliste eines Rechners mit SuSE 7.0.

portmap, cardmgr und cron gehören dazu” width=”300″ height=”185″ />
portmap, cardmgr und cron gehören dazu In der letzten Spalte finden Sie den Dateinamen des jeweiligen Daemons, in der ersten steht der Benutzer-Name, mit dessen Rechten dieser Dienst läuft. Das ist im Falle des httpd einmal root und einmal wwwrun. Ein als root laufender Prozess ist potentiell problematisch, weil er alle Rechte des Administrators besitzt. In der abgebildeten Prozessliste, die Sie mit ps auxww erhalten, sind jedoch nur aktuell laufende Programme aufgelistet. Daemons, die nur auf Anfrage von außen gestartet werden, sind hier aber nicht zu finden. Diese werden vom inetd, dem “Internet Super-Server Daemon”, gestartet. Mittels
grep -v "^#" /etc/inetd.conf
riskieren wir einen Blick in die Konfigurationsdatei des inetd, wobei Kommentare und abgeschaltete Dienste – deren Zeilen beginnen stets mit einer Raute – nicht angezeigt werden. In Abbildung 2 können Sie die freigegebenen Dienste der SuSE-Standardinstallation sehen.

/etc/inetd.conf verstecken sich Daemons, die vollautomatisch gestartet werden” width=”300″ height=”102″ />
Abbildung 2: Dienste, die (fast) niemand braucht: Auch in der/etc/inetd.conf verstecken sich Daemons, die vollautomatisch gestartet werdenIn der ersten Spalte finden Sie den Namen des Dienstes, in der letzten den dazugehörigen Befehl zum Start des Daemons. Besonders wichtig und äußerst kritisch ist die fünfte Spalte: Hier steht der Benutzer, mit dessen Rechten der jeweilige Daemon gestartet wird.
Prinzipiell sind alle Dienste, insbesondere solche mit root-Privilegien, ein potentielles Sicherheitsrisiko. Einen absolut sicheren Rechner, so wünschenswert er ist, gibt es nicht und wird es voraussichtlich nicht geben. Allein die Betriebssysteme sind inzwischen viel zu komplex (der aktuelle Kernel 2.4.1 umfasst rund 3,5 Millionen Zeilen, ausgedruckt über 55.000 A4-Seiten oder rund 16 Kilometer Endlospapier!), als dass ein Einzelner oder eine kleine Gruppe ihn wirklich überblicken und auf Sicherheitsrisiken hin abklopfen könnte. Tatsächlich sind bislang nur besonders verdächtige Stellen geprüft worden, wobei prinzipiell nach jeder Änderung (Patch) eine komplette Neuprüfung erforderlich wäre.
Böses Internet
Eine gewisse paranoide Grundhaltung ist hier durchaus angebracht. Früher hielten sich Cracker meist an Server-Betreiber, um ihre Angriffswerkzeuge, sogenannte Root-Kits, unterzubringen und von dort aus Daten auszuspionieren oder einfach per DoS-Angriff andere Maschinen lahmzulegen. Die meisten Administratoren sind durch Schaden klug geworden und haben ihre Rechner zunehmend abgesichert.
Mit der Verbreitung der Flatrates haben die Cracker eine neue Spielwiese entdeckt: Viele Rechner bleiben ständig oder nur mit kurzen Unterbrechungen eingewählt, sind quasi stets präsent. Einziger Nachteil gegenüber echten Internet-Servern ist die wechselnde Adresse (IP) und geringere Bandbreite – beides lässt sich aber durch die erheblich größere Anzahl der Privatrechner mehr als ausgleichen. Das Auffinden eines präparierten Rechners ist auch kein Problem: Bei Flatrate-Angeboten sind die Nutzer an einen Anbieter gebunden und lassen sich so relativ leicht identifizieren.
Der aus Sicht der Angreifer größte Vorteil: Viele Rechner sind gar nicht oder nur völlig unzureichend geschützt, die Anwender kennen sich nicht richtig mit dem System aus und benutzen oft völlig veraltete Software mit längst bekannten Sicherheitslücken. Auch die Distributoren sind hier nicht ganz unschuldig, überall findet sich das eine oder andere veraltete Paket, für das bereits Angriffszenarien (Exploits) veröffentlicht und für jedermann einzusehen sind.
Unzuverlässige Diener
Besonders gefährlich sind Dienste, die entweder Auskunft über das eigene System liefern oder einen Zugang ermöglichen. Auch alle anderen Daemons, insbesondere die mit Administrator-Privilegien, stellen ein hohes Sicherheitsrisiko dar. Das Vorgehen eines Angreifers ist stets gleich: Feststellen, welches Betriebssystem läuft, nach unsicheren oder falsch eingerichteten Diensten suchen und schließlich Schwachstellen ausnutzen. Das schlimmste Szenario für den Anwender ist dabei keinesfalls der Verlust der persönlichen Daten – vielmehr ist es für Normalbenutzer inzwischen fast unmöglich, gute Root-Kits auf dem eigenen Rechner überhaupt noch aufzuspüren. Das System wird damit zur tickenden Zeitbombe, die zusammen mit anderen präparierten Computern auf einen unauffälligen Befehl hin ganze Netzwerke lahmlegen kann.
Ursache für die meisten Sicherheitslöcher in den Daemons sind Programmierfehler oder nicht beachtete Randbedingungen. Oft schätzt der Programmierer die Anwender als zu gutmütig ein und rechnet nicht damit, dass ihm statt eines einzugebenden Dateinamen in Wirklichkeit der Inhalt einer ganzen Festplatte verabreicht wird. Insbesondere über Buffer-Overflows, bei denen Eingaben einfach deutlich größer sind als vom Programmierer berücksichtigt, wurde über diverse Dienste Zugriff auf eine Shell erreicht – vornehmlich mit Root-Rechten.
Volle Deckung
Die Devise kann also nur lauten: Abschalten, was nicht unbedingt gebraucht wird, und alles andere so gut wie irgend möglich schützen. Eine völlige Sicherheit wird man dadurch nicht erreichen, man sollte aber dem Angreifer das Leben so schwer wie irgend möglich machen.
Dazu zählt vor allem, dem Cracker möglichst wenig Informationen zum laufenden System zugänglich zu machen. An erster Stelle steht hier der finger-Daemon, der Auskünfte über die im System eingetragenen User in die weite Welt trägt. Die entsprechende Zeile in der /etc/inetd.conf sollte daher auf allen Rechnern auskommentiert werden, indem eine Raute (#) vorangestellt wird.
Es gibt auch, von Distribution zu Distribution unterschiedlich, verschiedene Werkzeuge zur Bearbeitung der /etc/inetd.conf, doch in den meisten Fällen verwirren diese mehr als sie nützen – wir empfehlen an dieser Stelle, die Änderungen wirklich per Text-Editor wie kedit oder emacs vorzunehmen.
Das gleiche Schicksal wie finger sollte die ebenfalls in der /etc/inetd.conf eingetragenen Dienste telnet, shell und login ereilen – diese erlauben einen ungeschützten und unverschlüsselten Zugang von außen, wobei das eingebene Passwort völlig offen und ausdrücklich als solches gekennzeichnet durch das ganze Internet wandert. Insbesondere der Zugang mittels telnet ist nach wie vor eines der größten Sicherheitslöcher überhaupt – auch heute bieten viele Internet-Provider noch Telnet-Zugänge an, obwohl sie genau wissen, dass tausende Programme Tag täglich den Datenverkehr filtern und nur nach solchen Passwörtern spähen (sniffen) – um bei nächster Gelegenheit das System zu infiltrieren. Hier sollten Sie auf einem verschlüsselten Zugang mittels SSH bestehen, mehr dazu finden Sie im Kasten “SSH & Co.”.
SSH & Co.
Um sich auf einem fremden Rechner einzuloggen, wird heute noch häufig das Programm telnet verwendet. Es übermittelt die eigenen Tastatureingaben an die Gegenstation und zeigt die Daten der Gegenstation auf dem eigenen Bildschirm an. Es ist fast so, als hätte man ein langes Tastatur- und Monitorkabel zum fremden Rechner gelegt. Doch die Verbindung wird im Klartext, eins zu eins übertragen – es kann also jeder, der zwischen dem eigenen Rechner und der Gegenstelle sitzt (also das ganze Internet) die Arbeit verfolgen. Das Hauptproblem ist, dass auch das zum Login nötige Passwort im Klartext übertragen wird – jeder, der es aufschnappt, kann sich als man selbst ausgeben und auf der Gegenstation Schaden anrichten.
Die Secure Shell, kurz SSH, schafft hier Abhilfe. Sie arbeitet mit verschiedenen Verschlüsselungsverfahren, die von Anfang an benutzt werden. Ein Lauscher bekommt also von Anfang an nichts mit. Grundsätzlich ist es zwar möglich, die Verbindung nachträglich zu entschlüsseln, das dauert aber selbst auf Großrechnern noch Wochen und Monate. Zudem nimmt SSH von jedem Rechner beim ersten Verbindungsaufbau einen Fingerabdruck. Stimmt dieser irgend wann nicht mehr, könnte es sich um einen Angriff auf die Gegenstelle handeln, bei dem jemand anders die Identität des Servers vorgaukelt. In solchen Fällen warnt SSH entsprechend.
Zusätzlich kann man bei SSH-Verbindungen auch grafische Programme wie einen Browser auf der entfernten Maschine aufrufen – er wird trotzdem auf dem eigenen Monitor dargestellt, SSH überträgt aber nur die Mausbewegungen und Tastatureingaben. Der Aufruf von SSH erfolgt nach dem Schema:
ssh Benutzer@Rechner
Secure Copy
Auch der FTP-Dienst, mit dem man Dateien zwischen zwei Rechnern austauschen kann, ist sehr unsicher. Wie bei Telnet ist die gesamte Verbindung unverschlüsselt und von jedem nachvollziehbar. Solange es sich um anonymes FTP handelt, wo man sich als Benutzer anonymous anmeldet und kein Passwort braucht, ist das kein großes Problem. Doch wenn ein regulärer User seine Daten vom Server nach Hause transferieren möchte, muss er seinen Benutzernamen und das Passwort eingeben – und wieder sind einem Mitleser Tür und Tor geöffnet.
Statt FTP kann man den Befehl scp benutzen:
scp Benutzer@Rechner:Datei Datei
Damit kopieren Sie die “Datei” vom entfernten Rechner auf Ihren, sie wird dort als “Datei” abgelegt. Das Ganze funktioniert auch umgekehrt, hier an einem konkreten Beispiel:
scp Artikel.txt mdoelle@linux-user.de:/home/mdoelle/Artikel.tx
Damit landet “Artikel.txt” auf unserem Redaktions-Server. Im übrigen funktioniert scp genau wie cp, man kann sogar Dateien lokal kopieren.
Generell sollten Sie für alle Verbindungen, bei denen Sie Passworte eingeben müssen, auf verschlüsselte Übertragungswege setzen, um es Angreifern möglichst schwer zu machen.
Der POP3-Dienst erlaubt ebenfalls einen Login auf Ihrem System, wenn auch in einer Art Sandkasten, war aber in der Vergangenheit ebenfalls Ansatzpunkt für Angriffe. Sie benötigen ihn nur, wenn andere Rechner bei Ihnen Mails abholen, zum Beispiel weil Sie ein Heim-Netzwerk aufgebaut haben. In allen anderen Fällen sollte auch die Zeile beginnend mit pop3 mit einer Raute versehen und so auskommentiert werden.
Unter talk und ntalk ist der talk-Daemon eingetragen. Läuft er, so kann von lokalen und fremden Rechnern per talk eine Verbindung zu Benutzern auf Ihrer Maschine aufgebaut werden. Wir halten dies grundsätzlich für eine schlechte Idee: Ist die Ausgabe von Meldungen nicht mit mesg no explizit im xterm oder auf der Konsole abgeschaltet worden, wird der Verbindungs-Wunsch der Gegenstelle an der Cursor-Position ausgegeben – völlig gleichgültig, ob Sie gerade einen Text bearbeiten oder im Midnight Commander Dateien kopieren. Das bringt regelmäßig den Bildschirm durcheinander und lässt zudem den Rechner piepen. In unseren Augen eine unnötige Belästigung, der man durch Auskommentieren der beiden Zeilen in der /etc/inetd.conf begegnen kann. Abgesehen davon ist das Talk-Programm alles andere als komfortabel, weshalb die meisten Anwender IRC (Internet Relay Chat) bevorzugen. Nicht zuletzt schließen wir durch Auskommentieren von talk und ntalk eine weitere mögliche Sicherheitslücke – denn der Daemon in.talkd wird ebenfalls mit Root-Rechten gestartet.
SuSE-Hilfe
Ein insbesondere bei SuSE-Distributionen seit Jahren anzutreffender Dienst verbirgt sich hinter http-rman. Dabei handelt es sich um einen Web-Aufsatz für das rman-Kommando, das manual pages in andere Dateiformate übersetzt. Es wird für das interne SuSE-Hilfe-System verwendet, das darüber manpages anzeigt. Leider ist dieser Dienst von außen erreichbar. Auch wenn er als Benutzer nobody läuft, hat ein Angreifer im Falle eines Einbruchs doch immerhin beschränkten Zugriff auf das System und kann nach weiteren Möglichkeiten suchen, Administrator-Privilegien zu erschleichen. Wenn Sie das SuSE-Hilfe-System verwenden, sollten Sie es mit der in der nächsten Ausgabe beschriebenen Firewall schützen. Zwar sind konkret keine Angriffe bekannt, dennoch sind sie nicht auszuschließen. Diese Besonderheit betrifft nur SuSE-Benutzer.
Verblieben sind nun noch die beiden time-Einträge sowie ftp und swat. Da nur wenige Anwender Uhrzeit und Datum des eigenen Rechners von einem der Internet-Server übernehmen, werden die beiden time-Einträge nur in Ausnahmefällen benötigt. Auch wenn uns bislang kein erfolgreicher Angriff bekannt ist, sollte man generell ungenutzte Dienste abschalten.
Die Sache mit FTP
Das File Transfer Protocol, kurz FTP, wird häufig zur Übertragung von Dateien zwischen zwei Rechnern verwendet. Um Dateien bei einem Server abzurufen, verwendet man einen sogenannten Client, ein Anwendungs-Programm, mit dem man nach Dateien suchen und sie anschließend herunter laden kann. Einen FTP-Server benötigt dabei nur die Gegenseite, die Daten bereitstellt. Der große Vorteil von FTP-Servern gegenüber anderen Lösungen ist, dass man anonymen Benutzern Zugang gewähren kann. Im Unterschied zu einem normalen, auf dem Server bekannten Benutzer können beim anonymen Zugriff nur die in einem speziellen Verzeichnis zur Verfügung gestellten Dateien abgerufen werden. In den letzten Monaten sind aber immer wieder Fehler in verschiedenen FTP-Daemons aufgedeckt worden, über die im Zweifelsfall Administrator-Rechte erlangt werden konnten. Deshalb empfehlen wir, wenn irgend möglich den FTP-Zugang durch Auskommentieren in der /etc/inetd.conf abzuschalten. Wenn reguläre Benutzer Dateien übertragen möchten, so können sie das mit dem Befehl scp tun, wie im Kasten “SSH & Co.” beschrieben.
Geschwätziger Swat
Auch den letzten noch verbliebenen Kandidaten, das Konfigurations-Programm swat vom Samba-Projekt, sollten Sie deaktivieren. Zum einen erlaubt swat die Umkonfiguration von außen, wobei auch sensible Datenbereiche Ihrer Festplatte allgemein freigegeben werden könnten. Außerdem kann ein Angreifer durch Belauschen Ihrer Verbindung zum swat wichtige Informationen über Ihr System sammeln. Das größte Problem ist jedoch, dass Sie sich bei der Verwendung des Tools als root anmelden und Ihr Root-Passwort eingeben müssen – dieses wird dann völlig unverschlüsselt und eindeutig als Passwort gekennzeichnet übertragen. Man kann dies etwa damit vergleichen, als wenn Sie Ihren Haustürschlüssel mit Adressschild an einer U-Bahn-Station aufhängen, in der Hoffnung, es wird ihn keiner benutzen. Wenn Sie swat zur Konfiguration Ihres Samba-Systems dennoch benutzen wollen, sollten Sie wie weiter unten beschrieben zumindest zum Internet hin eine Firewall einrichten, damit swat von außen nicht mehr erreichbar ist.
Bedenkliches linuxconf
Auch das bei Red Hat und Mandrake anzutreffende linuxconf ist sicherheitstechnisch bedenklich. Wie bei swat wird das Passwort bei linuxconf unverschlüsselt übertragen, was einem Angreifer natürlich Tür und Tor öffnet. Da linuxconf zudem fast das gesamte System verwaltet, braucht ein Angreifer nur dieses eine Tool, um auf dem Rechner viel Schaden anrichten zu können. Wenn Sie linuxconf benötigen, sollten Sie es zumindest per Firewall schützen, ansonsten ebenfalls durch eine Raute am Anfang der Zeile in der /etc/inetd.conf abschalten.
In Abbildung 3 sehen Sie die Früchte unserer Arbeit am Beispiel der /etc/inetd.conf unseres SuSE-Systems mit aktiviertem http-rman und swat (stellvertretend für linuxconf).
http-rman benötigen wir für das SuSE-Hilfe-System, swat steht stellvertretend für das System-Verwaltungsprogramm linuxconf anderer Distributionen” width=”300″ height=”47″ />
http-rman benötigen wir für das SuSE-Hilfe-System, swat steht stellvertretend für das System-Verwaltungsprogramm linuxconf anderer DistributionenDienste abschalten
Damit wäre die /etc/inetd.conf im Idealfall leer, und wir könnten selbst den inetd abschalten. Je nach verwendeter Distribution gibt es dazu unterschiedliche Konfigurations-Tools. Bei SuSE Linux setzen Sie im grafischen YaST 2 Netzwerk/Dienste / inetd ein-/ausschalten auf Aus, inetd nicht starten. Bei Mandrake tun Sie dies über das Tool DrakConf, dort unter Startup-Dienste (Abbildung 4).
Per Kommandozeile geht es einfacher: Unter /etc/rc.d sind im Unterverzeichnis init.d bei (fast) allen Distributionen die Start-Skripte der einzelnen Dienste sowie in den Unterverzeichnisen rc0.d bis rc5.d Verweise auf die jeweiligen Start-Skripte gespeichert. Über diese Verweise wird letzendlich der Dienst beim Hochlaufen aufgerufen. Der Dienst läuft aktuell, weshalb er zunächst ordnungsgemäß angehalten werden sollte. Dazu rufen Sie das Skript von Hand auf, hier am Beispiel des inetd:
/etc/rc.d/init.d/inetd stop
Möchten Sie nun einen Dienst dauerhaft abschalten, brauchen Sie nur den Namen des jeweiligen Start-Scripts in /etc/rc.d/init.d umzubenennen:
mv /etc/rc.d/init.d/inetd /etc/rc.d/init.d/inetd.nein
Die Endung “.nein” haben wir willkürlich gewählt. Damit laufen die Verweise aus den anderen Unterverzeichnissen ins Leere, und der Dienst wird nicht mehr gestartet. Zum Reaktivieren benennen Sie das Start-Skript einfach wieder mit dem ursprünglichen Namen. Bleibt nur noch anzumerken, dass Sie für all diese Aktionen Root-Rechte benötigen.
Geisterjagd: portmap
Auch mit abgeschaltetem inetd können Sie sich noch nicht in Sicherheit wiegen. Immerhin laufen noch ein halbes Dutzend andere Daemons, einige davon mit Root-Privilegien. Also geht es als nächstes weiteren, häufig laufenden “Geistern” an den Kragen.
Dem portmap-Daemon rücken wir als erstes zu Leibe. Dieser wird nur benötigt, wenn man Teile seiner eigenen Festplatte anderen über das Netzwerk zur Verfügung stellen möchte. In den meisten Fällen ist das nicht der Fall. Zuerst halten Sie den portmap per /etc/rc.d/init.d/portmap stop an, anschließend benennen Sie, wie am Beispiel des inetd gezeigt, die Datei /etc/rc.d/init.d/portmap um:
mv /etc/rc.d/init.d/portmap /etc/rc.d/init.d/portmap.nein
Name Server Cache Daemon
Beim nscd, dem Name Server Cache Daemon, handelt es sich um einen Zwischenspeicher für Namens-Anfragen, aber auch Benutzer- und Passwort-Anfragen. Er ist für den Workstation-Betrieb interessant, wo die Verzeichnisse der Benutzer auf einem zentralen Server lagern und auf dem lokalen Rechner keine Benutzer-Informationen vorliegen. Wie in Abbildung 1 zu sehen, ist er auf unserem System gleich sieben mal gestartet. Für den Betrieb eines Einzelrechners ist nscd nicht unbedingt nötig und kann gefahrlos entfernt werden:
/etc/rc.d/init.d/nscd stop mv /etc/rc.d/init.d/nscd /etc/rc.d/init.d/nscd.nein
Kaum auffällig ist der atd, der anders als cron nur einmalige Ereignisse steuert. Dieser eigentlich recht nützliche Daemon wird in der Praxis aber nur selten eingesetzt – wer ihn nicht benutzt, kann ihn ebenfalls abschalten:
/etc/rc.d/init.d/at stop mv /etc/rc.d/init.d/at /etc/rc.d/init.d/at.nein
Spitzbube Cron
Sehr bedenklich, allerdings nur bei Angriffen von der lokalen Maschine aus, ist der cron-Daemon. Damit lassen sich immer wieder kehrende Aufgaben automatisieren, wie zum Beispiel jeden ersten Montag im Monat ein komplettes Backup durchführen oder alle 10 Minuten neue Emails abrufen. Doch nicht nur root kann solche Aufgaben verteilen, sondern jeder normale Benutzer. Der Pferdefuß ist, dass cron die Bildschirmausgaben, die ein Programm normal machen würde, per Mail an den jeweiligen Auftraggeber schickt. Durch ein paar Verrenkungen lassen sich damit Root-Rechte ergaunern, weshalb man ihn bei mehreren Benutzern gegebenenfalls abschalten sollte:
/etc/rc.d/init.d/cron stop mv /etc/rc.d/init.d/cron /etc/rc.d/init.d/cron.nein
Cowboy & Indianer
Insbesondere bei SuSE-Distributionen wird standardmäßig ein Apache-Webserver installiert und rudimentär konfiguriert. SuSE benutzt ihn als Teil des Hilfe-Systems, um Hilfeseiten oder Beispiele über den Browser zugänglich zu machen. In der Prozessliste, die in Abbildung 1 zu sehen ist, versteckt er sich hinter httpd. Wir halten es für relativ unkritisch, den Apache-Server laufen zu lassen, zumal man hier auch sehr gut eigene HTML-Entwürfe begutachten kann. Dennoch, ein Außenstehender hat hier nur selten etwas zu suchen – und da Sie bei jeder neuen Internet-Einwahl über Modem oder ISDN sowieso eine neue Adresse bekommen, ist das Wiederfinden auch nicht so leicht. Deshalb kann man den Apache getrost mit einer Firewall gegen Zugriffe von außen schützen – was nicht erreichbar ist, kann schlecht gehackt werden. Intern hat das keine Auswirkungen, die Seiten lassen sich nach wie vor per Browser ansehen. Wer wirklich keine Verwendung für den Apache hat, kann ihn genauso gut deaktivieren und so eine ganze Stange Speicher sparen:
/etc/rc.d/init.d/apache stop mv /etc/rc.d/init.d/apache /etc/rc.d/init.d/apache.nein
Postbote
Als letzter gefährlicher Dienst ist sendmail zu nennen. Er wird noch auf vielen Systemen zum Versand von E-Mails verwendet, obwohl man ihn oft nicht bräuchte. Das Problem bei sendmail ist, dass in der Vergangenheit einige Sicherheitslücken bekannt wurden, mit denen man unter Umständen Administrator-Privilegien bekommen kann. Ob Sie sendmail brauchen oder nicht, hängt unter anderem von den benutzten Mail-Programmen ab. In den meisten Fällen werden die Mails über einen POP-Zugang beim Provider abgeholt und auf der lokalen Maschine gespeichert. Dazu ist erst einmal kein sendmail erforderlich. Beim Versand jedoch reichen viele Email-Programme wie pine oder mutt die Nachrichten nur an sendmail weiter, das sich um die Weiterleitung kümmert. Wer hingegen den Netscape Messenger verwendet, kann die Mails direkt an den Server des Providers weiter leiten – sendmail ist dann nicht mehr notwendig und kann abgeschaltet werden:
/etc/rc.d/init.d/sendmail stop mv /etc/rc.d/init.d/sendmail /etc/rc.d/init.d/sendmail.nein
In allen anderen Fällen sollte man zumindest den Zugriff von außen auf sendmail per Firewall unterbinden.
Firewall
Im nächsten Teil zum Thema Systemsicherheit werden wir uns mit der Einrichtung einer einfachen Firewall für häusliche Zwecke beschäftigen. Zusammen mit der Abschaltung der Dienste bekommen Sie dann insgesamt ein brauchbar abgesichertes System.
Glossar
-
Daemons
-
Dienstprogramme, die entweder beim Hochfahren des Systems oder durch ein bestimmtes Ereignis gestartet werden. Nicht zu verwechseln mit den dunklen Mächten, den Dämonen. Man erkennt sie meist an einem “d” am Ende ihres Namens, wie zum Beispiel bei
httpd, dem Apache-Web-Server. Linux kennt Dutzende Daemons, die die unterschiedlichsten Aufgaben erfüllen. So ermöglicht escron, immer wieder kehrende Aktionen nach einem Zeitplan auszuführen, während derftpderlaubt, sich von außen auf dem Rechner anzumelden und bereitgestellte Dateien herunterzuladen. Auch systemnahe Ereignisse werden von Daemons betreut, wie zum Beispiel das Wechseln von PC-Cards in Notebooks vomcardmgr. -
inetd
-
Der “Internet Super-Server Daemon” ist dafür zuständig, dass bei bestimmten Anfragen aus dem Internet weitere Daemons gestartet werden. Port-Nummer und gewünschtes Protokoll der Anfrage werden dann mit den Einträgen der
/etc/inetd.confverglichen und der dort eingetragene Dienst aufgerufen. -
Cracker
-
Computer-Experten, die anders als Hacker nicht deshalb in andere Rechner einbrechen, um Sicherheitslücken aufzuzeigen, sondern um Daten zu erbeuten, Computer lahm zu legen oder Programme zu installieren, die Passwörter mitspeichern oder andere Computer sabotieren.
-
Root-Kits
-
Eine Programm-Sammlung, mit der ein Cracker den fremden Rechner unter Kontrolle hält. Meist gekoppelt mit weiteren Sabotage-Programmen.
-
DoS
-
Abkürzung für Denial of Service und Distributed Denial of Service (DDoS). Nicht zu verwechseln mit dem Betriebssystem DOS. Bei einer DoS wird versucht, ein fremdes System an seiner regulären Arbeit zu hindern – zum Beispiel indem man eine Internet-Suchmaschine mit Tausenden sinnloser Anfragen bombardiert. Inzwischen reagieren die zuständigen Administratoren des angegriffenen Systems recht schnell und ignorieren einfach alle Datenpakete von einem bestimmten Rechner oder einer Gruppe von Rechnern. Die Angreifer umgehen dies mit einer Distributed DoS, bei der nicht einzelne Rechner angreifen, sondern hunderttausende, die über die ganze Welt verstreut sind. Dafür werden oft die Computer ahnungsloser Internet-Nutzer benutzt, auf denen sogenannte Root-Kits installiert wurden, und die ferngesteuert ein oder mehrere Ziele angreifen, ohne dass der Besitzer etwas davon merkt. Da die Anfragen nun aus der ganze Welt kommen, müssten die Administratoren alles dicht machen – und somit ihren Rechner vom Netz nehmen oder abschalten.
-
Exploits
-
Programm, das eine Sicherheitslücke eines Dienstes oder Computers ausnutzt und einbricht. Sie dienen als Demonstration und Beweis, dass ein Angriff in einer bestimmten Weise möglich ist und zum Erfolg führt. Die meisten Exploits sind allgemein öffentlich zugänglich.
-
Buffer-Overflows
-
Wenn ein Speicherbereich mit mehr Daten gefüllt wird, als er aufnehmen kann, kommt es zu einem Überlauf: Die Daten werden einfach über das Ende des Bereichs hinaus geschrieben und können andere Programmteile überschreiben. In fast allen Fällen liegt die Schuld beim Programmierer, der eine entsprechende Überlauf-Prüfung in seinem Programm vergessen hat. Durch das Weiterschreiben über die Bereichsgrenze hinaus können unter Umständen Rechnerbefehle eingeschleust werden, die wiederum einen Zugang zum System ermöglichen. In der Vergangenheit sind Buffer-Overflows in vielen üblichen Linux-Diensten gefunden worden, allen voran in FTP- und Mail-Servern.
-
Client
-
“Kunde”. Client-Rechner sind in aller Regel Arbeitsstationen (Workstations), die zum Beispiel von einem Server Daten beziehen. UnterClient-Anwendungen versteht man Programme, die direkt vom Benutzer aufgerufen und bedient werden, um Daten abzurufen oder mit einem Server zu kommunizieren. Typische Client-Anwendungen sind Browser, FTP- und Mail-Programme.
-
Server
-
Diener, Helfer. Server-Rechner dienen den Arbeitsstationen oft als zentraler Datenspeicher oder versorgen sie mit Internet und anderen Diensten. An ihm arbeitet normal kein Benutzer. Server-Dienste versorgen die entsprechenden Client-Anwendungen mit den notwendigen Daten – so ermöglicht ein FTP-Daemon das Einloggen und Auslesen von Dateien mittels FTP-Programm, während ein Mail-Server die E-Mails der Benutzer weiter leitet. Daemons sind fast ausnahmslos Server-Dienste.
