Sicherung eines heterogenen Netzwerkes mit freien Software-Programmen

ArticleCategory:

SystemAdministration

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in fr Georges Tarbouriech  

fr to en Georges Tarbouriech  

en to de Hermann J. Beckers

AboutTheAuthor

Georges ist ein langj�hriger Unix-Benutzer. Er dankt der Freien-Software-Gemeinschaft f�r das Bereitstellen gro�artiger Sicherheits-Werkzeuge.

Abstract:

Dieser Artikel wurde zuerst in einer Linux Magazine France Spezialausgabe mit Schwerpunkt Sicherheit ver�ffentlicht. Der Redakteur, die Autoren und �bersetzer erlaubten LinuxFocus freundlicher Weise jeden Artikel dieser Spezialausgabe zu ver�ffentlichen. Daher wird LinuxFocus sie ver�ffentlichen, sobald sie ins Englische �bersetzt sind. Dank an alle Leute, die an dieser Arbeit beteiligt sind. Dieser Abschnitt wird bei jedem Artikel derselben Herkunft stehen.

ArticleIllustration:

secure it

ArticleBody:[The article body]

Vorwort

Sicherheit in Computer-Netzwerken ist wahrscheinlich eine der gr��ten technologischen Herausforderungen des 21. Jahrhunderts.
Jedoch, wie in vielen Besorgnis erregenden Bereichen, jeder redet dar�ber, aber diejenigen, die sich am meisten betroffen f�hlen sollten, scheinen den Umfang des m�glichen Desasters nicht entdeckt zu haben. Die "haupts�chlich Betroffenen" sind nat�rlich die wichtigsten Software- oder System-Designer. Das beste Beispiel kommt erneut aus Redmond, wo Sicherheit als ein Wort erscheint, das viel weniger "unter Kontrolle" ist als z. B. Marketing.
Zum Gl�ck haben die letzten beiden Jahrzehnte des 20. Jahrhunderts die Geburt der Freien Software und die damit verbundene Philosophie erlebt. Wenn Sie es "w�nschen", die Sicherheit Ihrer Maschinen, Ihrer Systeme, Ihrer Netzwerke zu verbessern, ... dann m�ssen Sie danach Ausschau halten. Die Freie-Software-Gemeinschaft hat mehr f�r die Sicherheit getan als alle gro�en Software-Firmen zusammen.
D. h., die Werkzeuge allein schaffen nicht alles, und z. B. die Sicherung eines Netzwerkes ist eine st�ndige Aufgabe: jederzeit gibt es neue Herausforderungen!
Das bedeutet, dass Sie niemals sagen k�nnen, dass ein Netzwerk 100 Prozent sicher ist. Sie k�nnen die Risiken nur reduzieren. Was wir hier zeigen, ist nur ein kleiner Teil dessen, was Sie tun k�nnen, um diese Risiken zu reduzieren. Nach dem Lesen dieser Spezialausgabe (Hinweis des Autors: Denken Sie daran, dieser Artikel war Teil einer Spezialausgabe des franz�sischen Linux-Magazins, dessen Schwerpunkt auf Sicherheit lag) werden Sie etwas mehr �ber Sicherheit wissen, aber auf keinen Fall werden Sie sagen k�nnen, dass Ihr Netzwerk sicher sei. Sie sind gewarnt.
Vor allem: solch ein Artikel kann nicht ersch�pfend sein. Es gibt eine Menge Literatur zu dem Thema und das Problem ist immer noch nicht ersch�pfend behandelt. Entsprechend sollten Sie von diesem Artikel nicht erwarten, alles zu erw�hnen, was Betriebssysteme, Werkzeuge, Konfiguration, Benutzung ... betrifft.
Zum Schluss dieses Vorwortes sollten wir hinzuf�gen, dass einige Teile dieses Artikels von LinuxFocus entliehen sind, aber keine Sorge, dies geschah mit der Erlaubnis des Autors, es stellt sich heraus, dass es sich um die gleiche Person handelt!

Pr�sentation

Zun�chst sprechen wir �ber die Struktur eines sehr heterogenen Netzwerks, das mehr oder wenig weit verbreitete Systeme enth�lt. Je mehr Betriebssysteme, umso schlimmer ist die Komplexit�t, da nicht alle Systeme gegen�ber Bedrohungen gleich sind. Desweiteren sollten die als Server benutzten Maschinen in einem Netzwerk verschiedene Funktionen haben; wir werden ein sehr ungleichartiges Netzwerk haben.
Als n�chstes werden wir einige Werkzeuge besprechen, die essentiell f�r die Verbesserung der Sicherheit sind. Die Auswahl ist willk�rlich: es gibt einfach zu viele, um alle zu erw�hnen. Nat�rlich werden wir erkl�ren, wie man Maschinen und Netzwerke mit diesen Werkzeugen sichert. Der folgende Abschnitt betrachtet die F�higkeiten verschiedener Systeme w�hrend des Sicherungsprozesses.
Der Abschluss versucht, die "Relativit�t" des Sicherungsprozesses zu erkl�ren, um zu zeigen, warum dies ein langer Weg ist, ohne in zuk�nftige Entwicklungen "abzutauchen".

Beispiel eines heterogenen Netzwerkes

