Direkt zur Hauptnavigation springen Direkt zum Inhalt springen Jump to sub navigation

Einführung

Was ist das "Voucher4guests"-Projekt?

Das Projekt „Voucher4guests“ hat sich zum Zieln gesetzt, ein Captive-Portal-System zu entwickeln. Das aus öffentlichen Netzwerken bereits bekannte System wurde speziell auf die Anforderungen der Gastnetzwerke der Max-Planck-Institute zugeschnitten. Das System soll dabei den kompletten organisatorischen Workflow, von der Ausgabe der Voucher bis zur Autorisierung der Geräte abdecken und konform mit allen Anforderungenan die Gastnetze in der MPG sein. Außerdem basiert es vollständig auf Open Source Software und ist hardwareunabhängig.

Funktionsweise

Nach der erfolgreichen Installation und Einrichtung des Systems können Voucher mit den Freischaltcodes über die Webanwendung erstellt werden.Dabei wird für jeden Voucher ein Datenbankeintrag erzeugt und ein PDF-Druckbogen zum Produzierender Voucher erstellt.

Sobald ein Gerät, welches sich im Gastnetzwerk befindet, Pakete in das Internet senden möchte,aber die MAC-Adresse auf dem Gateway noch nicht freigeschaltet wurde, werden diese Pakete verworfen. Ausgenommen davon sind HTTP-Pakete,welche auf die Login-Seite umgeleitet werden.

Nach der Freischaltung mit einem gültigen Voucher wird der Netzwerkverkehr weitergeleitet, ohne dass der Gast sich erneut authentifizieren muss. Über den Cron-Deamon wird täglich um Mitternacht eine Routine ausgeführt, welche die in der Datenbank vorhandene Voucher überprüft und bei abgelaufener Gültigkeit die Freischaltung der Geräte entfernt. Mithilfe der Liste (Namen, Voucher-ID, Unterschrift usw.), in welche sich der Nutzer bei der Ausgabe eingetragen hat, ist eine Identifikation möglich. Ist die MAC-Adresse bekannt, wird über die Datenbank die zugehörige Voucher-ID ermittelt, welche mit den Einträgen der Liste verglichen werden kann.

Was sind Voucher?

Ein Voucher ist eine kleine Papierkarte im A7 Format mit einem Freischaltcode. Diese werden vorproduziert und anschließend an die Gäste ausgegeben.Jeder Voucher hat dabei eine bestimmte Laufzeit,die festlegt, wie lange ein Gerät nach der Freischaltung Zugriff auf das Internet hat. Die Laufzeiten sind frei wählbar. Der kleinstmögliche Zeitraumist ein Tag. Außerdem lässt sich ihr Design beliebig anpassen. Neben dem Freischaltcode sind zusätzlich auch die Zugangsdaten für das WLAN auf dem Voucher aufgedruckt.Um zu verhindern, dass unbenutzte Voucher unbegrenzt gültig sind und zu „Leichen“ im System werden, besitzt jeder Voucher ein Verfallsdatum, ab dem es nicht mehr möglich ist, ihn zu verwenden.Dieses Verfallsdatum ist standardmäßig auf ein Jahr nach der Erstellung festgelegt.

Konverenz-Voucher

Für Konferenzen und Tagungen gibt es Voucher, die für einen bestimmten Zeitraum erstellt werden. Sie besitzen ein festgelegtes Start- und Enddatum,in dem sie gültig sind und aktiviert werden können. Vor und nach diesem Zeitraum können sie nicht verwendet werden.

