Router-Setup

Früher waren Feld-, Wald- und Wiesenrouter schlau genug, um Port-Umleitungen selber zu verwalten, so dass eigentlich die ganze Firewall-Geschichte auf dem Router gelöst werden konnte. Heute bieten Router oftmals nur DMZ und setzen damit eine Firewall auf oder vor dem Server voraus. Bei uns ist der Reserve-Router 'Linksys' unter der 'Phoenix'-Firmware so ein Router, der fast alles kann. Die neuere Fritzbox kann viel, aber keine vernünftige Port-Umleitung. Darum stellt sie nur die primäre Firewall dar und bietet Dienste (Stichwort: 'Freigaben') in's Internet an. Port-Forwarding ist dann auf dem Server gelöst.

Apache 2

Apache ist so konfiguriert, dass es auf den Ports 80, 8080 und 10443 lauscht. 10443 ist HTTPS + 10000, 8080 ein üblicher Proxy-Port und 80 der ganz normale HTTP-Port.

Firewall

Auf HAPI ist noch nicht so lange eine Firewall 'fwbuilder' installiert. Eigentlich ist es nur ein Firewall-Konfigurationstool, da PC-Linuxe normalerweise Firewalls haben, welche aber ziemlich mühsam zu konfigurieren sind.

Per 'fwbuilder' ist vorerst nur das Port-Forwarding und das NAT für's VPN realisiert.

tap0 (nicht mehr verwendet) und tap1, das VPN-Interface, wird per NAT vom Rest der Infrastruktur isoliert.

Wenn der Zugriff aus dem Internet kommt, werden die Ports 1194 und 443 immer auf Port 443 (bei uns OpenVPN) geleitet. OpenVPN bei Zugriff auf HTTPS? Erklärung folgt gleich.

Um einem Problem mit der Sperre von Port 25 aus Mobilfunknetzen auszuweichen, werden Zugriffe auf Port 10025 auf Port 25 geleitet. Damit sind beide Ports gleichwertig.

Die Konfigurationsdatei ist unter /etc/fwbuilder/Hapi.fwb abgelegt.

OpenVPN

Das Meiste des unübliche Aufwands dient dazu, OpenVPN auf den Ports 443, 41194 und 1194 zu betreiben, ohne dass zuviele Subnetze konfiguriert werden müssen.

Port 41194 kann man gleich ausblenden, denn das ist die 'bridged'-Konfiguration des OpenVPN, zur Anbindung externer Arbeitsplätze.

Die Ports 443 und 1194 sind aber gleichwertig und laufen im NAT-Subnetz 192.168.102.0/24. Das dient zur Anbindung der TS400 und später vielleicht anderer wenig vertrauenswürdiger Geräte und Stationen. Man gelangt nur auf den Kommunikationsserver 'HAPI' und nicht weiter auf's lokale Netz. Andersrum kann jeder aus dem lokalen Netz auf diese Geräte zugreifen. Zudem sorgt OpenVPN dafür, das die Geräte untereinander nicht kommunizieren können.

Port 1194 ist der Standard-Port nach IANA. Er wird per fwuilder auf den Port 443 gelegt. Das macht auf den ersten Blick wenig Sinn.

OpenVPN ist aber so konfiguriert, dass es bei Zugriffen, die nicht das OpenVPN-Protokoll 'sprechen', automatisch eine Proxy-Verbindung zu einem definierten Server aufbaut. Der Server ist diesmal HAPI auf Port 10443. Wenn also jemand per HTTPS von extern auf unseren Server zugreift, so wird dies per Router und Firewall auf OpenVPN umgeleitet. OpenVPN erkennt nun, ob eine VPN-Verbindung aufgebaut werden soll. Falls nicht VPN, stellt es die Verbindung zum Web-Server durch. Durch dieses Port-Sharing können simultan beide Dienste auf dem gleichen Port angeboten werden. Falls die Firewall bei einem Kunden keine Verbindung auf Port 1194 zulässt, wird sicherlich Port 443 irgendwie benutzt werden können, vielleicht über einen lokalen Proxy, was OpenVPN auch regeln kann.