Erster Vorteil ist, dass das TCP/IP-Protokoll von jedem Betriebssystem auf Erden "gesprochen" wird. Damit sind sehr verschiedene System in der Lage, miteinander zu kommunizieren. Entsprechend wird TCP/IP in unserem Beispiel-Netzwerk immer pr�sent sein. Anders gesagt, werden wir keine propriet�ren Protokolle erw�hnen, weder die weniger verbreiteten noch die �berholten. Wir werden auch nicht �ber die physikalische Struktur sprechen, also die Verbindungsart, die Kategorie usw.
Wir werden in dieses Netzwerk etwas von allem packen. Nat�rlich finden wir Unix, propriet�r oder frei: z. B. etwas Solaris 2.6 oder SunOS 5.6, wenn Sie m�chten, etwas Irix 6.5, Linux (RH 6.2), MacOS X. Wir h�tten etwas von QNX oder NeXTSTEP, NetBSD oder OpenBSD hinzuf�gen k�nnen. Auf der "konventionellen" Seite schliessen wir das eine und einsame Nicht Terminiert 4.0 (nein, kein anderes, die sind schlimmer) ein. Auch hier k�nnten wir OS/2 hinzuf�gen, was weniger schlimm ist. Zum Schluss f�gen wir etwas "unkonventionelles" hinzu wie BeOS und AmigaOS (ja, es existiert ... nun ja, nicht sehr!)
Nat�rlich werden sich einige schon beschweren: was, kein AIX, kein HP-UX? Nein! Wenn wir jedes Unix erw�hnen wollten, w�rde dies ein 10b�ndiger Artikel. Die grundlegenden Sicherheitsregeln sind f�r alle Systeme anwendbar.

Nun, was verlangen wir von ihnen?
Z. B. soll Solaris als Anwendungsserver dienen. Irix wird die Sicherungen verwalten. NT wird ein weiterer Anwendungsserver sein. Linux dient als Gateway. Ein weiterer Linuxrechner wird ein HTTP-Server oder ein Datenbank-Server sein. Alle anderen Maschinen sind Klienten. Wir �berlegen, dass dieses Netzwerk ungef�hr 30 Maschinen umfasst, die Authentifizierung �ber Passwort-Dateien benutzen. Wir h�tten eine bessere Authentifizierung benutzen k�nnen: NIS (Yellow Pages) oder LDAP oder Kerberos ... Lasst uns die Dinge einfach halten! Auch werden wir kein NIS benutzen. Selbst wenn es hilfreich sein kann, wo es um Sicherheit geht, vergessen Sie es besser, trotz einiger Fortschritte. In Frankreich pflegen �ltere Leute zu sagen "Lege nicht alle Deine Eier in den gleichen Korb". Ferner werden die "unsicheren", aber erforderlichen Dienste oder Protokolle nur einmal vorhanden sein, und zwar auf Maschinen, die sonst nichts anderes machen. Z. B. nur ein FTP-Server, ein HTTP-Server, vorzugsweise auf Unix-Rechnern. Einige Unix-Rechner werden SSH-Server sein und die anderen SSH-Klienten. Mehr dazu sp�ter. Wir werden statische IP-Adressen nutzen: kein DHCP. Anders ausgedr�ckt: wir bleiben grundlegend! Dies kann nat�rlich bei einem Netzwerk mit 50 Maschinen angewandt werden; mit viel mehr Maschinen kann dies zu einem Alptraum werden.

Werkzeuge und wie man sie benutzt

Wie �blich, gibt es mehr als einen Weg zum Ziel. Der Idealfall w�re bei Null anzufangen, mit neu zu installierenden Maschinen und einem aufzusetzenden Netzwerk. Aber dies ist nur in Filmen wahr! Dementsprechend sollten wir ein Netzwerk betrachten, das im Lauf der Zeit gewachsen ist, mit Maschinen, die von einer Stelle zu anderen umgesetzt wurden, neue Maschinen kommen hinzu und so weiter. Aufgrund des Mhz-"Rennens" z. B. halten Intel-Maschinen heute nicht mehr lang vor. Nach ungef�hr 3 Jahren wird es schwierig, Ersatzteile zu finden. Daher recycelt man diese Maschinen f�r nachgeordnete Aufgaben oder entsorgt sie gleich: traurig, aber wahr! Gl�cklicherweise halten einige viel l�nger und verdienen es, verbessert zu werden. Glauben Sie nicht, dass dies nicht zum Thema geh�rt: ein Administrator muss bei seiner Arbeit auch hohe Verf�gbarkeit im Sinn haben.

Grundlegendes

Wir k�nnten den ersten Schritt der Arbeit "Allgemeines" nennen. Er besteht darin, alles Nutzlose auf jeder Maschine zu entfernen: keine "einfache" Aufgabe! Jedes Betriebssystem, Unix eingeschlossen, installiert eine unglaubliche Anzahl an Diensten, Protokollen, die Sie niemals benutzen werden. Die Anweisung lautet: Schmeiss sie weg! Unter Unix ist ein einfacher ... und grober Weg, alles in inetd.conf auszukommentieren. Das bedeuet einige Dienste weniger. Nat�rlich ist dies etwas �bertrieben, aber auf manchen Maschinen ist es akzeptabel. Es h�ngt von Ihren Bed�rfnissen ab. Unter Linux und einigen anderen BS k�nnen Sie auch das chkconfig-Kommando benutzen, um einige Dienste zu deaktivieren.
�berpr�fen Sie auch die SUID/SGID-Dateien und z�gern Sie nicht, das "fehlerhafte" Bit zu entfernen oder �berlegen Sie, das Programm zu deaktivieren. Ein Befehl wie: find / -user root -a \( -perm -4000 -o -perm -2000 \) -print gibt Ihnen die Liste dieser Dateien. Um das "s"-Bit zu entfernen, geben Sie chmod a-s programname ein (Hinweis: Nat�rlich verlieren Sie einige Funktionalit�t durch das Entfernen des "s"-Bits, aber es hat schon seinen Zweck).
Entfernen Sie "gef�hrliche" Programm oder die als "riskant" bekannten: Die remote-Befehle wie rsh, rlogin, rcp... z. B. SSH kann sie sehr gut ersetzen.
�berpr�fen Sie die Berechtigungen f�r Verzeichnisse wie /etc, /var ... Je restriktiver, um so besser. So ist z. B. ein Befehl wie chmod -R 700 auf das Verzeichnis, das die Startup-Dateien enth�lt (/etc/rc.d/init.d in vielen Unix-Versionen) keine schlechte Idee. Die gleiche Regel findet Anwendung auf alle Systeme, die Teil des Netzwerkes sind: entfernen Sie, was Sie nicht benutzen oder deaktivieren Sie es zumindest. Unter NT sollten Sie sich frei f�hlen, ein Maximum an Diensten �ber das Konfigurationspanel zu stoppen. Es sind viele grundlegende "Dinge" zu tun und es gibt eine Menge Literatur zu dem Thema.