Workflow

  1. Voucher werden über die Webanwendung erstellt und als Druckbogen im PDF-Format aus-gegeben. Anschließend werden sie ausgedruckt und an den Ausgabestellen bereitgelegt.
  2. Bei der Ausgabe der Voucher wird die eindeutige Voucher-ID, der Name sowie die Unterschrift des Gastes auf einer Liste erfasst.
  3. Der Gast verbindet sich anschließend mit dem Gastnetzwerk (drahtlos oder kabelgebunden). Die WLAN-Zugangsdaten wurden dafür auf dem Voucher mit abgedruckt.
  4. Öffnet der Gast nach der Verbindung mit dem Netzwerk einen Browser und versucht eine Webseite zu öffnen, wird er auf die Login-Seite des Systems umgeleitet. Auf dieser Seite gibt der Gast den zwanzigstelligen Freischaltcode ein.
  5. Ist der eingegebene Freischaltcode korrekt, er-fasst das System die MAC-Adresse des Gerätes und schaltet diese in der Firewall frei. Ab diesem Zeitpunkt ist der Zugang zum Internet für den Gast freigeschaltet.

Softwarekomponenten

Linux (Ubuntu)Betriebssystem des Gateways
Apache2Webserver zum Bereitstellen der Webanwendung
PHP-AnwendungOberfläche zur Freischaltung der Geräte
MySQLDatenbank zur Speicherung und Verwaltung der Voucher
iptablesIP-Paketfilter zu Kontrolle des Netzwerkverkehrs

 

Server-Dokumentation

Voraussetzungen

Betriebssystem:
Um die fehlerfreie Funktion des Systems und der Installationsskripte zu gewährleisten, wird die Verwendung der Linux-Distribution Ubuntu empfohlen. Grundsätzlich ist die Installation und der Einsatz des Systems aber auch auf anderen Linux-Systemen, unter Berücksichtigung der distributionsspezifischen Eigenheiten möglich.

Software:
Vor der Installation des Systems muss noch zusätzliche Software zur Standardinstallation nachinstalliert werden. Dazu gehört Apache2, PHP und MySQL (Server). Unter Debian-Systemen (Ubuntu) können diese Softwarepakete mit der Paketverwaltung nachinstalliert werden.

Hardware:
Die Auslastung des Systems kann je nach Auslastung des Portals variieren. Aus diesem Grund kann keine allgemeingültige Empfehlung für eine Hardware gegeben werden. Grundsätzlich sollte auch eine virtualisierte Hardware in den meisten Szenarien ausreichend sein. 

Netzwerk-Aufbau:
Das Captive-Portal-System besteht aus einem Gateway, welcher den Zugriff sowie die Verbindungen zwischen zwei Netzwerken regelt.

Im Netzwerk, welches für die Geräte der Gäste verwendet wird, sollte für die grundlegende Netzwerkkonfiguration ein DHCP-Server oder ein DHCP-Relay-Agent eingerichtet sein. Für erste Tests genügt hier auch eine statische Konfiguration. Außerdem ist es notwendig einen DNS-Server bereitzustellen sowie das Gateway als Standard-Gateway auf allen Hosts einzurichten. 

Es ist möglich, den DHCP- und DNS-Server für dieses Netzwerk direkt auf dem Gateway zu installieren.

Am zweiten Netzwerkinterface des Gateways muss direkt oder über ein Transfernetzwerk, eine Verbindung zum Internet bereitgestellt werden. Ein NAT'ing an diesem Interface ist nach Bedarf einzurichten.

Optional kann ein zusätzliches Netzwerkinterface für Administrationszwecke eingerichtet werden.

Installation

Das Installationspaket muss zur Installation auf den Server kopiert und entpackt werden.

 tar -xzf voucher4guests.tgz

Als nächstes muss im entpackten Verzeichnis das Skript install.sh ausgeführt werden. Vor der Installation werden benötigte Softwarepakete überprüft, fehlende müssen dabei gegebenenfalls nachinstalliert werden.

Für die Installation wird der Fully Qualified Domain Name (FQDN) des Gateway-Servers sowie das Administrator-MySQL-Passwort benötigt.

Während der Installation werden alle für das System relevanten Daten nach /usr/local/voucher4guests (Standard-Verzeichnis) kopiert, die MySQL-Datenbank wird erstellt, der Webserver wird eingerichtet, Cronjobs werden erstellt und ein Passwort für die Administrations-Webseiten wird gesetzt.

Firewall-Konfiguration

