Wechseln zu:Navigation, Suche
Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{DISPLAYTITLE:Captive Portal mit lokal generierten Zertifikaten}}
{{DISPLAYTITLE:Captive Portal mit einem lokal generierten Zertifikat}}
= Einleitung =
= Servereinstellungen =
Das Captive Portal leitet einen HTTP-Client in einem Netzwerk auf eine spezielle Webseite um, bevor dieser sich normal in das Internet verbinden kann. So muss die Annahme der Nutzungsbedingung erfolgen und kann eine zusätzliche Authentifizierung konfiguriert werden.
[[Datei:CP_servereinstellunge.png| thumb| 350px|<font size=1>Servereinstellungen - FQHN & DNS-Server</font>]]
 
== FQHN anpassen ==
= Planung =
Der Firewallname sollte als FQHN definiert sein. In unserem Beispiel hier wird dies 'portal.anyideas.de' sein.
Folgende Aspekte sollten vor der Konfiguration bedacht werden:
* Für welche Netze soll das Captive Portal konfiguriert werden?
* Wie und von wem werden die Nutzungsbedingungen geschrieben?
* Soll eine Authentifizierung stattfinden?
* Spricht etwas gegen die Konfiguration des Firewallnamen auf einen [https://de.wikipedia.org/wiki/Fully-Qualified_Host_Name FQHN]
 
= Umsetzung =
 
== FQHN der Firewall anpassen ==
Der Hostname der Firewall sollte als FQHN definiert sein. In unserem Beispiel hier wird dies 'portal.anyideas.de' sein.
Dies ist nötig, damit später die Auflösung der Landingpage des Captive Portals mit dem Zertifikat zusammenspielt.
Dies ist nötig, damit später die Auflösung der Landingpage des Captive Portals mit dem Zertifikat zusammenspielt.
Sollte ein Wechsel des Hostnamen nicht möglich sein, weil die Firewall zum Beispiel als ausgehendes Mailrelay benutzt wird, achten Sie bitte explizit auf den Eintrag Nameserver.
Sollte ein Wechsel des Hostnamen nicht möglich sein, weil die Firewall zum Beispiel als ausgehendes Mailrelay benutzt wird, achten Sie bitte explizit auf den Eintrag Nameserver.


== DNS-Server eintragen ==
== DNS-Server eintragen ==
[[Datei:CP_servereinstellunge.png| thumb| 450px|<font size=1>Servereinstellungen - FQHN & DNS-Server</font>]]
Als primären Nameserver tragen Sie bitte den Localhost (hier 127.0.0.1) ein. Als sekundärer Nameserver hat sich in der Vergangheit 'google-public-dns-a.google.com' durch eine schnelle Antwortzeit und hohe Verfügbarkeit bewährt.
Als primären Nameserver tragen Sie bitte den Localhost (hier 127.0.0.1) ein. Als sekundärer Nameserver hat sich in der Vergangheit 'google-public-dns-a.google.com' durch eine schnelle Antwortzeit und hohe Verfügbarkeit bewährt.
<br><br><br><br>
<br><br><br><br><br>
<br><br><br><br>
 
<br><br><br><br>
= Zertifikate importieren =
<br><br><br><br>
<br>
== Zertifikate erstellen ==
[[Datei:Captiveportal zertifikat.png| thumb| 450px|<font size=1>Zertifikate - extern & lokal</font>]]
Da die Landingpage des Captive Portals eine HTTPS-Website ist muss im nächsten Schritt für das benötigte Zertifikat gesorgt werden. Wir empfehlen hier ausdrücklich ein Zertifikat von einer offiziellen CA zu erwerben (oder ein bereits vorhandenes Wildcardzertifikat zu verwenden), um späteren Irritationen wegen Warnmeldungen des Browsers vorzubeugen.
Da die Landingpage des Captive Portals eine HTTPS-Website ist muss im nächsten Schritt für das benötigte Zertifikat gesorgt werden. Wir empfehlen hier ausdrücklich ein Zertifikat von einer offiziellen CA zu erwerben (oder ein bereits vorhandenes Wildcardzertifikat zu verwenden), um späteren Irritationen wegen Warnmeldungen des Browsers vorzubeugen.
Ist der Erwerb eines solchen Zertifikats keine Option muss ein solches lokal auf dem Gerät erzeugt werden.
Grundsätzlich bestehen hier zwei Optionen:
Bei der lokalen Generierung des Zertifikats muss entweder der Common Name dem Hostnamen der Firewall entsprechen, oder, so eine konsistente Namensgebung der Zertifikate auf der Firewall dies verhindert, der Hostname der Firewall als Alias des Typs DNS eingetragen werden.
* Ein Zertifikat für einen FQHN
<br><br><br><br>
** in diesem Fall wäre der Common Name des Zertifikats 'portal.anyideas.de'
<br><br><br><br>
* Ein Wildcardzertifikat
<br><br><br><br>
** in diesem Fall wäre der Common Name des Zertifikats '*.anyideas.de'
<br><br><br><br>
 
<br>
Im ersten Schritt muss die, zusammen mit dem Zertifikat zur Verfügung gestellte CA, in die UTM importiert werden.<br>
Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt.
 
Wenn Ihnen die Zertifikate im x509-Format zugestellt wurden können Sie diese mithilfe [ftp://ftp.alfru.net/help/ssl_securepoint.pdf dieser] Anleitung in das pem-Format umwandeln.


== ggf. Gruppe anlegen ==
= ggf. Gruppe anlegen =
[[Datei:CP gruppe.png| thumb| 450px|<font size=1>Benutzer - Gruppe anlegen & Rechte vergeben</font>]]
[[Datei:CP gruppe.png| thumb| 350px|<font size=1>Benutzer - Gruppe anlegen & Rechte vergeben</font>]]
Soll eine Authentifizierung der User am Captiv Portal erfolgen, muss im nächsten Schritt eine Gruppe mit den dafür nötigen Berechtigungen 'HTTP-Proxy' erstellt werden. Die Gruppe kann auf Wunsch und bestehender Integration in ein Active Directory auch auf einen im AD zu generierende Gruppe gemappt werden.
Soll eine Authentifizierung der User am Captiv Portal erfolgen, muss im nächsten Schritt eine Gruppe mit den dafür nötigen Berechtigungen 'HTTP-Proxy' erstellt werden. Die Gruppe kann auf Wunsch und bestehender Integration in ein Active Directory auch auf einen im AD zu generierende Gruppe gemappt werden.
<br><br><br><br><br><br><br><br><br><br><br><br><br>


== Implizite Regeln ==
= Implizite Regeln =
[[Datei:CP Impliziete-regeln.PNG| thumb| 350px|<font size=1>Firewall - Implizite Regeln</font>]]
Bitte kontrollieren Sie an diesem Punkt ob die impliziten Regeln beide 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.
<br><br><br><br><br><br><br><br><br><br>


== Nameserver ==
= Captive Portal =
[[Datei:CP Proxy captive auth.PNG| thumb| 550px|<font size=1>HTTP-Proxy - Captive Portal</font>]]
== Captive Portal ==
Dieser Schalter aktiviert oder deaktviert das Captive Portal
== Authentifizierung ==
Hier kann, wenn gewünscht, eine Authentifizierung erzwungen werden.
== Zertifikat ==
Bitte das oben erwähnte Zertifikat auswählen.
== Maximale Verbindungszeit ==
Der Zeitrahmen, in dem eine Anmeldung im Captive Portal gültig ist.
Ist der Timer auf 0 wird der Zugriff ins Internet gesperrt und eine erneute Bestätigung der Nutzungsbedingungen (und, wenn gewünscht, der Authentifizierung) ist von Nöten.
== Hostname der Portalseite ==
Dieser sollte, bei einem Zertifikat für einen FQHN, dem Common Name des Zertifikats entsprechen.<br>
Bei einem Wildcardzertifikat muss der Hostname der Anwort auf eine DNS-Anfrage des Clients entsprechen.
== Port der Portalseite ==
Hier kann, wenn gewünscht ein Port für den Redirect spezifiziert werden.
Netzwerkobjekte
In diesem Feld bitte die Netzwerkobjekte auswählen, welche die Netze repräsentieren, welche auf die Landingpage umgeleitet werden sollen.
== Nutzungsbedingungen ==
Hier ist Platz für von Ihnen und/oder Ihrem Anwalt formulierten Nutzungsbedingungen.<br>
Dies können wir Ihnen leider aus Haftungsgründen nicht bereitstellen.
<br><br>


== Captive Portal ==
= transparenter Proxy =
[[Datei:CP_transparenter_proxy.png| thumb| 350px|<font size=1>HTTP-Proxy - Transparenter Proxy</font>]]
Hier sind zwei Regeln von Nöten:
# http | include | wlan0-network | internet
# http | exclude | wlan0-network | internal-network
Die erste Regel erlaubt den Zugriff auf das Internet.<br>
Die zweite Regel verhindert den Zugriff auf ggf. im internen Netz vorhandene Webserver.
<br><br><br><br><br><br><br><br><br><br>


== Webfilter ==
= Nameserver =
Wenn der Firewallname nicht auf einen FQHN 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 autoritative DHCP-Server ist und sich selbst als primären DNS-Server propagiert.
== Forward-Zone hinzufügen ==
Der zu vergebende Zonenname entspricht dem FQDN der Firewall. <br>
In unserem Fall ist dies 'portal.anyideas.de'.  <br>
Als Hostname des Nameserver tragen wir den 'localhost' ein.  <br>
Das Feld der IP-Adresse kann leer gelassen werden. <br>
[[Datei:CP_nameserver 1.png | 250px | <font size=1>Nameserver - Zonenname</font>]]
[[Datei:CP_nameserver 2.png | 250px | <font size=1>Nameserver - Nameserver Hostname</font>]]
[[Datei:CP_nameserver 3.png | 220px | <font size=1>Nameserver - Nameserver IP</font>]]
<br><br>
== Forward-Zone bearbeiten ==
[[Datei:CP_nameserver 4.png | 250px | thumb | <font size=1>Nameserver - Nameserver IP</font>]]
Anschließend bearbeiten wir die grade erstellte Zone und fügen folgenden Eintrag hinzu:<br>
Name: FQHN der Firewall <br>
Typ: A <br>
Wert: @ <br>
<br><br><br><br><br><br><br><br><br><br>


== Checkliste ==
= Portfilter =
Im Portfilter müssen abschließend noch zwei Regeln anlegt werden
# Quelle: captive_portal -> Ziel: internet | Dienst: any | NAT: HideNAT external-interface
# Quelle: wlan-0-network -> Ziel: wlan-interface | Dienst: proxy
[[Datei:CP_Portfilter.png | 250px | thumb | <font size=1>Firewall - Portfilter IP</font>]]
<br><br><br><br><br><br><br><br><br><br>
= Checkliste =

Version vom 14. Februar 2017, 16:02 Uhr

Servereinstellungen

Servereinstellungen - FQHN & DNS-Server

FQHN anpassen

Der Firewallname sollte als FQHN definiert sein. In unserem Beispiel hier wird dies 'portal.anyideas.de' sein. Dies ist nötig, damit später die Auflösung der Landingpage des Captive Portals mit dem Zertifikat zusammenspielt. Sollte ein Wechsel des Hostnamen nicht möglich sein, weil die Firewall zum Beispiel als ausgehendes Mailrelay benutzt wird, achten Sie bitte explizit auf den Eintrag Nameserver.

DNS-Server eintragen

Als primären Nameserver tragen Sie bitte den Localhost (hier 127.0.0.1) ein. Als sekundärer Nameserver hat sich in der Vergangheit 'google-public-dns-a.google.com' durch eine schnelle Antwortzeit und hohe Verfügbarkeit bewährt.




Zertifikate importieren

Da die Landingpage des Captive Portals eine HTTPS-Website ist muss im nächsten Schritt für das benötigte Zertifikat gesorgt werden. Wir empfehlen hier ausdrücklich ein Zertifikat von einer offiziellen CA zu erwerben (oder ein bereits vorhandenes Wildcardzertifikat zu verwenden), um späteren Irritationen wegen Warnmeldungen des Browsers vorzubeugen. Grundsätzlich bestehen hier zwei Optionen:

  • Ein Zertifikat für einen FQHN
    • 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.
Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt.

Wenn Ihnen die Zertifikate im x509-Format zugestellt wurden können Sie diese mithilfe dieser Anleitung in das pem-Format umwandeln.

ggf. Gruppe anlegen

Benutzer - Gruppe anlegen & Rechte vergeben

Soll eine Authentifizierung der User am Captiv Portal erfolgen, muss im nächsten Schritt eine Gruppe mit den dafür nötigen Berechtigungen 'HTTP-Proxy' erstellt werden. Die Gruppe kann auf Wunsch und bestehender Integration in ein Active Directory auch auf einen im AD zu generierende Gruppe gemappt werden.












Implizite Regeln

Firewall - Implizite Regeln

Bitte kontrollieren Sie an diesem Punkt ob die impliziten Regeln beide 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.









Captive Portal

HTTP-Proxy - Captive Portal

Captive Portal

Dieser Schalter aktiviert oder deaktviert das Captive Portal

Authentifizierung

Hier kann, wenn gewünscht, eine Authentifizierung erzwungen werden.

Zertifikat

Bitte das oben erwähnte Zertifikat auswählen.

Maximale Verbindungszeit

Der Zeitrahmen, in dem eine Anmeldung im Captive Portal gültig ist. Ist der Timer auf 0 wird der Zugriff ins Internet gesperrt und eine erneute Bestätigung der Nutzungsbedingungen (und, wenn gewünscht, der Authentifizierung) ist von Nöten.

Hostname der Portalseite

Dieser sollte, bei einem Zertifikat für einen FQHN, dem Common Name des Zertifikats entsprechen.
Bei einem Wildcardzertifikat muss der Hostname der Anwort auf eine DNS-Anfrage des Clients entsprechen.

Port der Portalseite

Hier kann, wenn gewünscht ein Port für den Redirect spezifiziert werden. Netzwerkobjekte In diesem Feld bitte die Netzwerkobjekte auswählen, welche die Netze repräsentieren, welche auf die Landingpage umgeleitet werden sollen.

Nutzungsbedingungen

Hier ist Platz für von Ihnen und/oder Ihrem Anwalt formulierten Nutzungsbedingungen.
Dies können wir Ihnen leider aus Haftungsgründen nicht bereitstellen.

transparenter Proxy

HTTP-Proxy - Transparenter Proxy

Hier sind zwei Regeln von Nöten:

  1. http | include | wlan0-network | internet
  2. http | exclude | wlan0-network | internal-network

Die erste Regel erlaubt den Zugriff auf das Internet.
Die zweite Regel verhindert den Zugriff auf ggf. im internen Netz vorhandene Webserver.









Nameserver

Wenn der Firewallname nicht auf einen FQHN 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 autoritative DHCP-Server ist und sich selbst als primären DNS-Server propagiert.

Forward-Zone hinzufügen

Der zu vergebende Zonenname entspricht dem FQDN der Firewall.
In unserem Fall ist dies 'portal.anyideas.de'.
Als Hostname des Nameserver tragen wir den 'localhost' ein.
Das Feld der IP-Adresse kann leer gelassen werden.
Nameserver - Zonenname Nameserver - Nameserver Hostname Nameserver - Nameserver IP

Forward-Zone bearbeiten

Nameserver - Nameserver IP

Anschließend bearbeiten wir die grade erstellte Zone und fügen folgenden Eintrag hinzu:
Name: FQHN der Firewall
Typ: A
Wert: @










Portfilter

Im Portfilter müssen abschließend noch zwei Regeln anlegt werden

  1. Quelle: captive_portal -> Ziel: internet | Dienst: any | NAT: HideNAT external-interface
  2. Quelle: wlan-0-network -> Ziel: wlan-interface | Dienst: proxy
Firewall - Portfilter IP











Checkliste