Die Werkzeuge

Lassen Sie uns mit Unix beginnen, weil dies das einzige BS ist, das Sicherheitsprobleme wirklich ernst nimmt. Desweiteren gibt es eine riesige Menge freier Werkzeuge, und die meisten von ihnen arbeiten auf (fast) allen Unix-Geschmacksrichtungen.

Zuerst werden wir auf den einzelnen Maschinen arbeiten, weil die Sicherung eines Netzwerkes zuallererst bedeutet, dessen Elemente zu sichern. Die Installation dieser Werkzeuge ist recht einfach, daher werden wir uns nicht lange damit aufhalten. Deren Parameter sind au�erdem abh�ngig von dem System, dessen Anforderungen ... Es liegt an Ihnen, wie Sie dies f�r Ihre Situation anpassen. Das erste erforderliche Werkzeug nennt sich shadow utils. Es ist eine M�glichkeit zur Passwort-Verschl�sselung. Zum Gl�ck ist es Teil vieler Unix-Distributionen. Die /etc/shadow-Datei wird aus der /etc/password-Datei "kreiert".

Noch besser, PAM (Pluggable Authentication Modules) erlauben es, den Zugang pro Dienst zu beschr�nken. Alles wird aus dem Verzeichnis verwaltet, das die Konfigurationsdateien f�r jeden betroffenen Dienst enth�lt, normalerweise /etc/pam.d. Viele Dienste k�nnen �ber PAM "gesteuert" werden, wie ftp, login, xdm usw. Damit wird dem Administrator die M�glichkeit gegeben auszuw�hlen, wer was tun darf.

Das n�chste Werkzeug muss man haben: TCPWrapper . Es funktioniert ebenfalls auf jedem Unix oder auf fast jedem. Kurz gesagt erlaubt es, den Zugriff auf Dienste auf einige Rechner zu beschr�nken. Diese Rechner werden zugelassen oder abgewiesen �ber zwei Dateien: /etc/hosts.allow und /etc/hosts.deny. TCPWrapper kann auf zwei Arten konfiguriert werden: entweder durch das Verschieben der D�monprogramme oder das �ndern der /etc/inetd.conf-Datei. Sp�ter werden wir sehen, dass TCPWrapper sehr gut mit anderen Werkzeugen zusammenarbeitet. Sie finden TCPWrapper unter ftp://ftp.porcupine.org/pub/security

Ein weiteres interessantes Programm ist xinetd. Erneut, um es kurz zu machen, xinetd ist ein Ersatz f�r inetd mit viel mehr F�higkeiten. Entsprechend dem, was wir oben �ber inetd gesagt haben, werden wir nicht darauf bestehen. Wenn Sie interessiert sind, finden Sie es unter http://www.xinetd.org.

Unter Linux gibt es ein Werkzeug, ohne das Sie nicht leben k�nnen: Es wird Bastille-Linux genannt. Sie finden es unter http://www.bastille-linux.org. Dieses in Perl geschriebene Werkzeug ist nicht nur didaktisch, sondern auch sehr effizient. Nach dem Start eines Skripts beantworten Sie viele Fragen und Bastille-Linux agiert entsprechend. Jede Frage ist erl�utert und es werden Fehlwert-Antworten geboten. Sie k�nnen die �nderungen zur�cknehmen, eine neue Konfiguration starten, pr�fen, was angerichtet wurde ... Es ist alles vorhanden! Es bietet au�erdem eine Firewall-Konfiguration: mehr dazu sp�ter. Zum Zeitpunkt dieses Artikels ist Bastille-Linux bei Version 1.1.1, aber die Version 1.2.0 ist bereits als Ver�ffentlichungs-Kandidat verf�gbar. Es ist sehr verbessert, und bietet eine grafische Oberfl�che, die auf Tk und dessen Perl-Modul basiert. (Hinweis des Autors: Dieser Artikel wurde schon vor einigen Monaten geschrieben. Tats�chlich ist die aktuelle Version von Bastille-Linux 1.3.0).

Einbruchs-Entdeckungs-Systeme sind auch wichtig. Die zwei "Schwergewichte" sind snort und portsentry. Das erste findet sich unter http://www.snort.org und das zweite unter der Abacus-Webseite, http://www.psionic.com. Diese beiden sollten nicht miteinander verglichen werden: das erste ist ein NIDS (Network Intrusion Detection System), welches haupts�chlich Informationen bereitstellt, w�hrend das zweite als mehr Rechner-orientiert und aktiver betrachtet werden kann. Snort hat eine Menge an Optionen zur �berwachung des Netzwerkverkehrs. Sie k�nnen auf alles lauschen, was Sie m�chten: eingehend, ausgehend, innerhalb der Firewall, au�erhalb der Firewall. Nat�rlich kann es dann riesige Log-Dateien erzeugen, aber Sie m�ssen wissen, was Sie wollen! Eine Win32-Version ist verf�gbar, dies ist wichtig, wenn wir die Anzahl freier Werkzeuge auf diesen "Systemen" z�hlen.

Portsentry hat eine sehr interessante F�higkeit: Es kann die �berpr�ften Ports entsprechend Ihrer Wahl blockieren: Entweder leiten Sie den Angreifer auf eine unbenutzte Adresse oder zur Firewall um. Nat�rlich k�nnen Sie ausw�hlen, wer blockiert wird und wer nicht. Nun kommen wir zur�ck zu TCPWrapper: portsentry kann in die Datei /etc/hosts.deny schreiben, wenn Sie dies m�chten. Dadurch wird portsentry sehr effizient. Wir werden uns nicht an der Debatte �ber die portsentry-Philosophie �ber Port-Bindungen einmischen. Es liegt an Ihnen: Treffen Sie Ihre Entscheidung, wenn Sie sich tiefer mit der Materie besch�ftigt haben. Au�erdem sollten Sie wissen, dass portsentry eine Maschine "unsichtbar" machen kann, was nicht schlecht ist!. Zu guter Letzt kann portsentry verschiedene Betriebsmodi nutzen, wobei die fortschrittlichsten (zumindest derzeit) f�r Linux "reserviert" sind.