Die Firewall ist ein wichtiger Bestandteil des Captive-Portal-Systems und muss an die jeweilige Netzwerkkonfiguration des Gateways (Interfacenamen, IP-Adressen etc.) angepasst werden.

Einstellungen werden im Skript voucher.fw angepasst, welches sich im Ordner /usr/local/voucher4guests/scripts befindet.

Im oberen Abschnitt des Skripts müssen die Variablen für die Netzwerkinterfaces sowie die IP-Adressen angepasst werden (IFACE2GUEST; IP4GUEST_IF; IFACE2INTERNET; IP4INTERNET_IF).

Optional kann außerdem die Variable IFACE2MGMT verwendet werden, um ein weiteres Interface für Administrationszwecke zu definieren. Dazu muss die Variable angepasst und das Kommentarzeichen entfernt werden.

Im Skript befinden sich weitere auskommentierte IPtables-Regeln, mit denen durch Entfernen des Kommentarzeichens, beispielsweise NAT-Routing (Internetuplinkinterface) und/oder SSH über das optionale Management-Interface aktiviert werden kann.

Wichtig: Bevor das Skript ausgeführt und die Firewall aktiviert wird, muss überprüft werden, ob weiterhin der Zugriff auf den Server möglich ist (z.B. SSH-Zugriff).

Aus Sicherheitsgründen ist es nicht zu empfehlen, den uneingeschränkten SSH Zugang über das Interface im Gästenetzwerk und/oder das Interface mit Internetzugriff freizugeben.

Um die Firewall zu aktivieren, muss das Skript voucher.fw ausgeführt werden. Da nach jedem Systemneustart die Firewall des Gateways zurückgesetzt wird, wird empfohlen, die Firewall automatisch über ein "init"-Skript bei jedem Systemstart zu starten.

Anpassung

Layout der Webseiten verändern

Es ist möglich das Aussehen der Webseiten nach eigenen Wünschen anzupassen. Dazu können zum Beispiel die Farben in den CSS Dateien geändert werden:

/usr/local/voucher4guests/user_interface/includes/css/ 

Außerdem kann der Platzhalter für das Logo mit einer gleichnamigen Datei ersetzt werden.

/usr/local/voucher4guests/user_interface/includes/images/Logo.png

Text der Webseiten verändern

Die Texte auf den Webseiten des Systems sind in zentralen Sprachdateien gespeichert und können dort angepasst werden.

/usr/local/voucher4guests/user_interface/language/en.php

/usr/local/voucher4guests/user_interface/language/de.php

Voucher-Layout anpassen

Die auf dem Voucher aufgedruckten Zugangsdaten für den WLAN-Zugang können in folgender Datei angepasst werden: 

/usr/local/voucher4guests/management_interface/admin/pdf/create_pdf.php 

Das Aussehen der Voucher wird durch ein Bild bestimmt, welches bei der Erzeugung als Hintergrund für den jeweiligen Voucher verwendet wird. Diese Hintergrundbilder befinden sich im folgendem Ordner:

/usr/local/voucher4guests/management_interface/admin/pdf/vorlagen/

Achtung! Falls etwas an der "Pixelposition" der Daten auf dem Voucher geändert wird, müssen diese auch in der Datei create_pdf.php angepasst werden.

Voucherlaufzeiten ändern/anpassen

Um die Laufzeiten der Voucher zu verändern oder neue Laufzeiten festzulegen, muss ein Eintrag in der MySQL-Tabelle geändert bzw. ein Eintrag hinzugefügt sowie das Hintergrundbild dazu angepasst werden.

Die Laufzeiten der Voucher werden in der Tabelle validities festgelegt. 

Der Voucher für Konferenzen hat die Laufzeit von 0 Tagen und als Beschreibung "from - to", welche beim Erzeugen eines Vouchers durch den festgelegten Zeitraum ersetzt wird. Bei allen weiteren Einträgen kann die Laufzeit in Tagen und die Beschreibung, welche auf den Voucher aufgedruckt wird, beliebig angepasst werden. Auf diese Weise können auch neue Laufzeiten hinzugefügt werden. 

