Alternativ können sie von Hand mit Shell-Scripts, in FCT auch »Rules-files« gennant, konfiguriert werden. Beispiel-Files, z.B. zur Konfiguration von ISDN-Verbindungen, sind in FCT vorhanden.
    Die meisten Dienste, die in einem Netzwerk verwendet werden, basieren auf dem TCP-Protokoll. Daneben existieren jedoch auch weitere, wie z.B. ICMP und UDP. Mit diesen drei Protokollen lassen sich die Verbindungen beinahe aller gängigen Dienste in einem TCP/IP Netzwerk beschreiben. Jeder Dienst benötigt ein oder mehrere Verbindungen, welche auf unterschiedlichen Protokollen aufgebaut sein können.
     Diese Definitionen der zum Funktionieren eines Dienstes benötigten Verbindungen stellt das Herzstück von FCT dar. Das Format der Definition der Verbindungen ist so allgemein gehalten, daß nahezu beliebige Konfigurationen definiert und unter einem frei wählbaren Namen definiert werden können.
    FCT sortiert die Dienste alphabetisch und führt die generierten Scripts entsprechend aus. Um die Skripten für FTP erst nach den anderen Diensten auszuführen, wurde der Name mit einem Prefix (z10_ bzw. z11_) versehen. Die Definitionen der wichtigsten Dienste sind in FCT bereits eingetragen und können unter der Rubrik »Definition« geändert werden. Wenn ein Dienst auf
    Alle Firewallkonfigurationen haben eines gemeinsam - man benötigt mit großer Wahrscheinlichkeit einige Dienste auf der Firewall selbst, z.B. um sie remote von einem anderen Rechner administrieren zu können. Diese Liste definiert man bei FCT in der Eingabemaske »Firewall«. Alle aufgelisteten Dienste sind zwischen der Firewall und den eingetragenen Rechnern möglich. Zusätzlich bestimmt der Eintrag »Richtung«, ob der Dienst von der Firewall zum Rechner, vom Rechner zur Firewall oder in beiden Richtungen erlaubt ist. Die Richtung wird in FCT mit »Incoming« bzw. »Outgoing« beschrieben. »Outgoing« bedeutet bei FCT generell »von der Firewall zum anderen Rechner«. Mit »All Directions«
Definition eines Dienstes

Bild 3: Definition eines Dienstes

werden beide Richtungen ausgewählt.
   Das Internet wird bei FCT allgemein mit $any beschrieben, das interne Netzwerk verwendet $internal und die Rechner im »Perimeter Network« können mit dem Rechnernamen - oder alle gleichzeitig $PERIMETER - definiert werden.
   In den Beispielen werden die Syntax von ipchains verwendet. FCT generiert für den oben aufgeführten auth-Eintrag die entsprechenden Kommandos.
    Richtig interessant wird das komplette Regelwerk erst, wenn bei einem Router die verschieden Netzwerk-Interfaces berücksichtigt werden sollen. Dann muß das entsprechende Netzwerk-Interface für jedes Kommando ermittelt werden. Erst dann entwickelt das gesamte Regelwerk seine Aufgabe für eine Firewall zufriedenstellend.
    Wenn die Dienste samt der nötigen Verbindungen definiert worden sind, muß noch bestimmt werden, wo sie genutzt werden können. Hier sollte man sich frühzeitig ein vernünftiges Konzept

    Bei TCP-Verbindungen (vgl. telnet) können Pakete über eine Verbindung gesendet und empfangen werden. Innerhalb von FCT wird deshalb auch nur die für einen Dienst notwendige TCP Verbindung in Senderichtung definiert. UDP sendet einzelne Datenpakete über eine solche Verbindung. Sollen auch Pakete empfangen werden, muß eine eigene Verbindung zum Empfangen in FCT definiert werden.

unterschiedliche Weise genutzt werden kann, sind diese mit separaten Einträgen beschrieben, z.B. »ftp_passive« und »ftp_active« oder »dns_clients« bzw. »dns_server«. Die Variable $client ist im Abschnitt »Aliases« definiert und definiert einen Port größer als 1024. Sie wird für die meisten TCP-basierten Verbindungen verwendet.
überlegen und dokumentieren bzw. skizzieren.. Eine grobe Richtlinie liefert Tabelle 1, deren Konzept ist graphisch in   Abbildung 1 »Netzwerktopologie« dargestellt. Auch hier liefert FCT im Verzeichnis etc/default einige beispielhafte Konfigurationen mit, bei welcher hauptsächlich die Netzwerkdefinition angepaßt werden muß.   Mit der Maske »Screening« (Filtern) wird innerhalb von FCT definiert, welcher Dienst in welchen
# Incoming/Outgoing ident from internal network hosts on interface eth0
ipchains -A input -j ACCEPT -p tcp -i eth0 -s $internal 1024:65535 -d Firewall ident
ipchains -A output -j ACCEPT ! -y -p tcp -i eth0 -s Firewall ident -d $internal 1024:65535
ipchains -A output -j ACCEPT -p tcp -i eth0 -s Firewall 1024:65535 -d $internal ident
ipchains -A input -j ACCEPT ! -y -p tcp -i eth0 -s $internal ident -d Firewall 1024:65535
# Incoming/Outgoing ident on external interface ippp0
ipchains -A input -j ACCEPT -p tcp -i ippp0 -s $any 1024:65535 -d Firewall ident
ipchains -A output -j ACCEPT ! -y -p tcp -i ippp0 -s Firewall ident -d $any 1024:65535
ipchains -A output -j ACCEPT -p tcp -i ippp0 -s Firewall 1024:65535 -d $any ident
ipchains -A input -j ACCEPT ! -y -p tcp -i ippp0 -s $any ident -d Firewall 1024:65535  

Listing 1: auth-Dienst mit ipchains auf einer Firewall aufsetzen


FCT - Firewall Configuration Tool


- 3 -

Homepage

1   2   3   4   5   6

Impressum