Wir k�nnen nicht �ber Sicherheit reden ohne Verschl�sselung zu erw�hnen. Die Gesetze hier�ber sind jedoch von Land zu Land verschieden und manchmal ist es komplett verboten, Verschl�sselung zu benutzen.
Hinweis des Autors: Der folgende Abschnitt wurde aus der englischen Version dieses Artikels entfernt, da er nur das franz�sische Recht betrifft.
Schlussfolgerung: Wenn Ihr Land Verschl�sselung erlaubt, dann sollten Sie ssh-Clients und -Server auf Ihren Unix-Rechnern installieren (entsprechend Ihren Anforderungen).

Um das Thema Unix-Werkzeuge abzuschliessen, sollten wir diejenigen erw�hnen, die zu propriet�ren Unix-Versionen geh�ren. Unter Solaris gibt es ndd, aset; unter Irix k�nnen Sie ipfilterd nutzen. MacOS X bietet Ihnen einige freie Werkzeuge: ssh, ipfwadm ...
Wir kommen sp�ter darauf zur�ck.

Nun lassen Sie uns �ber das eine und (gl�cklicherweise) einsame Nicht Terminiert 4.0 reden. Hier k�nnen wir nicht �ber freie Werkzeuge reden ... der Mann aus Redmond bietet uns jedoch "freie" Sachen, um die Systemfunktionalit�ten zu verbessern (es hat nichts mit Fehlerkorrekturen zu tun, da es dort keine Fehler gibt!). Was Sicherheit angeht, ist NT 4.0 ein Modell ... an Absurdit�t. Es ist wie ein Sieb. Trotzdem. Sie m�ssen nur entsprechend das letzte Servicepack (6 z. Z. dieses Artikels) herunterladen und die HotFixe ... die Sicherheitspatches sind. Als n�chstes k�nnen Sie einige freie Werkzeuge (im Sinne von frei verf�gbar und ohne den Quellcode) erhalten. Das ist alles.

F�r andere Systeme m�ssen Sie suchen. Beim AmigaOS scheint die Entwicklung nicht viele Leute zu motivieren und der TCP/IP-Layer ist etwas alt. Es gibt jedoch immer noch eine aktive Public-Domain-Szene. Was BeOS angeht, sind die Dinge nicht besser: dieses gro�artige Betriebssystem hat eine sehr schlechte Zukunft und der Bone genannte Netzwerk-Layer ist immer noch in Entwicklung.
Hinweis des Autors: Ungl�cklicherweise ist BeOS nun wirklich tot. Einige wenige Personen versuchen, es als freies Software-Produkt zu erhalten ... und sie machen ihre Sache sehr gut.
Aber auch hier finden Sie einige Werkzeuge aus der Unix-Welt, um die Lage etwas zu verbessern.

Sicherung der Rechner

Nun m�ssen Sie das alles konfigurieren! Lassen Sie uns nun wieder annehmen, dass jede Unix-Maschine mit shadow-utils, PAM, und TCPWrapper "ausger�stet" ist, dass jeder nutzlose Dienst gestoppt oder entfernt wurde und dass die Rechte auf "sensiblen" Verzeichnissen eingeschr�nkt wurden.

Auf den Linux-Maschinen ist es nun an der Zeit, Bastille-Linux zu starten. (Dieses Werkzeug sollte auf den meisten Linux-Distributionen laufen, es war jedoch urspr�nglich f�r RedHat und Mandrake gedacht). F�hlen Sie sich frei, die Fragen sehr restriktiv zu beantworten.
Die Linux-Maschine, die als Gateway genutzt wird, sollte sehr "minimalistisch" eingerichtet sein. Sie k�nnen die meisten Server entfernen: http, ftp, usw. L�schen Sie X11, Sie brauchen es nicht! Entfernen Sie die nicht ben�tigte Software ... d. h. fast alles. Stoppen Sie die nutzlosen D�monen. Sie sollten ein System erhalten, auf dem ps ax nicht mal eine Bildschirmseite ben�tigt. Wenn Sie IP-Masquerading nutzen, sollte der lsof -i-Befehl nur eine Zeile anzeigen: diejenige, die sich auf den lauschenden Server bezieht (wir setzen voraus, dass dies keine permanente Verbindung ist).
Wir werden portsentry auf den Linux-Maschinen installieren und es wird gleich beim Systemstart aktiv unter Benutzung des "fortgeschrittenen" Modus (reserviert f�r Linux, d. h. mit den -atcp- und -audp-Optionen). Dies impliziert, dass TCPWrapper und eine Firewall installiert wurden. Mehr dazu sp�ter.

F�r Solaris nutzen wir die aset- und ndd-Befehle. Wir k�nnten IP-Filter hinzuf�gen und die Standard-Version von RPCbind mit der von porcupine.org erh�ltlichen Version 2.1 ersetzen. F�r Irix w�hlen wir ipfilterd f�r die Paketfilterung, wie der Name schon sagt. Es ist Teil der Irix-Distributionen, wird aber standardm��ig nicht installiert.

