|
|
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| {{DISPLAYTITLE:Captive Portal mit einem lokal generierten Zertifikat}} | | {{set_lang}} |
| == Informationen ==
| |
| Letze Anpassung zur Version: '''11.7'''
| |
| <br>
| |
| Bemerkung: Neue Funktion in der UTM
| |
| <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 ====
| | {{#vardefine:headerIcon|spicon-utm}} |
| 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 erstellen ===
| |
| Da die Landingpage des Captive Portals eine HTTPS-Website ist muss im nächsten Schritt für das benötigte Zertifikat gesorgt werden. Wie ein Zertifikat auf der UTM erstellt werden kann, ist [[UTM/AUTH/Zertifikate | hier]] zu lesen.
| |
|
| |
|
| === ggf. Gruppe anlegen ===
| | {{var | local-cert |
| [[Datei:CP gruppe.png| thumb| 350px|<font size=1>Benutzer - Gruppe anlegen & Rechte vergeben</font>]]
| | | Lokales Zertifikat erzeugen |
| 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.
| | | Generate local certificate }} |
| <br>
| | {{var | öocal-cert--text |
| [[UTM/AUTH/Benutzerverwaltung | Hier]] wird erklärt, wie eine Benutzergruppe angelegt werden kann. | | | Die Landingpage des Captive Portals ist eine HTTPS-Website. Damit ein Browser diese Seite als Vertrauenswürdig einstufen kann, wird ein Zertifikat benötigt. |
| <br><br><br><br><br><br><br><br><br><br><br><br><br>
| | | The landing page of the captive portal is an HTTPS website. A certificate is required for a browser to classify this page as trustworthy. }} |
| | {{var | local-cert--list-ca |
| | | Unter {{Menu| Authentifizierung | Zertifikate | CA}} muss eine CA angelegt sein |
| | | At {{Menu| Authentication | Certificates | CA}} a CA must be created }} |
| | {{var | local-cert--list-CS |
| | | Unter {{Menu| Authentifizierung | Zertifikate | Zertifikate}} muss ein '''Server-'''Zertifikat angelegt werden. |
| | | At {{Menu| Authentication | Certificates | Certificates}} a '''Server-''' certificate must be created. }} |
| | {{var | local-cert--list-hint |
| | | 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. |
| | | A separate certificate should be created for the captive portal so that it can be revoked if necessary without affecting other connections or applications. }} |
| | {{var | link-cert |
| | | Wie ein Zertifikat auf der UTM erstellt werden kann, ist [[UTM/AUTH/Zertifikate | hier]] zu lesen. |
| | | How to create a certificate on the UTM can be read [[UTM/AUTH/Zertifikate | here]]. }} |
|
| |
|
| === 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 ===
| | </div>{{DISPLAYTITLE:Captive Portal mit einem lokal generierten Zertifikat}}{{Select_lang}}{{TOC2}} |
| [[Datei:CP Proxy captive auth.PNG| center| 600px|<font size=1>HTTP-Proxy - Captive Portal</font>]]
| | {{:UTM/APP/HTTP_Proxy-Captive_Portal_extern-lokal}} |
|
| |
|
| ====Captive Portal====
| |
| Dieser Schalter aktiviert oder deaktviert das Captive Portal
| |
| ==== Authentifizierung ====
| |
| Hier kann, wenn gewünscht, eine Authentifizierung erzwungen werden.
| |
|
| |
|
| ==== Zertifikat ==== | | === {{#var:local-cert| Lokales Zertifikat erzeugen }} === |
| Bitte das oben erwähnte Zertifikat auswählen.
| | <p>{{#var:öocal-cert--text| Da die Landingpage des Captive Portals eine HTTPS-Website ist muss im nächsten Schritt für das benötigte Zertifikat gesorgt werden. }} </p> |
| ==== Maximale Verbindungszeit ====
| | * {{#var:local-cert--list-ca| Unter {{Menu| Authentifizierung | Zertifikate | CA}} muss eine CA angelegt sein }} |
| Der Zeitrahmen, in dem eine Anmeldung im Captive Portal gültig ist.
| | * {{#var:local-cert--list-CS| Unter {{Menu| Authentifizierung | Zertifikate | Zertifikate}} muss ein '''Server-'''Zertifikat angelegt werden. }} {{Info | {{#var:local-cert--list-hint| 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. }}}} |
| 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.
| |
| ==== Hostname der Portalseite ====
| |
| Dieser sollte, bei einem Zertifikat für einen FQDN, 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 ====
| |
| Es muss ein Port für das Captive Portal definiert sein, dieser kann aber geändert 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>
| |
|
| |
|
| === transparenter Proxy ===
| | {{#var:link-cert| Wie ein Zertifikat auf der UTM erstellt werden kann, ist [[UTM/AUTH/Zertifikate | hier]] zu lesen. }} |
| [[Datei:CP_transparenter_proxy.png| thumb| 350px|<font size=1>HTTP-Proxy - Transparenter Proxy</font>]] | |
| 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>
| |
|
| |
|
| === 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>
| |
|
| |
|
| ==== Forward-Zone bearbeiten ====
| | ---- |
| [[Datei:Nameserver-A.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>
| |
| <br>
| |
| Name: FQDN der Firewall
| |
| Typ: A
| |
| Wert: IP der Schnittstelle
| |
| <br><br><br><br><br><br><br><br><br><br><br>
| |
|
| |
|
| === Portfilter ===
| | {{:UTM/APP/HTTP_Proxy-Captive_Portal_extern-lokal2}} |
| [[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 ====
| |
| # Anwendungen | Webfilter | Profil hinzufügen
| |
| # Die Gruppe der Benutzer wählen
| |
| # neu generierten Regelsatz bearbeiten
| |
| ## URL des internen Webserver hinzufügen
| |
| ## Aktion auf 'blockieren' stellen
| |
| <br>
| |