[linux-l] Fedora3 Firewall

Volker Grabsch vog at notjusthosting.com
So Nov 13 17:10:27 CET 2005


On Sun, Nov 13, 2005 at 03:26:11PM +0100, Olaf Radicke wrote:
> Aus lauter Verzweiflung, habe ich mal versucht, die Regeln selber mit  
> iptables rein zu hacken. Ist aber in einer Katastrophe geendet. Wenn ich das 
> über Netzwerk gemacht hätte, hätte ich mich jetzt ausgesperrt. Also das pur 
> mit iptables rein zu hacken, halte ich mit meinem Können für aussichtslos. 

Das halte ich, gelinde gesagt, für groben Unfug. Im Gegenteil: Meiner
Erfahrung nach machen es einem die sog. "Firewall-Tools", die die
Distributionen mitbringen, nicht leichter, sondern nur unnötig schwer.

Ein Shellscript bestehend aus 3 oder 4 iptables-Aufrufen wäre
naheliegend, "straight forward" und erfüllt all deine Bedürfnisse.
Es ist leicht zu verstehen und leicht auszubauen. Die Einarbeitungszeit
in das iptables-Kommando ist IMHO nicht größer als die Einarbeitungszeit
in die darauf "aufgesetzten" Firewall-Tools.

Allerdings muss ich zugeben, dass ich "vorbelastet" bin, weil ich
damals mit ipchains angefangen habe, dann mit iptables arbeitete, und
erst viel später mit diesen umständlichen
ach-so-toll-alles-vereinfachenden-distro-spezifischen
Tools arbeiten musste.

Der Umgang mit iptables erfordert nur so viel Wissen über das Firewall-
System des Kernels, wie du für deinen Regelsatz benötigst. Es sollte
mich wundern, wenn es da keine ordentlichen Tutorials gäbe. Die
vorgefertigten Tools hingegen verlangen nicht nur Wissen über die
Kernel-Firewall, sondern außerdem noch Wissen darüber, wie sich deren
Autoren eine Firewall vorstellen.


> <EINSCHUB>
> In den Dokus die ich zu iptables stand, das alle Regeln sofort vom Kernel 
> angewendet wird. Später wird dann empfohlen mit "ipatables -F" alles alten 
> Regeln erstmal zu verwerfen und mit "ipatables -PINPUT DROP" alles zu 
> verbieten um dann Schritt für Schritt nur das zu öffnen, was gebraucht wird. 
> Das kam mir unlogisch vor. Wenn ich das über Netz gemacht hätte, währe beim 
> zweiten Befehl Ende gewesen - mangels Zugriff.
> </EINSCHUB>

Das ist zwar richtig, aber gilt nur, wenn du einen iptables-Befehl nach
dem anderen direkt an der Konsole eingibst. Von diesem Unsinn kann ich
nur abraten, gerade wenn man remote arbeitet.

Schreib ein Shellscript, das ungefähr so aufgebaut ist:


	#!/bin/sh

	<<< eigene iptable-Befehle >>>

	sleep 30

        /sbin/iptables -F INPUT
	/sbin/iptables -P INPUT ACCEPT


Mit diesem Script kannst du relativ gefahrlos experimentieren. Sollten
deine (komplizierter werdenen) Befehle irgendwann dich ausversehen
aussperren, hast du nach 30 Sekunden wieder vollen Zugang zum System.
Eventuell kannst du die letzten paar Zeilen auch gegen (100x getestete!)
Befehle ersetzen, die alles dichtmachen und nur Port 22 öffnen. Wenn
du andere Chains außer dem INPUT-Chain bearbeitest, solltest du auch
diese entsprechend wieder "freimachen", aber das nur am Rande. Egal wie,
ich denke das Prinzip ist nun klar geworden.

Wenn alles klappt, streichst du die letzten paar Zeilen und packst z.B.
unter Debian dieses Script einfach nach

	/etc/network/if-pre-up.d/000iptables

Alles in /etc/network/if-pre-up.d/* wird unmittelbar vor dem Aktivieren
der Netzwerk-Interfaces aufgerufen, ein idealer Platz also für deine
Firewall-Regeln.


> Gibt es nicht irgend ein Tool, womit man einfache   Firewall-Regeln erstellen 
> kann ohne in die tiefsten Tiefen der Kernel-Hacks eintauchen zu müssen? Und 
> was auch noch funktioniert?

Ja:  iptables

Sorry, aber es ist so. Ich denke, dir fehlt nur ein guter Einstieg.

Wenn du diesen im Netz partout nicht finden solltest, sag mir bescheid.
Dann schreib ich dir ne Howto. In diesem Fall: Bitte schnauze mich sofort
voll, falls diese zu kompliziert, umständlich oder unverständlich sein
sollte. ;-)


Viele Grüße,

	Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l