Was NT angeht, werden die Dinge etwas komplizierter ... die "faschistische" L�sung besteht aus dem Blockieren der Ports 137 und 139, das ber�hmte NetBIOS (oder noch besser Entfernen von NetBIOS) ... aber dann ist kein Netzwerk mehr vorhanden (d. h. kein Windows-Netzwerk). Dies kann ein kleines Problem sein, wenn es um einen Anwendungsserver geht! Sie k�nnen auch snort installieren, aber es hindert diese Maschinen nicht daran, wie ein Sieb zu sein. Entsprechend m�ssen Sie sehr restriktiv sein �ber Partitionsberechtigungen, Verzeichnisberechtigungen ..., nat�rlich nur, wenn Sie mit NTFS-Partitionen arbeiten. Es gibt ein frei verf�gbares Programm, dass das Gast-Konto entfernt, aber der Quellcode ist nicht verf�gbar. Desweiteren sollten Sie alle Sicherheitspatches installieren, die Sie finden k�nnen. Zum Schluss krempeln Sie Ihre �rmel hoch und versuchen Sie, es weniger verletzlich zu machen. Es ist, als ob man sich auf ein Schlachtfeld begibt, aber es mu� sein.

F�r die "exotischen" Betriebssysteme m�ssen Sie suchen und w�hlen. Wie �blich und vor allem anderen, sollten die grundlegenden Regeln angewandt werden: Je weniger aktive Dienste, umso besser.

Schutz des Netzwerkes

Wenn die Rechner entsprechend "pr�pariert" sind, ist die H�lfte des Weges geschafft. Aber Sie m�ssen noch weiter gehen. Da wir �ber freie Software sprechen, werden wir eine freie Firewall f�r den Gateway-Rechner nehmen: es ist die Maschine, die Ihnen den Zugang zur "wilden" Welt gew�hrt. Erneut w�hlen wir willk�rlich einen Linux-Rechner, so dass wir die Bastille-Linux-Firewall nehmen k�nnen. Sie arbeitet entsprechend Ihrer Kernel-Version mit ipchains oder ipfwadm. Wenn Sie einen 2.4-Kernel nutzen, arbeitet er mit iptables.

Eine kleine Abweichung: es ist keine gute Idee, sich mit all den Anfangsproblemen herumzuschlagen, wenn es um die Sicherheit geht. Das "Rennen" nach der letzten Kernel-Version kann zu einer sehr negativen Situation f�hren. Das hei�t nicht, dass die Arbeit an neuen Kernel-Versionen nicht gut ist, jedoch, die "Verbindung" mit existierenden Werkzeugen, die nicht daf�r gedacht sind, kann ein gro�er Fehler sein. Ein Rat: Seien Sie geduldig! Das neue Firewall-Werkzeug, das Teil des 2.4-Kernels ist, ist sehr vielversprechend, aber wahrscheinlich noch etwas "jung". Nachdem wir dies gesagt haben: es liegt an Ihnen ...

Die Bastille-Linux-Firewall ist sowohl einfach als auch effizient. Es gibt jedoch ein sehr viel besseres Werkzeug, etwa wie eine "Gasfabrik", T.REX genannt. Es ist verf�gbar von http://www.opensourcefirewall.com. Wenn Sie nach einem sehr raffinierten freien Werkzeug suchen, das ist es.

Es gibt andere L�sungen wie Proxies, sie sind jedoch nicht immer besser. Noch eine Abweichung. Proxies werden oft als "Firewall" bezeichnet. Es sind jedoch zwei verschiedene Dinge. Die Firewalls, �ber die wir reden, benutzen Paketfilterung und bieten keine Authentifizierungsmethode. Es gibt zwei Arten von Proxy-Servern: Anwendungen oder Socks. Kurz gesagt, ein Anwendungsproxy erledigt f�r Sie die ganze Kommunikation und gestattet eine Benutzerauthentifizierung. Deshalb ben�tigt er viel mehr Ressourcen als eine Firewall. Aber, immer wieder gesagt, diese Art Werkzeug sch�tzt nur f�r eine kurze Zeitspanne. Eine Firewall kann in ungef�hr 15 Minuten "geknackt" werden. Gut zu wissen, nicht wahr? Daher die Notwendigkeit, auch die Rechner in Ihrem Netzwerk ordentlich zu sichern: Die Entscheidung, ein Netzwerk nur durch eine Firewall oder einen Proxy zu sichern, grenzt an Ketzerei!

Eine andere Methode zur Reduzierung der Risiken in einem Netzwerk ist Verschl�sselung. Die Benutzung von Telnet ist z. B. wie eine Einladung an Cracker, auf einem roten Teppich hereinzuspazieren. Es gibt ihnen praktisch die Schl�ssel zum Laden in die Hand. Sie k�nnen nicht nur die umlaufenden Daten sehen, sondern - noch besser - erhalten das Passwort im Klartext: h�bsch, nicht wahr? Entsprechend sollten Sie sich frei f�hlen, ssh mit den "ungewissen" Protokollen (oder stattdessen) zu verwenden. Wenn Sie Telnet benutzen M�SSEN (?), senden Sie die Daten durch eine sichere Verbindung. In anderen Worten, leiten Sie den Telnet-Port auf einen sicheren Port um. Mehr dar�ber finden Sie in dem Artikel "Durch den Tunnel" ( www.linuxfocus.org/Deutsch/May2001/article202.shtml). (freie Werbung)

OK, wir haben versucht, die Sicherheit zu verbessern, aber nun sollten wir unsere Arbeit pr�fen. Dazu werden wir zu "Crackern", irgendwie: wir werden ihre Werkzeuge nutzen. Ist das nicht h��lich? Auch in diesem Bereich gibt es eine sch�ne Sammlung von Programmen, wieder w�hlen wir willk�rlich 2 von ihnen: nmap und nessus. Das ist keine Redundanz, da z. B. das zweite das erste voraussetzt. Diese Programme sind Port-Scanner, obwohl nessus viel mehr ist als nur das. Nessus informiert Sie �ber Systemverwundbarkeiten, indem es die Scan-Ergebnisse mit seiner Schwachstellen-Datenbank vergleicht. Die Benutzung dieser Werkzeuge in einem Netzwerk erlaubt es Ihnen, die Schwachstellen eines jeden Rechners zu entdecken, unabh�nig vom jeweiligen Betriebssystem. Die Ergebnisse sind recht aufschlu�reich, daher muss man diese Programme einfach haben. Sie finden nmap bei http://www.insecure.org und nessus bei http://www.nessus.org.