Für jede Laufzeit muss jeweils ein Hintergrundbild in folgendem Ordner vorhanden sein:

/usr/local/voucher4guests/management_interface/admin/pdf/vorlagen/

Es ist notwendig JPEG-Dateien für die Vorlagen zu verwenden, welche eine Höhe von 877px, eine Breite von 1240px sowie eine Auflösung von 300ppi besitzen.

Achtung! Falls etwas an der Position der Daten auf dem Voucher geändert wird, müssen diese auch in der Datei create_pdf.php angepasst werden.

Management

Voucher erstellen und drucken

Für die Erstellung neuer Voucher bietet das System ein Webinterface, auf welches über HTTPS zugegriffen werden kann. 

Auf der linken Seite der Administrationsseite befindet sich ein Formular, mit welchem die Anzahl sowie die Laufzeit der neu zu erstellenden Voucher angegeben werden kann. Bei den Laufzeiten kann zwischen der "Gültigkeit in Tagen" und der "Gültigkeit von/bis" gewählt werden.

  •  Gültigkeit in Tagen:
    Es kann zwischen vordefinierten Laufzeiten gewählt werden. Die Voucher sind nach der Erstellung sofort einsetzbar.
  • Gültigkeit von/bis:
    Es können Voucher mit festgelegtem Start- und Endzeitpunkt erstellt werden. Diese Voucher werden erst aktiviert und einsetzbar sobald das Startdatum erreicht ist. Die Verwendung dieser Voucher ist nur in dem angegebenen Zeitraum möglich. 

Nachdem das Formular abgeschickt wurde, erscheint auf der rechten Seite ein Link. Erst wenn dieser Link angeklickt wird, erstellt das System die neuen Voucher und öffnet im Browser ein PDF, welches ausgedruckt und gespeichert werden kann. Wenn der Link wiederholt angeklickt wird, werden immer neue Voucher erstellt. 

Voucher löschen/MAC sperren

Über den Link "Datenbank" auf den Administrationsseiten steht eine aktuelle Ansicht der Datenbank zur Verfügung. In der letzten Spalte dieser Tabelle befindet sich für jeden Eintrag ein kleines Symbol zum Deaktivieren. Bei dem Klick auf dieses Symbol wird dieser Voucher deaktiviert. Wenn der Voucher noch nicht benutzt wurde, kann dieser nicht mehr verwendet werden. Bei einem Voucher, bei dem bereits eine MAC-Adresse hinterlegt ist, wird diese aus der Firewall entfernt und somit der Internetzugriff für das jeweilige Gerät gesperrt.

Deaktivierte Einträge werden nach 2 Monaten automatisch aus der Datenbank entfernt.

Wartung

Datenbank-Backups

Das System erstellt täglich ein Backup (mysqldump) der aktuellen Datenbank. Diese Backups werden im Ordner /usr/local/voucher4guests/mysql_backup abgelegt und nach 30 Tagen wieder gelöscht.

Im Fehlerfall kann die Datenbank vom Vortag mit folgendem Befehl wieder hergestellt werden:

mysql -u root -p < /usr/local/voucher4guests/mysql_backup/backup_voucher_db[ Datum ].sql

Nutzer-Dokumentation

Gerät mit Voucher aktivieren

Hat man als Nutzer den Voucher von der Ausgabestelle erhalten, verbindet man sich über das WLAN oder per Kabel mit dem Gästenetz und öffnet seinen Internetbrowser.

Jetzt wählt man entweder eine beliebige Internetseite und wird automatisch auf die Aktivierungswebseite des Vouchergateways geleitet oder trägt diesen in der URL-Leiste seines Browser direkt ein.

Auf der Aktivierungswebseite befindet sich auf der linken Seite das Eingabefeld für den zwanzigstelligen Vouchercode. Dieser wird eingegeben und anschließend den Nutzerregeln des Gästenetzes, mit dem Setzen eines Häkchens zugestimmt. Vor der Zustimmung kann durch einen Klick auf den Link mit den Nutzerregeln selbige eingesehen werden.

