CGICONFIG2 v0.9 - ReadMe

## CGIConfig2 v1.0

Firewall-/Forwarding-Setup für Fli4l-Router via CGI

### 1. Inhalt

1. Inhalt
2. Disclaimer
3. Installationshinweise für FLi4L v2.1.7

1. Voraussetzungen
2. Installation

4. Konfiguration und Funktionsumfang

1. online hosts
2. firewall state
3. firewall-state by groups
4. firewall-state by cronjob
5. portforwarding state
6. custom portforwarding state
7. Variablen in der cgiconfig.txt

### 2. Disclaimer

Ich übernehme keinerlei Verantwortung für eventuelle Schäden, die durch dieses Skript verursacht werden könnten. Die Benutzung erfolgt ausdrücklich auf eigene Verantwortung.

### 3. Installationshinweise für FLi4L v2.1.7

#### 3.1 Voraussetzungen

- In der FLI4l-Config müssen aktiviert sein:

- der mini-httpd
- das opt_portfw
- arp aus den fli4l-tools

#### 3.2 Installation

- Man entpacke das Archiv und kopiere alles in das FLi4L-Basisverzeichnis
- Anpassen der Datei cgiconfig2.txt im config-Verzeichnis (OPT_CGICONFIG2 auf YES wechseln)
- Optional: Wer das Sicherheits-Modell des Mini-HTTPD benutzen möchte, kann bei den HTTPD-Usern in der Datei config/httpd.txt den Bereich "CGICONFIG2" sowie die Rechte "view" und "set" setzen. (s. auch FLi4L-Doku Kapitel 4, HTTPD)
- Nun noch eine neue Diskette erstellen oder den Router per imonc updaten, und schon kann man loslegen.

Wenn man die Dateien per ftp hochgeladen hat muss man noch darauf achten, dass die CGIs ausführbar sind. Am einfachsten führt man dazu ein

> chmod 777 /usr/local/htdocs/*.cgi

an der Router-Konsole oder per telnet/ssh aus.

### 4. Funktionsumfang

Ich denke, prinzipiell sind die beiden Skripte größtenteils selbsterklärend. main_cgiconfig2.cgi zeigt den momentanen Zustand an und bildet die "Schaltzentrale". Seinerseits ruft es die cgiconfig2_switch.cgi auf, welche dann die eigentlichen Änderungen vornimmt.

#### 4.1 online hosts

Hiermit erhält man eine Liste aller in der base.txt eingetragenen und/oder über DHCP konfigurierte Clients.

#### 4.2 firewall-state

Hier hat man die Möglichkeit, den Internet-Zugang clientweise zu gestatten/zu verweigern. Wird ein Client gesperrt, dann wird in der Table FORWARD für das Target für den entsprechenden Client auf fdrop gestellt.

Die Einstellung von FORWARD_HOST_WHITE (Blacklist oder Whitelist) in der config/base.txt wird dabei berücksichtigt.

Man hat die Möglichkeit, einen Host 'rot' (Forwarding und Router-Zugriff Verboten) oder 'gelb' (NUR Forwarding verboten) zu sperren. Proxy-Zugriffe sind also noch möglich, wenn der Client nur mit 'gelb' gesperrt wurde.

In die Textfelder "custom-IP" können IPs von Rechnern eingegeben werden, die nicht angezeigt werden. In der Liste erscheinen automatisch alle Hosts aus der base.txt.

Wird ein Host 'rot' oder 'gelb' gesperrt, werden auch Pakete die zu bestehenden Verbindungen gehören, zu diesem Host verboten.

Bei 'rot' werden bestehende Port-Forwardings und Router-Zugriffe unterbrochen und verboten. Bei 'gelb' nur bestehende Port-Forwardings.

#### 4.2.1 firewall-state by groups

Hier können Subnetze, die in der config-Datei definiert wurden einzeln gesperrt werden. Die Farben haben die selbe Bedeutung

wie bei den einzelnen Clients (s.o.).

Man sollte allerdings darauf vermeiden, das gleiche Netz anzugeben, in dem sich auch der Router befindet!!

#### 4.2.2 firewall-state by cronjob

Den einzelnen Clients (aus base.txt) und Subnetzen (aus cgiconfig2.txt) können Online-Zeiten vergeben werden.

Hier sind Schritte von 30 Minuten, 1,2 und 4 Stunden möglich.

Die Zeiten werden bei mermaligen anklicken addiert.

Hat der Client bzw. das Subnetz Zugang zum Internet, wird es nach Ablaufen der gewünschten Zeit gesperrt.

War der/das Client/Subnetz vorher schon gesperrt, wird es für die Zeit die angeklickt wurde "freigeschaltet" und danach wieder gesperrt.

Unter "timer action" wird bei aktiven Timer weitere Funktionen angezeigt.

Durch einen Klick auf die Uhr wird der Timer gelöscht (betroffene Clients/Subnetze können weiter ins Netz).

Ein Klick auf das Schloss bewirkt, das wird der Timer gelöscht wird und betroffene Clients/Subnetze sofort gesperrt werden.

#### 4.4 portforwarding-state

Zeigt an, welche Ports auf welchen Client im Netz weitergeleitet werden. Diese können einzeln Aktiviert (grün) und Deaktiviert werden (rot).

Es werden nur die Einstellungen aus der config/base.txt angezeigt.

#### 4.5 custom forwarding-state

Hier werden alle Portforwarding-Einstellungen aus der Table FORWARD aufgelistet. Angezeigt werden nur die Filter, die auch auf ACCEPT stehen, und deren Protokoll genau angegeben ist.(also kein ALL)

Diese können über das X auch einzeln gelöscht werden.

Unter add Custom Portfowarding kann man eigene Einstellungen vornehmen. Angegeben wird das Protokoll, die Ziel-IP (also der Client auf den weitergeleitet werden soll) und die ports.

Zu beachten ist, das ein ganzer Port-Bereich mit Port1:Port2 angeben werden muss!

Die Einstellungen unter advanced Portforwarding können auch gespeichert werden.

Die Werte werden unter /tmp gespeichert. Das Verzeichnis sollte daher auf der Diskette,Festplatte etc. liegen.

#### 4.7 Variablen in der cgiconfig2.txt

OPT_CGICONFIG2='yes' | das CGICONFIG2-Package an-/ausschalten |

Gruss,
Benjamin Hering
bosborros@gmx.net

Ich habe das Original für Fli4l v2.0.X als Vorlage genommen. Es stammt von
Daniel H. Reichelt