Seit dem Anfang dieses Artikel reden wir �ber das Sichern eines lokalen Netzwerkes, in dem einige Maschinen f�r die externe Welt ge�ffnet werden. Der Fall eines Internet-Service-Providers ist sicherlich ganz anders gelagert und wir werden nicht in die vielen Details dieses Themas einsteigen. All das, was wir erw�hnt haben, ist immer noch verf�gbar, aber Sie werden wesentlich kompliziertere Methoden wie VPN (Virtual Private Network) oder LDAP f�r Authentifizierung benutzen m�ssen. Es ist fast ein ganz anderes Thema, weil die Beschr�nkungen in diesem Fall viel zahlreicher sind. Lassen Sie uns nicht �ber E-Business-Rechner reden, wo die Dinge ganz sorglos gehandhabt werden. Sie reden von sicheren Rechnern! Erz�hlen Sie mir nichts ... Senden Sie Ihre Kreditkarten-Nummer �ber das Internet? Falls ja, dann sind Sie sehr mutig. Vorschlag: Wenn Sie Franz�sisch lesen k�nnen, schauen Sie sich einmal diese Webseite an: http://www.kitetoa.com, es lohnt sich.

System-Besonderheiten

Wie bereits erw�hnt, sind die Systeme nicht gleichwertig, wenn sie dem Feind gegen�ber stehen. Einige haben sehr gute F�higkeiten, w�hrend andere wie Siebe sind. Paradoxerweise (nun, nicht wirklich) sind freie Betriebssysteme unter den besseren. Die verschiedenen BSD-Varianten (OpenBSD, NetBSD, FreeBSD ...), die verschiedenen Linux-Versionen sind ganz vorn, wenn Sicherheit eine Rolle spielt. Auch dies ist das Ergebnis der gro�artigen Arbeit der Freien-Software-Gemeinschaft. Die anderen, auch wenn sie ein Unix-Label tragen, sind etwas weniger fortgeschritten. Wenn es sich nicht um Unix handelt, ist es noch viel schlimmer!

Alle in diesem Artikel erw�hnten Werkzeuge wurden f�r freie Betriebssysteme entwickelt. Die meisten der propriet�ren Unix-Systeme k�nnen von ihnen profitieren. Diese propriet�ren Betriebssystem haben jedoch oft ihre eigenen Werkzeuge. Z. B. erw�hnten wir in Bezug auf Solaris ndd and aset. Entgegen einer weitverbreiteten Meinung sind Sun-Systeme keine Modelle f�r Sicherheit. Ein Werkzeug wie aset erlaubt eine Verbesserung hinsichtlich der Zugriffsrechte. Aset bietet drei Schutzebenen: niedrig, mittel und hoch. Sie k�nnen es aus der Shell starten oder als cron-Aufgabe. In einem aktiven Netzwerk �ndert sich die Situation st�ndig, was um 5.00 Uhr richtig war, kann um 5.30 Uhr schon falsch sein. Daher das Interesse, Programme periodisch zu starten, um Homogenit�t aufrecht zu erhalten. Deshalb hat aset die M�glichkeit, per cron gestartet zu werden. Dann wird es alle 30 Minuten, oder wann immer Sie es f�r erforderlich halten, die Berechtigungen von Verzeichnissen und Dateien pr�fen ...
Ndd erlaubt es, IP-Stack-Parameter zu �ndern. Es erlaubt z. B., den sog. Fingerabdruck eines Systems zu verstecken. Ein erkanntes System ist verwundbarer, weil die Cracker wesentlich besser wissen, wo sie "zuschlagen" k�nnen. Mit ndd k�nen Sie die TCP-Maximum-Segment-Size �ndern. Fehlwertm��ig ist diese 536 unter Solaris 2.6. Der Befehl ndd -set /dev/tcp tcp_mss_def 546 �ndert diese auf 546. Je gr��er die MSS ist, umso besser (aber nicht zuviel). Nmap z. B. findet diese Schwachstelle. Mittels ndd nehmen Sie ihm den Boden unter den F�ssen weg. Wenn Sie Maschinen mit Solaris haben, sollten Sie ndd nutzen. Es gibt viele Optionen: lesen Sie die Handbuchseite.
Sie k�nnen auch IP-Filter nutzen, ein Werkzeug f�r Paketfilterung. Es ist verf�gbar unter ftp://coombs.anu.edu/pub/net/ip-filter.

Was Irix angeht, ist die Situation wieder etwas anders. SGI (ehemals Silicon Graphics) hat - wie der Name sagt - seine Systeme auf Grafikverarbeitung ausgerichtet. Sicherheit war kein wichtiger Design-Punkt. Notwendigkeit kennt keine Gesetze, es wurde verpflichtend, Wege zur Reduzierung der Risiken zu finden. Dazu wurde in Irix ipfilterd bereitgestellt, es wird jedoch nicht standardm��ig installiert: Sie m�ssen danach suchen! Ipfilterd wird nat�rlich f�r Paketfilterung benutzt; es erlaubt Ihnen, denjenigen Zugang zu verweigern, bei denen Sie es wollen. Es verl�sst sich auf eine Konfigurationsdatei namens ipfilterd.conf und hier werden die Dinge etwas trickreich. Die Syntax dieser Datei ist etwas eigent�mlich und mag keine unerwarteten Leerzeichen und Leerzeilen. Um der Maschine "mars" Zugang zu der Maschine namens "jupiter" (der SGI-Rechner) zu gestatten, m�ssen Sie eine Zeile wie
accept -i ec0 between jupiter mars
eingeben. Die in dieser Datei nicht aufgef�hrten Maschinen k�nnen jupiter nicht kontaktieren. Noch schlimmer: Wenn Sie den ipfilterd_inactive_behavior-Parameter nicht mittels systune �ndern, kann niemand auf die Maschine zugreifen. Das ist doch effizient, oder? Der Fehlwert hierf�r ist 1, und Sie m�ssen ihn mittels systune -i ipfilterd_inactive_behavior 0 auf 0 setzen.
Eine andere bekannte Sache, die man nicht vergessen sollte: Irix hat eine gro�e Schwachstelle namens fam (File Alteration Monitor). Dieses Programm steuert eine sehr nette F�higkeit, die Kommunikation zwischen verschiedenen D�monen. Z. B. erlaubt es dieses Programm, die sch�nen Icons im Programm-Manager zu erhalten. Nichtsdestoweniger, es gibt nur eins zu tun: Deaktivieren Sie es! Traurig, aber so ist es.

