Wechseln zu:Navigation, Suche
Wiki
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{DISPLAYTITLE:Captive Portal mit einem käuflich erworbenen Zertifikat}}
{{Set_lang}}
== Informationen ==
Letze Anpassung zur Version: '''11.7.3'''
<br>
Bemerkung: Artikel aktualisiert.
<br>
Vorherige Versionen: -
<br>
 
==Konfiguration des Captive-Portal==
=== Servereinstellungen ===
[[Datei:CP_servereinstellunge.png| thumb| 350px|<font size=1>Servereinstellungen - FQDN & DNS-Server</font>]]
==== Firewallname anpassen ====
Der Firewallname sollte als FQDN 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, muss auf den Nameservereintrag geachtet werden.
 
==== DNS-Server eintragen ====
Als primären Nameserver wird der Localhost (hier 127.0.0.1) eingetragen. 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>
=== 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 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.<br>
Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt.
 
Mit dem Tool ''openssl'' und den folgenden Befehlen können Zertifikate konvertiert werden:
* X509 zu PEM
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
* DER zu PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
* P7B zu PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
* PFX zu PEM
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
 
=== ggf. Gruppe anlegen ===
[[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 bei einer bestehender Integration in ein Active Directory auch auf eine im AD vorhandene oder zu generierende Gruppe gemappt werden.
<br>
[[UTM/AUTH/Benutzerverwaltung | Hier]] wird erklärt, wie eine Benutzergruppe angelegt werden kann.
<br><br><br><br><br><br><br><br><br><br><br><br><br>
 
=== Implizite Regeln ===
[[Datei:CP Impliziete-regeln.png| thumb| 350px|<font size=1>Firewall - Implizite Regeln</font>]]
Unter dem Punkt Captive Portal im Menü Implizite Regeln muss sichergestellt sein, dass beide Regeln aktiviert sind.<br>
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.<br>
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>
 
=== Einstellungen im Captive Portal ===
[[Datei:CP Proxy captive auth.PNG| center| 600px|<font size=1>HTTP-Proxy - Captive Portal</font>]]


====Captive Portal====
{{#vardefine:headerIcon|spicon-utm}}
Dieser Schalter aktiviert oder deaktviert das Captive Portal
==== Authentifizierung ====
Hier kann, wenn gewünscht, eine Authentifizierung erzwungen werden.


==== Zertifikat ====
{{var |CPEdisplay| Captive Portal mit einem käuflich erworbenen Zertifikat
Bitte das oben erwähnte Zertifikat auswählen.
| Captive Portal with a purchased certificate}}
==== Maximale Verbindungszeit ====
{{var |CPE1 | Zertifikate importieren
Der Zeitrahmen, in dem eine Anmeldung im Captive Portal gültig ist.  
| Importing certificates}}
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 Nöten.
{{var |CPE2 | 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.<br>Grundsätzlich bestehen hier zwei Optionen:
==== Hostname der Portalseite ====
| Since the landing page of the captive portal is a HTTPS website, the next step is to provide the required certificate. We strongly recommend to buy a certificate from an official CA (or to use an existing wildcard certificate) to avoid later irritations because of browser warnings.<br> Basically there are two options:}}
Dieser sollte, bei einem Zertifikat für einen FQDN, dem Common Name des Zertifikats entsprechen.<br>
{{var |CPE3 | Ein '''Zertifikat''' für einen '''FQDN'''
Bei einem Wildcardzertifikat muss der Hostname der Anwort auf eine DNS-Anfrage des Clients entsprechen.
| A '''Certificate''' for a '''FQDN'''}}
==== Port der Portalseite ====
{{var |CPE4 | in diesem Fall wäre der Common Name des Zertifikats ''portal.anyideas.de''
Es muss ein Port für das Captive Portal definiert sein, dieser kann aber geändert werden.
| in this case the common name of the certificate would be ''portal.anyideas.de''}}
==== Netzwerkobjekte ====
{{var |CPE5 | Ein '''Wildcardzertifikat'''
In diesem Feld bitte die Netzwerkobjekte auswählen, welche die Netze repräsentieren, welche auf die Landingpage umgeleitet werden sollen.
| A '''wildcard certificate'''}}
==== Nutzungsbedingungen ====
{{var |CPE6 | in diesem Fall wäre der Common Name des Zertifikats ''*.anyideas.de''
Hier ist Platz für von Ihnen und/oder Ihrem Anwalt formulierten Nutzungsbedingungen.<br>
| in which case the common name of the certificate would be ''*.anyideas.de'' }}
Dies können wir Ihnen leider aus Haftungsgründen nicht bereitstellen.
{{var |CPE7 | Im ersten Schritt muss die, zusammen mit dem Zertifikat zur Verfügung gestellte CA, in die UTM importiert werden.<br>Menü {{Menu| Authentifizierung | Zertifikate }} Reiter {{ Reiter | CA}} Schaltfläche {{ Button | CA importieren | u }}
<br><br>
| In the first step, the CA provided together with the certificate must be imported into the UTM.<br>Menu {{Menu| Authentication | Certificates }} Tab {{ Reiter | CA}} Button {{ Button | Import CA | u }} }}
{{var |CPE8 | Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt.<br>Menü {{Menu| Authentifizierung | Zertifikate }} Reiter {{ Reiter | Zertifikate}} Schaltfläche {{ Button | Zertifikat importieren|u}}
| In the first step, the CA provided together with the certificate must be imported into the UTM.<br>Menu {{Menu| Authentication | Certificates }} Tab {{ Reiter | CA }} Button {{ Button | Import CA | u }} }}
{{var |CPE9 | Die CA und das Zertifikat müssen im ''.pem''-Format vorliegen !
| The CA and the certificate must be in ''.pem'' format ! }}
{{var |CPE10 | Hinweise zur Konvertierung anzeigen
| Show notes on conversion }}
{{var |CPE11a | ausblenden
| hide }}
{{var |CPE11 | 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:
| Certificates can be converted with the tool ''openssl'' - available for all common platforms (part of Linux, call via console) - and the following commands: }}
{{var |CPE12 | Zertifikat
| Certificate }}
{{var |CPE13 | Befehl
| Command }}
{{var |CPE14 | zu PEM
| to PEM}}
{{var |CPE15 | openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
| openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem}}
{{var |CPE16 | openssl x509 -inform der -in certificate.cer -out certificate.pem
| openssl x509 -inform der -in certificate.cer -out certificate.pem }}
{{var |CPE17 | openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
| openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem }}
{{var |CPE18 | openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
| openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes }}


=== Nameserver ===
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 ====
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 | 212px | <font size=1>Nameserver - Nameserver IP</font>]]
<br><br>


=== transparenter Proxy ===
</div>{{Select_lang}}{{TOC2}}{{DISPLAYTITLE:{{#var:CPEdisplay| Captive Portal mit einem käuflich erworbenen Zertifikat}} }}
[[Datei:CP_transparenter_proxy.png| thumb| 350px|<font size=1>HTTP-Proxy - Transparenter Proxy</font>]]
{{:UTM/APP/HTTP_Proxy-Captive_Portal_extern-lokal}}
Hier ist eine Regel von Nöten:
http | include | wlan0-network | internet
<br>
Diese Regel erlaubt den Zugriff über den benötigten HTTP-Proxy ins Internet.
<br><br><br><br><br><br><br><br><br>


==== Forward-Zone bearbeiten ====
=== {{#var:CPE1| Zertifikate importieren}} ===
[[Datei:Nameserver-A.png | 250px | thumb | <font size=1>Nameserver - Nameserver IP</font>]]
{{#var:CPE2| 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.<br>
Anschließend bearbeiten wir die grade erstellte Zone und fügen folgenden Eintrag hinzu:<br>
Grundsätzlich bestehen hier zwei Optionen:}}
* {{#var:CPE3| Ein '''Zertifikat''' für einen '''FQDN'''}}
** {{#var:CPE4| in diesem Fall wäre der Common Name des Zertifikats ''portal.anyideas.de''}}
* {{#var:CPE5| Ein '''Wildcardzertifikat'''}}
** {{#var:CPE6| in diesem Fall wäre der Common Name des Zertifikats ''*.anyideas.de''}}
<br>
<br>
Name: FQDN der Firewall
# <p> {{#var:CPE7| Im ersten Schritt muss die, zusammen mit dem Zertifikat zur Verfügung gestellte CA, in die UTM importiert werden.<br>Menü {{Menu| Authentifizierung | Zertifikate }} Reiter {{ Reiter | CA }} Schaltfläche {{ Button | CA importieren | u }} }}</p>
Typ: A
# <p> {{#var:CPE8| Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt.<br>Menü {{Menu| Authentifizierung | Zertifikate }} Reiter {{ Reiter | Zertifikate}} Schaltfläche {{ Button | Zertifikat importieren|u}}}} </p>
Wert: IP der Schnittstelle (wlan0 z.B.)
<br><br><br><br><br><br><br><br><br><br><br>
 
=== Portfilter ===
[[Datei:CP_Portfilter.png | 250px | thumb | <font size=1>Firewall - Portfilter IP</font>]]
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
<br><br><br><br><br><br><br><br><br><br>
 
=== Webfilter ===
Abschließend sollte noch der Webfilter konfiguriert werden.
Da über den Proxy gesurft wird ist auch ohne Regel im Portfilter ein Zugriff auf interne Webserver möglich.
Folgende Schritte sind durchzuführen:
==== mit Authentifizierung ====
# Erstellen einer Gruppe (z.B. grp_CP_webfilter) im Portfilter | Netzwerkobjekte zu welcher das wlan-0-network-Netzwerkobjekt gehört hinzufügen.
# Anwendungen | Webfilter | Profil hinzufügen
# Die neu erstellte Gruppe wählen
# neu generierten Regelsatz bearbeiten
## URL des internen Webserver hinzufügen
## Aktion auf 'blockieren' stellen


==== ohne Authentifizierung ====
{{Hinweis|!}} {{#var:CPE9| Die CA und das Zertifikat müssen im ''.pem''-Format vorliegen !}}
# Anwendungen | Webfilter | Profil hinzufügen
{{Einblenden| {{#var:CPE10| Hinweise zur Konvertierung anzeigen}} | {{#var:CPE11a| ausblenden}} | true | dezent}}
# Die Gruppe der Benutzer wählen
{{#var:CPE11| 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:}}
# neu generierten Regelsatz bearbeiten
{| class="sptable pd5"
## URL des internen Webserver hinzufügen
! {{#var:CPE12| Zertifikat}} !! {{#var:CPE13| Befehl}}
## Aktion auf 'blockieren' stellen
|-
<br>
| X509 {{#var:CPE14| zu PEM}} || {{code | {{#var:CPE15| openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem}} }}
|-
| DER {{#var:CPE14|zu PEM}} || {{code | {{#var:CPE16| openssl x509 -inform der -in certificate.cer -out certificate.pem}} }}
|-
| P7B {{#var:CPE14|zu PEM}} || {{code | {{#var:CPE17| openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem}} }}
|-
| PFX {{#var:CPE14|zu PEM}} || {{code | {{#var:CPE18| openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes}} }}
|}
</span></div>
----
{{:UTM/APP/HTTP_Proxy-Captive_Portal_extern-lokal2}}

Version vom 11. Februar 2020, 11:51 Uhr








































De.png
En.png
Fr.png







































Konfiguration des Captive-Portal

Letzte Anpassung zur Version: 11.8.7


Neu:

  • Artikel aktualisiert
  • Übersetzung auf englisch
  • Regel für HTTPS mit SLL-Interception hinzugefügt

Vorherige Versionen: -


Servereinstellungen

Servereinstellungen - FQDN & DNS-Server

Menü → Netzwerk →Servereinstellungen Reiter Servereinstellungen

Firewallname anpassen

Der Firewallname sollte als FQDN definiert sein. (Im Beispiel portal.anyideas.de)
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, muss auf den Nameservereintrag geachtet werden.

Firewall
Firewallname portal.anyideas.de FQDN-konformer Firewallname

DNS-Server eintragen

Als primärer Nameserver wird der Localhost (hier 127.0.0.1) eingetragen. Als sekundärer Nameserver hat sich in der Vergangenheit 'google-public-dns-a.google.com' durch eine schnelle Antwortzeit und hohe Verfügbarkeit bewährt.

DNS-Server
Primärer Nameserver 127.0.0.1 Localhost
Sekundärer Nameserver 8.8.8.8 Möglicher Nameserver: google-public-dns-a.google.com



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 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


  1. 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

  2. Anschließend wird der gleiche Schritt für das eigentliche Zertifikat wiederholt.
    Menü → Authentifizierung →Zertifikate Reiter Zertifikate Schaltfläche Zertifikat importieren

Die CA und das Zertifikat müssen im .pem-Format 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:

Zertifikat Befehl
X509 zu PEM openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
DER zu PEM openssl x509 -inform der -in certificate.cer -out certificate.pem
P7B zu PEM openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
PFX zu PEM openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes

UTM/APP/HTTP Proxy-Captive Portal extern-lokal2