Das Betriebssystem

Der Linux - Rechner muss eine solide Grundlage bilden, um ein verlässliches Firewall - System aufzubauen. Es sollte stets der Grundsatz gelten, so wenig wie möglich und so viel wie unbedingt nötig. Diese Vorgehensweise wird dadurch begründet, dass jedes zusätzliche Element einen gewissen Unsicherheitsfaktor einbringt. Dieser gründet in fehlerhafter Software, schlechter Vorkonfiguration, nicht benutzter Komponenten oder unbekannten Funktionalitäten dieser Elemente. Ebenso bietet jede zugelassene Methode eines Netzwerkzugriffes auf den Rechner (auch verwendete Router sind davon betroffen) Angriffsmöglichkeiten durch Implementations- und Programmfehler.

Schon bei der Installation muss darauf geachtet werden, nur wirklich benötigte Komponenten zu Installieren. Hierzu gehört das Linux- Grundsystem, Programmiertools zum Compilieren des Kernels, einen minimalen Netzwerksupport und natürlich die Firewall- Software IP-Chains5. Nach der Installation muss noch der Kernel auf ein Minimum reduziert und compiliert werden. Wichtige Komponenten sind hierbei:

Masquerading/NAT wird abgeschaltet, da diese Funktion von den beiden ISDN-Routern durchgeführt wird. Nicht benutzte Datei- und Bussysteme sollten deaktiviert werden, da ein kleinerer Kernel auch zu mehr Performance beiträgt.

Danach ist es an der Zeit einen ersten Test mit der o.g. Einstellungen zu machen. Eine beliebte Fehlerquelle ist das Weglassen dringend benötigter Komponenten oder das Einbinden von Treiberdateien als Modul, welche schon beim Systemstart erforderlich sind. Da Module erst geladen werden, wenn sie benötigt werden, kommt es sofort zu Problemen, wenn z.B. von einer SCSI-Festplatte gestartet werden soll und der Treiber als Modul vom Kernel nachgeladen werden muss, gibt es einen Konflikt.

Im zweiten Schritt werden die Netzwerk- Dienste, welche überflüssig sind deaktiviert6. Bei dem verwendeten SuSE- Linux ist die Datei /etc/inetd.conf für das automatische Starten solcher Services verantwortlich. Diese muss so weit geändert werden, dass nur noch unbedingt notwendige Dienste gestartet werden.

Da in diesem Fall das Routing vom Betriebssystem- Kernel durchgeführt wird, ist dafür kein Dienst notwendig.

Ebenso wird auf remote login Möglichkeit verzichtet, und nur an der Konsole Tätigkeiten durchgeführt. Durch diese Minimalität können sämtliche in /etc/inetd.conf genannten Services deaktiviert werden. Nach der Einschränkung des Systems sollten lediglich noch lebensnotwendige Dienste laufen.7

Um diese Tätigkeiten zu vereinfachen, stellt SuSE ein PERL-Script (harden_suse.pl) zur Verfügung, mit dem der zweite Schritt automatisiert wird.

Zur sofortigen Kontrolle des reduzierten Systems bieten sich die folgenden einfachen shell- Befehle an:

Hiermit kann schnell ein Überblick über die laufenden daemons, Hintergrundprogramme und deren Netzwerk - Aktivitäten gewonnen werden. Es gibt auch hierfür vorgefertigte Shell - Scripts von SuSE. Diese täglichen, wöchentlichen und monatlichen Einsatz ausgelegt. Offene Netzwerk - Ports und -Dienste werden genauso angezeigt wie vorhandene devices und geänderte Systemdateien.