Nach dem abschließenden Klick auf den "Akzeptieren"-Knopf wird der Vochercode geprüft und bei positivem Ergebnis das Gerät des Nutzers freigeschalten.

Gerät/Voucher deaktivieren

Der Nutzer hat die Möglichkeit über die Aktivierungswebseite (Link: show validity of the voucher/logout) des Vouchergateways, seinen persönlichen Voucher zu deaktivieren. 

Restlaufzeit des Vouchers anzeigen

Ebenfalls ist es möglich die Restlaufzeit seines persönliche Vouchers über den Link: "Manage my Voucher" einzusehen. Das gibt dem Nutzer die Möglichkeit rechtzeitig einen neuen Voucher über die Ausgabestelle zu erhalten.

Administrativer Workflow

Das zugrundeliegende Konzept des Captive-Portals sieht folgenden administrativen Workflow vor:

Erstellung/Ausgabe

Voucher werden vom administrativen Personal in dem Bedarf entsprechenden Stückelungen und Stückzahlen vorproduziert und der oder den Ausgabestelle(n) übergeben.

Zu den vorproduzierten Vouchern erhält/erhalten die Ausgabestelle(n) ein Formular mit einer Tabelle, welche folgende Spalten enthält: VID (Voucher Identifikationsnummer), Datum, Name, Vorname, Abteilung, Unterschrift des Nutzers.

Der Nutzer erhält einen Voucher gegen seinen Namen, Vorname und Unterschrift. Die Ausgabestelle notiert noch Voucher-ID (vermerkt auf dem ausgegeben Voucher), Datum und Abteilung des Nutzers.

Die Listen werden dann verwahrt und können später, wenn notwendig, zur Identifikation des Nutzers herangezogen werden. 

Lifecycle

Nach Ausgabe der Voucher ist keine weitere administrative Zuarbeit notwendig. Erst nach dem Ablauf der Gültigkeit des Vouchers ist die Ausgabe eines neuen Vouchers an den Nutzer notwendig (siehe Erstellung/Ausgabe). Das System verwaltet alle Voucher vollautomatisch und aktiviert/deaktiviert diese selbständig.

Normale Laufzeitvoucher verfallen, wenn diese nicht genutzt werden, nach dem aufgedruckten Mindesthaltbarkeitsdatum (use by date) automatisch und werden gelöscht. Konferenzvoucher können außerhalb des Konferenzzeitraumes nicht verwendet werden und werden ebenfalls automatisch aktiviert und deaktiviert. 

Identifikation

Mit Hilfe der Listen (Formulartabelle mit Namen, VID, Unterschrift usw.), in welche sich der Nutzer eingetragen hat und die Ausgabestelle ebenfalls Daten einträgt, ist eine Identifikation möglich. Ist die MAC Adresse bekannt, wird über die Datenbank die zu diesem Voucher gehörende VID ermittelt. Mit der VID kann dann über die genannten Listen der Nutzer ermittelt werden. Dabei ist zu beachten das Standard-Logeinträge sowie abgelaufene Voucher nach 60 Tagen aus den Datenbanken gelöscht werden. 

Hinweise/Einschränkungen

Das Captive-Portal-System konnte sich erfolgreich im produktiven Einsatz bewähren, dennoch sind zwei Einschränkungen bekannt:

  • Es ist nicht möglich den Nutzer auf die Login-Seite umzuleiten, wenn dieser im Browser eine Webseite über HTTPS anfordert. Eine Umleitung, wie sie bisher umgesetzt ist, würde zu Zertifikatsfehlern führen.
  • Eine weitere Einschränkung ist die Identifizierung der Geräte der Gäste nur anhand ihrer jeweiligen MAC-Adresse. Dadurch ist es möglich, eine freigeschaltete MAC-Adresse auszuspähen und sich mit dieser Adresse Netzzugang zu verschaffen.