Um mit den Unix-Systemen zu Ende zu kommen, sollten wir erw�hnen, das QNX sehr verwundbar ist, aber es kann nat�rlich auch von den freien Werkzeugen profitieren. MacOS X bietet bereits einige dieser Werkzeuge.

Wir m�ssen noch etwas �ber die absolute Referenz unter den Netzwerksystemen sprechen: das einzige und einsame NT 4.0. Dessen Sicherung ist eine utopische Aufgabe, einerlei was der K�nig von Redmond (und viele andere) sagen. Eine Angriffssimulation mit nessus ist z. B. ein Alptraum. Soweit NetBIOS aktiv ist, zeigt Ihnen nessus den Namen jeder Maschine in der Domain mit ihren entsprechenden Benutzern, einschlie�lich der Administratoren. Die Antwort: Trennen Sie sich von NetBIOS! Richtig, wie bereits erw�hnt, kein NetBIOS, kein Netzwerk ... Hier m�ssen Sie w�hlen, auf welche Seite Sie sich stellen.
Nessus wird Sie freundlich dar�ber informieren, dass Sie sich als Gast-Benutzerin mit einer NULL-Sitzung (d. h. OHNE Benutzername und OHNE Passwort) anmelden k�nnen. Entfernen Sie es! Ja, aber wie? Und so �hnlich ist alles!
Reduzieren Sie den Zugriff auf Partitionen (NTFS), auf Verzeichnisse. F�r FAT-Partitionen ... keine L�sung. Evtl. m�ssen Sie aufgrund der von Ihnen benutzten Software jedoch FAT-Partitionen nutzen; einige Software arbeitet nicht auf NTFS. Zum Schlu�, vermeiden Sie den gro�artigen IIS, speziell als FTP-Server. Sie sollten ihn einfach nicht installieren. Viele ISPs sind verr�ckt genug, ihn zu benutzen, wir k�nnen ihnen vorschlagen, stattdessen Apache zu nutzen, aber ... Wir sollten nicht zuviel Zeit auf IIS verwenden, es gibt eine Menge an Literatur zu dem Thema.
Tats�chlich gibt es einen Weg, aus dem Sieb einen Filter zu machen (die L�cher sind schmaler). Das Problem ist, dass dies ein recht langer Weg ist und das ganze Magazin w�re nicht genug. Lassen Sie uns nur das wichtigste erw�hnen. Offensichtlich k�nnen wir die Sicherung nicht mit freier Software durchf�hren: wir reden �ber die Microsoft-Welt! Der erste Vorschlag ist, den MCSE (Microsoft Security Configuration Editor) aus dem ServicePack 4 zusammen mit der MMC (Microsoft Management Console) zu nutzen. Seien Sie jedoch au�erordentlich vorsichtig! Wenn Sie einen Fehler machen, haben Sie gewonnen. Nat�rlich ist diese Software eine englische Version. Wenn Sie eine fremde (nicht englische) Version des Systems nutzen: lassen Sie sich gesagt sein, dass die Mischung von Sprachen in der Redmond-Welt noch nie gute Ergebnisse gezeitigt hat. Sie sind gewarnt. Als n�chstes unter den erforderlichen Ma�nahmen m�ssen Sie das Administrator-Konto "sichern" oder sogar deaktivieren. Schauen Sie sich passprop aus dem SP 3 an. Sie k�nnen auch die Passw�rter mittels der passfilt dll durch die Registriy versch�rfen (Ich habe immer gedacht, dieses Ding sei unter LSD-Einflu� erfunden worden ...). Deaktivieren Sie das ber�hmte Gast-Konto. Es ist nicht besonders n�tzlich (s. o.), aber es kann die Dinge weniger schlimm machen. Sie k�nnen seinen Zugriff auf Logdateien durch die Registry beschr�nken. In "HKEY_LOCAL_MACHINE" erstellen Sie die Schl�ssel System\CurrentControlSet\Services\EventLog\Application, Security und System (diese beiden letzten sollten Application ersetzen). Ihr Name ist "RestrictGuestAccess", der Typ ist REG_SZ und der Wert ist 1. Sie k�nnen die Passw�rter mit syskey verschl�sseln. Vorsicht, dies ist eine Operation, die nicht r�ckg�ngig gemacht werden kann! Zum Schluss eine gute Nachricht: sie k�nnen den Gastzugang beschr�nken. Erneut spielen wir mit der Registry, immer noch in "HKEY_LOCAL_MACHINE". Jetzt geht es um den Schl�ssel System\CurrentControlSet\Control\Lsa. Der Name ist "RestrictAnonymous", der Typ ist "REG_DWORD" und der Wert ist 1. Aber die Microsoft-Welt ist eine harte Nuss: Es sei Ihnen gesagt, dass diese �nderung einige Netzwerkdienste �ndern kann ... Unter den wichtigen Dingen k�nnen Sie den Zugriff auf einige Ports sperren, �ber die Netzwerkanwendung im Konfigurations-Panel. Von den TCP/IP-Eigenschaften w�hlen Sie "Erweitert" und kreuzen Sie das "Sicherheit aktivieren"-Feld an (ich glaube, das ist der Name, aber ich habe es nicht zu Hause und kann es nicht �berpr�fen). Aus dem "Sicherheits"-Fenster w�hlen Sie "Nur erlaubt" und w�hlen Sie die Ports, die Sie aktivieren m�chten. Auch hier sollten Sie vorsichtig sein. Sie sollten wissen, was Sie tun, es kann sein, dass einige Dienste nicht mehr funktionieren.
Es kann noch viel mehr getan werden, aber diese sind wesentlich. Um mehr zu lernen, k�nnen Sie sans.org besuchen: Eine Menge an Dokumenten ist verf�gbar.

