Das Captive Portal leitet einen HTTP-Client in einem Netzwerk auf eine spezielle Webseite (sog. Landingpage) um, bevor dieser sich normal in das Internet verbinden kann. So muss die Annahme der Nutzungsbedingung erfolgen und es kann eine zusätzliche Authentifizierung konfiguriert werden.
Ab Version 12 kann die UTM ACME Zertifikate verwalten. (Let's Encrypt) Es wird empfohlen entweder ein ACME-Zertifikat oder ein käuflich erworbenes Zertifikat von einer offiziellen CA (oder ein bereits vorhandenes Wildcardzertifikat) für das Captive Portal zu verwenden, um späteren Irritationen wegen Warnmeldungen des Browsers vorzubeugen.
Planung
Folgende Aspekte sollten vor der Konfiguration bedacht werden:
Für welche Netze soll das Captive Portal konfiguriert werden? Werden ausschließlich alle potentiellen Nutzer erreicht?
Wie und von wem werden die Nutzungsbedingungen geschrieben?
Soll eine Authentifizierung stattfinden?
Welche internen Webserver dürfen aus dem Netz hinter dem Captive Portal nicht erreicht werden?
Für eine Nutzung des Captive Portals müssen nur wenige Vorbereitungen getroffen werden:
Es muss ein Zertifikat für die Landingpage zur Verfügung stehen
Implizite und Portfilteregeln müssen den Zugriff erlauben
Ein Ändern des Firewallnamens ist seit v12 nicht mehr erforderlich. Der Hostname der Portalseite wird unter → Anwendungen →Captive PortalReiter Allgemein konfiguriert.
Zertifikat bereit stellen
ACME-Zertifikat erstellen
Um ACME Zertifikate (Let's Encrypt) nutzen zu können sind folgende Schritte erofrderlich:
ACME Dienst aktivieren
ACME Challenge Token auf spDyn generieren
Zertifikat anlegen
SAN mit dem spDyn Hostnamen und dem Token hinzufügen
Zertifikat erstellen
ACME Dienst aktivieren
ACME Dienst aktivieren
ACME Zertifikate (Let's Encrypt)
Um ACME Zertifikate nutzen zu können muss der Dienst im Reiter ACME zunächst aktiviert werden
ACME-DienstEin Dienst aktivieren
Sobald der Dienst aktiviert wurde, wird der Link zu den Nutzungsbedingungen geladen und es lassen sich die Einstellungen aufrufen
Mit der Schaltfläche AktivierenJa und dem hinterlegen einer E-Mail Adresse für Benachrichtigungen durch den ACME Dienstanbieter (hier: Let's Encrypt) lassen sich die Angaben Speichern
Daraufhin wird ein Dialog eingeblendet mit einem Link zu den Nutzungsbedingungen, die akzeptiert Ja werden müssen.
ACME-DienstEin Dienst aktivieren
Sobald der Dienst aktiviert wurde, wird der Link zu den Nutzungsbedingungen geladen und es lassen sich die Einstellungen aufrufen
Mit der Schaltfläche AktivierenJa und dem hinterlegen einer E-Mail Adresse für Benachrichtigungen durch den ACME Dienstanbieter (hier: Let's Encrypt) lassen sich die Angaben Speichern
Daraufhin wird ein Dialog eingeblendet mit einem Link zu den Nutzungsbedingungen, die akzeptiert Ja werden müssen.
Daraufhin wird eine Registrierung bei dem ACME Dienstanbieter durchgeführt
Die erfolgreiche Registrierung wird mit dem Status OK angezeigt.
Token generieren
Token generieren
spDYN Für die Erzeugung der Zertifikate ist zunächst der ACME-Token im spDYN Portal zu generieren. Innerhalb des spDYN-Portals ist der entsprechende Host zu öffnen.
spDyn Host aufrufen
Im Dropdown Menü für Token den ACME Challenge Token wählen
Token generieren
Der Token wird einmal bei der Generierung angezeigt und kann nicht erneut angezeigt werden.
Der Token sollte notiert und sicher aufbewahrt werden.
spDyn Host aufrufen
Im Dropdown Menü für Token den ACME Challenge Token wählen
Token generieren
Der Token wird einmal bei der Generierung angezeigt und kann nicht erneut angezeigt werden. Der Token sollte notiert und sicher aufbewahrt werden.
ACME-Zertifikate
ACME-Zertifikate
Nach Abschluss der vorherigen Schritte kann nun das eigentliche Zertifikat erzeugt werden. Ein Klick im Reiter Zertifikate auf ACME-Zertifikat hinzufügen öffnet den entsprechenden Dialog.
Subject Alternative Name konfigurieren mit SAN hinzufügen
Subject Alternative Name hinzufügen
Subject Alternative Name
» ✕ttt-point.spdns.org
Der Subject Alternative Name (SAN) wird im Zertifikat hinterlegt und entspricht der aufegrufenen URL
Subject Alternative Name hinzufügen
» ✕*.ttt-point.spdns.org
Es können auch Wildcard-SANs verwendet werden.
ab v12.1.9
Für die Verwendung mit einem Captive Portal werden Wildcard-Zertifikate benötigtWird für das Captive Portal im Nameserver eine Forward-Zone benötigt und für diese dann ein A-Record eingetragen, wird dieser nicht mehr im öffentlichen DNS aufgelöst. Die Überprüfung und Verlängerung eines ACME-Zertifikates auf diesen Namen schlägt dann fehl.
Alias
ttt-point.spdns.org
Ist der SAN ein spDYN Hostname wird er automatisch als Alias übernommen. (Auch bei Wildcard-Domännen ohne *
ab v12.1.9)
Token
•••••••••••••
Der Token aus dem spDYN-Portal (s.o.) belegt dem ACME-Dienst, daß man über den Hostnamen verfügen darf. zeigt den Token an.
Beim Einfügen des Tokens aus der Zwischenablage kann es vorkommen, daß vor oder nach dem eigentlichen Token Leerzeichen enthalten sind. Diese müssen entfernt werden
Speichern
Konfiguration prüfen
Konfiguration prüfen
Status
Noch nicht geprüft
Vor der eigentlichen Generierung des Zertifiaktes muss zunächst die Konfiguration geprüft werden. Dies erfolgt durch einen Klick auf die Schaltfläche Konfiguration prüfen.
initialisieren Initialisiert
Die Überprüfung kann mehrere Minuten in Anspruch nehmen. Dabei wird der Dialog regelmäßig aktualisiert.
Gültig
Ist die Überprüfung erfolgreich wird der Status Gültig angezeigt.
DNS Fehler
Mögliche Ursachen:
falscher Token
DNS Auflösung gestört
Zonen Weiterleitung im DNS konfiguriert
lokale DNS-Zone im DNS konfiguriert
Falls im Nameserver der UTM eine Zone für eine Domain liegt, welche auch das ACME-Zertifikat nutzt, schlägt die DNS Auflösung fehl. Lösung: Für diese Zone einen CNAME-Eintrag für diese Domain erstellen.• Unter Menu/Anwendungen/Nameserver/Zonen nach der Zone suchen • auf Bearbeiten klicken • Im Fenster auf +Eintrag hinzufügen klicken • unter Name: einen passenden Namen eintragen • bei Typ:CNAME auswählen • bei Wert: die Domaine eintragen
Subject Alternative Name für eine externe DNS-Zone konfigurieren mit SAN hinzufügen
SAN für externe DNS-Zone hinzufügen
Subject Alternative Name
ttt-point.anyideas.org
Der Subject Alternative Name (SAN) aus der externen DNS-Zone
Alias
ttt-point.spdns.org
Der Alias muss auch für die externe DNS auf den spDYN Namen lauten.
DNS-Provider
Beim DNS-Provider, der die externe Zone hostet (hier: ttt-point.de) muss ein zusätzlicher CNAME-Record mit dem Prefix _acme-challenge und dem anschließenden Hostnamen angelegt werden und entsprechend auf den zugehörigen spDYN-Record mit vorangestellten _acme-challenge verwiesen. _acme-challenge.ttt-point.spdns.org. (Mit "." am Ende!)
Ein beispielhafter Auszug aus einem Zonefile für die Konfiguration der beiden Hostnamen mx.ttt-point.de und exchange.ttt-point.de sieht wie folgt aus:
_acme-challenge.mx.ttt-point.de. IN CNAME _acme-challenge.ttt-point.spdns.org.
_acme-challenge.exchange.ttt-point.de. IN CNAME _acme-challenge.ttt-point.spdns.org.
Der Hostname muss im öffentlichen DNS auflösbar sein. Die Erstellung von Zertifkaten für .local, .lan, etc. Zonen ist nicht möglich.
Die UTM muss den Hostnamen über externe Nameserver korrekt auflösen können.
Ist die interne und die externe/öffentliche Domain identisch, sollte ein Wildcard-ACME-Zertifikat verwendet werden. Beispiel: Hostname für das Captive Portal: portal.ttt-point.de → ACME Zertifikat: *.ttt-point.de
Konfiguration prüfen
Weitere SANs können hinzugefügt und geprüft werden, solang die Schaltfläche Speichern noch nicht betätigt wurde.
Status
Gültig
Sind alle benötigten SAN erolfgreich geprüft, kann das Zertifikat gespeichert werden.
Speichern
Nach dem Speichern des Zertifikates lassen sich keine Änderungen mehr vornehmen. Es kann lediglich bei bestehenden SANs der Alias und der Token geändert werden.
Werden zusätzliche oder andere SANs benötigt muss ein neues Zertifikat angelegt und das Bestehende widerrufen werden.
Erstellung des ACME Zertifikates
Erstellung des ACME Zertifikates
Speichern
Wurden die vorherigen Schritte erfolgreich abgeschlossen wird durch einen Klick auf Speichern der eigentliche Prozess zur Validierung und Generierung des Zertifikates angestoßen.
Dieser Vorgang kann einige Zeit in Anspruch nehmen. Um den Status zu aktualiseren ist der Dialog manuell neu zu laden.
Gekauftes Zertifikat
Alternativ kann auch ein gekauftes Zertifikat importiert werden
Grundsätzlich bestehen hier zwei Optionen:
Ein Zertifikat für einen FQDN
in diesem Fall wäre der Common Name des Zertifikats portal.anyideas.de
Ein Wildcardzertifikat
in diesem Fall wäre der Common Name des Zertifikats *.anyideas.de
Im ersten Schritt muss die, zusammen mit dem Zertifikat zur Verfügung gestellte CA, in die UTM importiert werden. Menü → Authentifizierung →Zertifikate Reiter CA Schaltfläche CA importieren
Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt. Menü → Authentifizierung →Zertifikate Reiter Zertifikate Schaltfläche Zertifikat importieren
Importierte Zertifikate und CAs müssen im PEM-Format (Dateiendung meist .pem) oder PKCS12-Format (Dateiendung meist .p12 oder .pfx) vorliegen.
Mit dem für alle gängigen Plattformen erhältlichen Tool openssl (Bestandteil von Linux, Aufruf über die Konsole) und den folgenden Befehlen können Zertifikate konvertiert werden:
Die UTM kann auch ein eigenes Zertifikat bereitstellen
Unter → Authentifizierung →ZertifikateReiter CA muss eine CA angelegt sein
Unter → Authentifizierung →ZertifikateReiter Zertifikate muss ein Server-Zertifikat angelegt werden. Es sollte für das Captive-Portal eine eigenes Zertifikat erstellt werden, damit dieses auch ohne Auswirkungen auf andere Verbindungen oder Anwendungen im Bedarfsfall widerrufen werden kann.
Wie ein Zertifikat auf der UTM erstellt werden kann, ist hier zu lesen.
Da diese Zertifikat von einer eigenen CA erstellt wird, kann es von einem Browser nicht auf Echtheit überprüft werden. Der Nutzer erhält eine Warnmeldung, in der einmalig die Vertrauenswürdigkeit bestätigt werden muss.
Captive Portal Benutzer
Captive Portal Benutzer
Captive Portal Benutzer müssen sich, wenn sie sich mit einem entsprechend konfigurierten Netzwerk verbinden, authentifizieren und den Nutzungsbedingungen zustimmen. Erst danach wird der Netzzugang - gemäß den Portfilterregeln freigegeben.
Firewall-Benutzer, die Mitglied einer Gruppe mit der Berechtigung Userinterface Adminstrator Ein sind (→ Authentifizierung →BenutzerReiter Guppen Schaltfläche ) können die Captive Portal Benutzerverwaltung über das User-Interface (im Standard Port 443) erreichen
Benutzer hinzufügen
Benutzer hinzufügen
Captive Portal Benutzer können verwaltet werden von:
Administratoren
Benutzern, die Mitglied einer Gruppe mit der Berechtigung Userinterface Administrator sind. Diese erreichen die Benutzerverwaltung über das Userinterface.
Beschriftung
Wert
Beschreibung
Anmeldename:
user-DIW-ATS-K5C
Zufällig generierter Anmeldename. Einmal generierte Anmeldenamen lassen sich nach dem Speichern nicht mehr ändern.
Passwort:
FWF-II7-4NB-GXQ-URC
Zufällig generiertes Passwort Anmeldename und Passwort können mit der Schaltfläche neu generiert werden. Einaml gespeicherte Passöwrter lassen sich nicht erneut anzeigen.
Ablaufdatum:
yyyy-mm-dd hh:mm:ss
Begrenzt die Gültigkeit der Zugangsdaten
/ Neu ab v12.2.2
Mit diesen Schaltflächen lässt sich das Ablaufdatum um 24 Stunden ab dem aktuellen Zeitpunkt verkürzen (-) oder verlängern (+)
Drucken und speichern
Speichert und schließt den Dialog, erzeugt eine html-Seite mit dem Usernamen und dem Passwort und öffnet den Druck-Dialog
Speichern
Speichert die Angaben und schließt den Dialog.
Das Passwort läßt sich anschließend nicht mehr anzeigen. Es kann jedoch jederzeit ein neues Passwort erzeugt werden .
Schließen
Schließt den Dialog, ohne Änderungen zu speichern.
weggefallen mit v12.1:
Entfall mit 12.1:
neu ab v12:
Implizite Regeln
Firewall - Implizite Regeln
Menü → Firewall →Implizite Regeln Gruppe EinCaptive Portal
Unter dem Punkt Captive Portal im Menü Implizite Regeln muss sichergestellt sein, dass beide Regeln aktiviert sind. Der Schalter CaptivePortalPage öffnet einen eingehenden Port auf dem entsprechenden Interface der Firewall, dass für das Captive Portal vorgesehen ist, um die Landingpage anzeigen zu können.
Der Schalter CaptivePortalRedirection ist, wie der Name schon sagt, für die dazugehörige Umleitung der Traffics auf den oben genannten Port zuständig.
Portfilter
Firewall - Portfilter IP
Im Portfilter ist eine Regel erforderlich, die den Zugriff der Captive Portal Benutzer auf das Internet ermöglicht. Alternativ kann auch in den Captive Portal Einstellungen mit der Schaltfläche im Reiter Allgemein eine autogenerierte any-Regel erzeugt werden.
1. Regel
╭╴ Quelle: ╶╮
captive_portal
╭╴ Ziel: ╶╮
internet
╭╴ Dienst ╶╮
default-internet
╭╴ [–] NAT ╶╮
╭╴ Typ: ╶╮
HideNAT
╭╴ Netzwerkobjekt ╶╮
external-interface
Hinzufügen und schließen
Regeln aktualisieren
Einstellungen im Captive Portal
Menü → Anwendungen →Captive Portal
Allgemein
Beschriftung
Wert
Beschreibung
Reiter Allgemein
Captive Portal:
Ein
Dieser Schalter aktiviert oder deaktiviert das Captive Portal
Implizite Regeln:
Zeigt grün, wenn die impliziten Regeln des Captive Portals aktiviert sind. Bei gelb werden diese Regeln nicht verwendet.
Portfilter Regel:
Zeigt grün, wenn Portfilterregeln für das Captive Portal existieren.
Mit der + Schaltfläche kann eine autogenerierte any-Regel erzeugt werden. Schöner, aber aufwendiger sind Regeln, die nur ein ausgewähltes Netz freigeben.
Hostname der Portalseite:
portal.anyideas.de
Dieser sollte, bei einem Zertifikat für einen FQDN, dem Common Name des Zertifikats entsprechen. Bei einem Wildcardzertifikat muss der Hostname der Antwort auf eine DNS-Anfrage des Clients entsprechen.
Zertifikat:
ttt-Point (ACME)
Bitte das oben erwähnte Zertifikat auswählen.
Netzwerkobjekte:
× wlan-0-network (wlan0)
In diesem Feld bitte die Netzwerkobjekte auswählen, welche die Netze repräsentieren, die auf die Landingpage umgeleitet werden sollen.
Erweitert
Erweitert
Authentifizierung:
Ein
Hier kann, wenn gewünscht, eine Authentifizierung erzwungen werden.
Reiter Erweitert
Port der Portalseite:
8085
Es muss ein Port für das Captive Portal definiert sein, dieser kann aber geändert werden.
Maximale Verbindungszeit:
1800
Der Zeitrahmen, in dem eine Anmeldung im Captive Portal gültig ist. Ist die voreingestellte Zeit abgelaufen, wird der Web-Zugriff ins Internet gesperrt und eine erneute Bestätigung der Nutzungsbedingungen (und, wenn gewünscht, der Authentifizierung) ist von notwendig.
Designs
Designs
Das Captive Portal kann und muss individuell angepasst werden.
In jedem Fall müssen die Nutzungsbedingungen angegeben werden.
Es kann für jede Sprache ein Design angelegt werden.
Es ist ausreichend, diejenigen Angaben einzutragen, die zum Fallback Design geändert sind.
Das Falbackdesign benötigt zwingend alle Angaben
Aufruf mit der Schaltfläche zum Bearbeiten oder Design hinzufügen
Reiter Designs
Branding
Aufruf mit der Schaltfläche zum Bearbeiten oder Design hinzufügen
Reiter Branding
Nutzungsbedingungen
Nutzungsbedingungen:
Nutzungsbedingungen/Terms of Use
Hier müssen eigene Nutzungsbedingungen aufgeführt werden. Aus Haftungsgründen können wir diese leider nicht bereitstellen. Wir empfehlen aus den gleichen Gründen, einen Anwalt hinzu zu ziehen.
Reiter Nutzungsbedingungen
Übersetzungen
Übersetzungen für die Beschriftungen. Fehlt eine Übersetzung, wird der Wert der Default-Sprache verwendet.
Reiter Übersetzungen
Nameserver
Menü → Anwendungen →Nameserver Reiter Zonen
Wenn der Firewallname nicht auf einen FQDN geändert werden kann, weil zum Beispiel die UTM als ausgehendes Mailrelay verwendet wird muss zusätzlich der Nameserver der Firewall genutzt werden.In diesem Beispiel wird davon ausgegangen, dass die Firewall für das Netz des Captive Portals der zuständige DHCP-Server ist und als primären DNS-Server eingerichtet ist.
Forward-Zone hinzufügen
Schaltfläche Forward-Zone hinzufügen
Der zu vergebende Zonenname entspricht der Landingpage des Captive Portals. Im Beispiel portal.anyideas.de.
Als Hostname des Nameservers wird localhost verwendet.
Das Feld der IP-Adresse kann leer gelassen werden.
Schritt 1 Zonennameportal.anyideas.de
Schritt 2 Nameserver Hostnameloacalhost
Schritt 3 IP-Adressekann leer gelassen werden
Forward-Zone bearbeiten
Nameserver - A-Record mit IP-Adresse
Der soeben erstellten Zone wird folgender Eintrag hinzu gefügt → Schaltfläche Eintrag hinzufügen :
Beschriftung
Wert
Beschreibung
Name:
portal.anyideas.de.
FQDN der Zone für das Captive Portal
Mit . Punkt am Ende
Typ:
A
A-Record
Wert
192.168.100.1
IP der Schnittstelle, über die das Captive Portal erreicht werden soll (hier wlan0 )
Transparenter Modus
HTTP-Proxy - Transparenter Proxy
Menü → Anwendungen →HTTP-Proxy Reiter Transparenter Modus
Für den Zugriff auf das Internet über den benötigten HTTP-Proxy ist mindestens eine Regel notwendig (HTTP), besser zwei (zusätzlich HTTPS)
Beschriftung
Wert
Schaltfläche Transparente Regel hinzufügen
Protokoll:
HTTP
Typ:
include
Quelle:
wlan-0-network
Ziel:
internet
Beschriftung
Wert
Speichern
Für den Zugriff auf https-Seiten muss zusätzlich im Reiter SSL-Interception die SSL-InterceptionEin aktiviert sein. (Benötigt ein CA-Zertifikat der UTM)
Protokoll:
HTTPS
Typ:
include
Quelle:
wlan-0-network
Ziel:
internet
Webfilter
Abschließend sollte noch der Webfilter konfiguriert werden. Da über den Proxy gesurft wird ist ohne Regel im Portfilter ein Zugriff auf z.B. interne Webserver möglich.Folgende Schritte sind durchzuführen:
mit Authentifizierung
→ Firewall →PortfilterReiter Netzwerkobjekte Schaltfläche Gruppe hinzufügen Erstellen einer Gruppe (z.B. grp_CP_webfilter), die das wlan-0-network-Netzwerkobjekt beinhaltet