[Home] [1.] [2.] [3.] [4.] [5.] [6.] [7.] [8.]
7. Security & Firewall
In diesem Abschnitt konfigurieren wir einen Paketfilter (aka Firewall)
auf allen lokalen Rechnern. Diese sollen (falls Kap. 4 schon
durchgearbeitet wurde) die verschiedenen NFS/NIS
Domänen im PC-Raum voreinanderschützen. Die Services sollen
nur innerhalb der Domänen benutzbar sein, dort aber klaglos funktionieren!
Weiters soll der Webserver geschützt werden.
- Vorabeiten
Schalte zunächst alle nicht benötigten Dienste auf deinem
System ab; Laufen sollen NFS/NIS nur auf dem Server; auf den Clients läuft nur
der Portmapper, auf allen Rechnern der sshd und der Webserver.
Insbesondere schalte den inetd ab.
- Als ersten Schritt implementieren wir folgende Reglen:
Die NFS/NIS-Clients und Server sollen jeweils aufeinander vollen Zugriff haben.
Der sshd soll von überall aus ereicht werden können; ebenso soll ICMP
von überall aus zugelassen werden. Der Webserver soll nur von
den Rechnern in der NIS-Domäne (falls Kap. 4 noch nicht durchgemacht: nur
von den Rechnern in deiner Reihe) zugänglich sein. (Nicht vergessen das Loopback braucht
ebenfalls immer vollen Zugriff). Sonst sollen alle Verbindungen verboten sein.
Beginnen nun zunächst auf dem Papier zu planen, welche iptables-Regeln du
für dein Setup benötigst.
Hinweis: zunächst müssen die 3 Standard Chains INPUT, OUTPUT und FOWARD
neu initialisiert werden, dann setzte die Policies von INPUT und FORWARD auf
DROP. Die OUTPUT Policy kann ACCEPT sein; wir regeln alles über die
INPUT Chain.
Als erstes muß die Regel für das Loopback-Interface in die INPUT chain geschrieben
werden; dann die ICMP-Regel, die HTTP-Regel und die SSH-Regel. Dann folgen die (komplizierteren)
Regeln für die NFS/NIS-Server Client-Verbindungen. Außerdem kannst du alle bestehenden Verbindungen
ebenfalls akzeptieren. Nähere Informationen gibts
hier.
- Beginne nun ein Skript zu schreiben und die oben angegebenen Regeln zu
implementieren. Wenn nötig greife auf die Beispieldateien zurück.
Für den Fall, daß irgendetwas schiefgeht (blockierst du das Loopback-Interface, so
funktioniert die graphische Oberfläche unter Umständen nicht mehr richtig) hole dir das
Beispielskript stop_fw.sh: Es löscht alle Chains und setzt die Default-Policy auf ACCEPT
(schaltet also die FW aus).
- Wenn das Skript fertig ist, führe es aus und überprüfe zunächst den
Output des Kommandos "iptables -L -n -v". Entspricht dieser deinen Erwartungen, so kannst
du daran gehen, deine Firewall zu testen; Mache das gemeinsam mit den anderen Teilnehmern
in deiner Domäne/Reihe. Verwendet den Portcsanner nmap (falls dieser nicht installiert
ist, dann findest du ihn hier). Wenn alles zur Zufriedenheit erledigt ist,
scannt eure Hosts auch von außerhalb der Domäne.
- Wenn alle Tests positiv verlaufen sind, kannst du darangehen die Regeln zu
verschärfen. Sichert den Server gegen die Clients ab, in dem nur die tatsächlich
benötigten Verbindungen erlaubt sind. (Die Clients gegen den Server abzusichern ist
nicht besonders sinnvoll; ist der Server gehackt, kommt es auf die Clients auch nicht mehr an...)
Praktischer Hinweis Zunächst muß sicherlich der Portmapper zugelassen werden.
Dann versuche einen Mount und sieh im Logfile nach, welche Verbindungen geblockt werden.
Modifiziere das Skript, bis der Mount wirklich funktioniert. Wenn nötig greife auf
die Beispieldateien zurück.
- Fortgeschrittener Security Test
Installiere den Porscanner Nessus. Das rpm-Paket und die ebenfalls benötigten Bibliotheken
gmp.rpm findest du hier. Nessus verfügt über eine Client-Server
Architektur und verwendet eigene Nessus-Benutzer. Starte zunächst den Server mittles
rcnessusd start. Dann mußt du einen Nessus-Benutzer anlegen; verwende dazu das Kommando
nessus-adduser. Nun starte den Scanner mit dem Aufruf nessus. Zunächst mußt
du dich nun als der vorher eingerichtete Benutzer anmelden, dann folge dem Menü. Für den Scan
schließ dich mit deinem Nachbarn zusammen; scannt gegenseitig eure Rechner (um einen
Unterschied zu sehen stoppt eventuell auf einem Rechner die FW) und verfolgt
das Logfile /var/log/messages. Hinweis: Um die Zeit des Scans zu reduzieren, beschränkt
euch auf die interessanten Ports.
[Home] [1.] [2.] [3.] [4.] [5.] [6.] [7.] [8.]
Last modified January 23, 2010 by Roland Steinbauer