Die untragbare Leichtigkeit der Dinge

Nun haben Sie all das getan. Sie starten nessus zum Scannen des gesamten Netzwerkes und Sie finden immer noch Sicherheitsl�cken. Wir sagen Ihnen nicht, wo die herkommen ... wir wissen es bereits. Vesuchen Sie, diesen System-Ersatz zu t�uschen. Es wird die von NetBIOS "bereitgestellten" L�cher nicht entfernen, aber den Schaden begrenzen. Erstellen Sie Unter-Domainen. Melden Sie sich nicht als Administrator an. Wenden Sie Patches an. Zum Schluss, versuchen Sie dies alles hinter Unix-Rechnern als Gateways zu verstecken. Ungl�cklicherweise kommt die relative Sicherheit nicht nur von Produkten aus Redmond. Ein Netzwerk ist lebendig: es ist immer etwas los. Ein guter Administrator ist immer etwas "paranoid", pr�fen Sie entsprechend oft Ihr "festes Inventar". Schreiben Sie Skripte, um die Tests zu automatisieren, um z. B. regelm��ig SUID/SGID-Programme zu kontrollieren, die kritischen Dateien, die Logdateien ... Wenn Sie sich Freunde machen wollen, sperren Sie die Floppy- und CD-Laufwerke Ihrer Benutzerinnen. Akzeptieren Sie es nicht, dass Ihre Benutzer Software ohne Ihre Zustimmung abrufen, ganz besonders, wenn diese Software wie in der Microsoft-Welt �blich ausf�hrbar ist. Halten Sie Ihre Benutzer durch ein Mail-Filtersytem davon ab, angeh�ngte Dokumente im Word- oder Excel-Format zu �ffen. Ja, ich wei�, es ist wie Faschismus, aber was k�nnen Sie gegen Makro-Viren tun? Benutzen Sie keine Programme wie Outlook. Erneut: Sie m�ssen wissen, was Sie wollen! Ich wei�, was ich sage, ist nutzlos, aber k�nnen Sie bei solchen Produkten von Sicherheit reden? Das ber�hmte "I love You" hat den Leuten nichts beigebracht.
Was Unix angeht, m�ssen Dateiabrufe genauso kontrolliert werden. Pr�fsummen wurden nicht zuf�lligerweise erfunden.

Gew�hnen Sie sich an, Ihr Netzwerk regelm��ig mit Logs, Skripten und Scans zu pr�fen ... Sie werden bemerken: die Dinge �ndern sich recht schnell und nicht nur in einer guten Richtung.
Zum Schlu�, wir haben noch nichts dar�ber gesagt, aber vergessen Sie die Sicherungen nicht. Die Strategie �ndert sich nicht: t�glich, w�chentlich und monatlich. Auch eine Unix-Maschine kann Probleme haben, obwohl dies ungew�hnlich ist. Und manchmal machen auch die Benutzer Fehler ... aber nicht sehr oft. Es ist bekannt, dass die Probleme immer von der Maschine oder von der verantwortlichen Abteilung kommen:-(

Endlich, es ist vorbei!

Wenn Sie diesen Abschnitt erreicht haben, dann sind Sie sehr tapfer. Das Problem ist, dass wir das Thema nur angekratzt haben! Sicherheit hat kein Ende und betrifft nicht nur Netzwerke. Verwundbare Anwendungen k�nnen ein Netzwerk komprimittieren. Eine schlecht konfigurierte Firewall ist viel gef�hrlicher als �berhaupt keine Firewall. Ein Unix-Rechner enth�lt oft Tausende von Dateien. Wer kann sicher sein, dass keine von ihnen verletzlich ist? Wer glaubt, dass ein Cracker einen 128-Bit-Schl�ssel knacken will? Lassen Sie sich nicht t�uschen: Er wird versuchen, eine T�r hinter dem Haus zu finden. Erneut: Sie k�nnen alle verf�gbaren Sicherheitswerkzeuge installieren, wenn Sie ein sehr kleines Loch lassen, da wird das "B�se" durchkommen.

Sicherheit ist auch eine Verhaltensweise: folgen Sie dem aktuellen Geschehen. Besuchen Sie z. B. regelm��ig die Sicherheitswebseiten, ebenso die f�r Ihr Betriebssystem. So publiziert Sun jeden Monat empfohlene Patches. SGI ver�ffentlicht alle 3 Monate eine neue Irix-Version. Microsoft ver�ffentlicht regelm��ig Service-Packs oder HotFixes. Linux-Distributoren ver�ffentlichen Fehlermeldungen f�r jede neu entdeckte Verwundbarkeit. Das gleiche gilt f�r die verschiedenen BSDs. Wenn Sie die Produkte zu einem Patch nicht nutzen, entfernen Sie diese von Ihrer Festplatte. Und so weiter: die Liste, der zu erledigenden Sachen ist eine sehr, sehr lange. Kurz gesagt, dieser Job sollte keine Arbeitslosigkeit kennen.

Zum Schlu� will ich es nochmals sagen, all dieses wird nur dazu beitragen, Ihr Netzwerk etwas weniger verletzlich zu machen. Erwarten Sie nicht, dass Sie ein zu 100 Prozent sicheres Netzwerk erhalten werden, auch nicht zu einer bestimmten Zeit (nun ja, vielleicht wenn alle Maschinen gestoppt sind). Dies gesagt, ist es keine Voraussetzung f�r diesen Job, paranoid zu sein ... aber es hilft! Aber seien Sie in Ihrem t�glichen Leben nicht so, es wird f�r die Menschen um Sie herum viel angenehmer sein ...

Referenzen

Das Leben ist traurig: Lasst uns etwas Spass haben!

Auch eine M�glichkeit, den Job zu erledigen ;-)