Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian...

23
Gastzugangssystem auf Basis von pfSense und FreeRADIUS 64. DFN Betriebstagung, 3.3.2016, Forum „Mobile IT“ C. Strauf, Rechenzentrum TU Clausthal

Transcript of Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian...

Page 1: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Gastzugangssystem auf Basis von pfSense und FreeRADIUS

64. DFN Betriebstagung, 3.3.2016, Forum „Mobile IT“

C. Strauf, Rechenzentrum TU Clausthal

Page 2: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Agenda

■ Motivation für / Anforderung an eine Gastzugangslösung

■ pfSense

■ Anbindung an FreeRADIUS

■ Verwaltungs-Frontend

■ Sicherheitsüberlegungen

■ Aktueller Stand an der TU Clausthal

■ Zukunftsperspektiven

2

Page 3: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Motivation für / Anforderung an eine Gastzugangslösung

■ Nicht alle Gäste an Uni-Veranstaltungen wie Kolloquien, Seminaren oder Messen verfügen über einen eduroam-Zugang.

■ Eine Gastzugangslösung soll einfachen Zugang gewähren, wie er z. B. von Hotels bekannt ist.

■ Der Gastzugang soll aus juristischer Sicht möglichst sicher sein (Nutzungsbedingungen, Verhindern von Störerhaftung etc.).

■ Die Handhabung soll auch für den Gastgeber möglichst einfach sein.

3

Page 4: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Gast

Motivation für / Anforderung an eine Gastzugangslösung

■ Erstellung von Kennungen durch berechtigten Veranstalter:

- Login auf Web-Portal,

- Erstellung von Zugangsdaten (auch große Mengen),

- Ausgabe der Zugangsdaten als PDF oder CSV,

- Weitergabe der Zugangsdaten gegen Unterschrift der Empfänger.

4

Veranstaltung

Gastnetz

Page 5: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Motivation für / Anforderung an eine Gastzugangslösung

■ Nutzung des Zugangs durch den Gast:

- Assoziierung mit einer offenen SSID oder Nutzung einer öffentlichen Netzwerkdose.

- Öffnen einer beliebigen Seite im Browser mit Weiterleitung auf Captive Portal.

- Eingabe der Gastzugangsdaten.

- Nutzung des Netzes.

5

Gastnetz

nutzername

●●●●●●●●●●●●●●

http://www.dfn.dehttps://portal.rz.tu-clausthal.de

Page 6: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

pfSense: Entscheidungskriterien

■ pfSense ist eine Open Source (BSD-Lizenz) Firewall-Lösung mit Captive Portal-Unterstützung.

■ Aktive und gut vernetzte Community.

■ Kommerzieller Support bei Bedarf über Electric Sheep Fencing LLC erhältlich.

■ pfSense basiert auf dem sehr robusten FreeBSD-Kern und nutzt als Firewall die pf-Firewall (Packet Filter; stammt von OpenBSD) und ipfw (FreeBSD-Firewall, wird für Captive Portal verwendet).

■ Bietet out-of-the-box ein Captive Portal mit RADIUS-Authentisierung.

■ Konfiguration einfach per Web-GUI möglich.

■ Hat Firewall-Funktionalitäten, die für Gastzugänge wünschenswert sind (auch Self-Service-Portal).

■ Installation in VM ist einfach.

■ Backup & Recovery sind einfach.

■ pfSense kann hochverfügbar ausgelegt werden.

6

Page 7: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

pfSense: Captive Portal

7

FreeRADIUS-ServerHTTP RedirectDHCP-Server Firewall

Page 8: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

pfSense: Netzwerktopologie

8

Layer 3 Layer 2

Internet Gast-VLAN

Page 9: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

pfSense: Weitere Funktionen

■ Möglichkeit der „Berechtigung vor Anmeldung“:

- Ohne Anmeldung ist Erreichen eines Self-Service-Portals erlaubt (z. B. für Doku).

- Ohne Anmeldung ist das Erreichen z. B. der Hauptseite der TU Clausthal möglich (für Gäste und Interessierte).

■ Regulierung der Netznutzung über die eingebaute Firewall.

9

Page 10: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

pfSense: Captive Portal-Konfiguration

■ Captive Portal-Seite ist vollständig individuell gestaltbar (Template-System).

■ Die Portal-Seite kann auch in PHP geschrieben sein.

■ Logout-Fenster ist ebenfalls aktivierbar, setzt aber voraus, dass der Gast Pop-ups nicht blockiert.

10

Page 11: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

pfSense: Sicherheit

■ Captive Portal bietet HTTPS-Verschlüsselung mit Zertifikat aus DFN-PKI.

■ Verbindung zwischen RADIUS-Server und pfSense über normale RADIUS-Secrets, aber immerhin MSCHAPv2 für den Authentisierung.

■ Es kann eine Re-Authentisierung eines Nutzers erzwungen werden, so dass Sperrungen spätestens nach 1 Minute durchgesetzt werden.

11

Page 12: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

FreeRADIUS: Entscheidungskriterium

■ pfSense bietet rudimentäre Nutzerverwaltung, die aber folgende Nachteile hat:

- Gastnetznutzer werden auf der pfSense-Firewall als Nutzer angelegt (mit eingeschränkten Rechten neben Administratoren).

- Mandantenfähigkeit zum Management von Gastkennungen ist nicht ausreichend.

- Integration der internen Nutzerverwaltung von pfSense in externe Service-Portale ist nicht gut möglich.

■ FreeRADIUS ist für eduroam etc. vorhanden, Service-Portal als Frontend vorhanden, daher Integration von FreeRADIUS für Gastzugänge.

12

Page 13: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

FreeRADIUS: Struktur

13

FreeRADIUS

MySQL-DB

Service-Portal- Frontend

Gastgeber

Service-Portal-Infrastruktur

FreeRADIUSAuthentisierung

& Accounting

Gast

Redundante RADIUS- Infrastruktur

MySQL (SSL)

Gäste eintragen

Page 14: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

FreeRADIUS: Konfiguration

■ Eigene Site „guest-access“ in „raddb/sites-available“.

■ Einbindung des SQL-Moduls.

■ Einbindung von MSCHAPv2 (wird von pfSense genutzt).

■ Einführung von neuen RADIUS-Attributen:

- Startzeit und Endzeit für Gültigkeitszeitraum von Gastkennungen,

- Sponsor (Gastgeber) der Gastkennung,

- Indikator für aktiv / gesperrt (für Missbrauchsfälle).

■ Einbindung des „logintime“-Moduls, um aktuelle Zeit für Prüfung der zeitlichen Gültigkeit einer Kennung zu bekommen.

■ Manpage von „unlang“ lesen. ;)

14

Page 15: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

FreeRADIUS: Konfiguration

15

server guest-access { authorize { preprocess mschap sql # Falls der Account disabled ist, wirf Nutzer raus. if (&reply:TUC-Guest-Enabled == "no") { update reply { Reply-Message := "Your account has been disabled. Please contact your host %{reply:TUC-Guest-Sponsor} for further information." } reject } # Setze auf Tmp-Integer-0 die aktuelle Zeit. update control { &Tmp-Integer-0 := "%l" } # Falls die aktuelle Zeit vor der Startzeit liegt, wirf Nutzer raus. if (&control:Tmp-Integer-0 < &reply:TUC-Guest-Start-Time) { update reply { Reply-Message := "Your account is not yet valid. Please contact your host %{reply:TUC-Guest-Sponsor} for further information." } reject } # Falls die aktuelle Zeit nach der Endzeit liegt, wirf Nutzer raus. if (&control:Tmp-Integer-0 > &reply:TUC-Guest-End-Time) { update reply { Reply-Message := "Your account is not valid anymore. Please contact your host %{reply:TUC-Guest-Sponsor} for further information." } reject } } authenticate { Auth-Type MS-CHAP { mschap } } […] }

Page 16: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

FreeRADIUS: Konfiguration

■ pfSense wertet „Reply-Message“-Attribute in RADIUS-Replies aus und kann sie über das Captive-Portal an den Nutzer weitergeben.

■ Vorteile:

- Nutzer erfährt exakten Grund, warum Login fehlschlägt.

- Da die Gastgeberinfo als Attribut gespeichert ist, weiß der Nutzer, an wen er sich im Problemfall wenden kann.

16

Reply-Message := "Your account has been disabled. Please contact your host %{reply:TUC-Guest-Sponsor} for further information."

Reply-Message := "Your account is not valid anymore. Please contact your host %{reply:TUC-Guest-Sponsor} for further information."

Page 17: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Verwaltungs-Frontend

■ Web-GUI zum Anlegen und Ausdrucken von Kennungen.

■ Interne Mechanismen zum Löschen von ungültigen Kennungen (mit Karenz).

■ Service-Portal pflegt die Tabellen der Datenbank von FreeRADIUS.

■ Accounting-Daten im Service-Portal verfügbar (Accounting wird vom Nutzer beim Akzeptieren der Policy mit akzeptiert).

■ Frontend ist eine Eigenentwicklung in PHP.

17

Page 18: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Verwaltungs-Frontend: Prozessablauf

18

MySQL-DB

Service-Portal- Frontend Gastgeber

Provisionierung der Gastzugangsdaten: ■ Nutzer, ■ gen. Passwort, ■ Gastgeber, ■ Gültigkeit (Start), ■ Gültigkeit (Ende)

Zugangsdaten

GastGäste eintragen

Page 19: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Sicherheitsüberlegungen

■ Sicherheit der Gastzugänge basiert auf IP und MAC des Gastes.

■ Angriffsvektoren:

- MAC-Spoofing und

- IP-Spoofing.

■ pfSense selbst bietet keine Möglichkeit, dies zu verhindern.

■ Zugangsinfrastruktur muss so konfiguriert werden, dass dies verhindert wird:

- ARP-Protection,

- DHCP-Snooping,

- etc.

■ pf bietet OS-Fingerprinting => kann evtl. in Sicherheitsstrategie einbezogen werden.

19

Page 20: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Sicherheitsüberlegungen

■ pfSense betrachtet angeschlossene LANs als interne „freundliche“ Netze => Management von pfSense aus Gastnetz per Default erreichbar.

■ Gastnetze sind nicht „freundlich“ => bei der Grundkonfiguration Anlegen von Firewall-Regeln zum Schutz von pfSense.

■ Passwörter liegen im Klartext in SQL-Datenbank. Verbindung RADIUS <-> DB ist SSL-verschlüsselt => Schutzniveau ausreichend, da Passwörter im Zugangsdatenbogen auch einsehbar sind.

20

Page 21: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Aktueller Stand an der TU Clausthal

■ Projekt befindet sich in der Beta-Phase.

■ Beta-Phase ist noch nicht weit fortgeschritten, wir sammeln noch Erfahrungen.

■ pfSense erlaubt es, das proprietäre Gastzugangssystem der WLAN-Lösung durch eine plattformübergreifende Lösung zu ersetzen.

■ Integration mit FreeRADIUS ist sehr einfach.

■ Kompliziertester Integrationsschritt: Implementierung der Gastnutzerverwaltung im Service-Portal.

21

Page 22: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal

Zukunftsperspektiven

■ „Sponsored Access“:

- Gäste registrieren sich im Portal unter Angabe ihres Gastgebers selbst.

- Gäste bekommen ein Passwort über die SSL-Verbindung des Captive-Portals zugeteilt (ohne Zustimmung des Gastgebers noch nicht verwendbar).

- Gastgeber bekommt eine E-Mail mit zwei Links:

- Gast darf unter seiner Verantwortung das Netz benutzen,

- Gast darf das Netz nicht benutzen.

■ Ausweitung des Systems auf Netzwerkzugänge in Hörsälen / Seminarräumen.

■ TU Clausthal ist sehr an einem Austausch mit anderen Einrichtungen interessiert, die pfSense einsetzen.

22

Page 23: Gastzugangslösung auf Basis von pfSense und FreeRADIUS · PDF fileDipl.-Math. Christian Strauf Rechenzentrum TU Clausthal Agenda Motivation für / Anforderung an eine Gastzugangslösung

Dipl.-Math. Christian Strauf Rechenzentrum TU Clausthal 23

Vielen Dank für Ihre Aufmerksamkeit!

Dipl.-Math. Christian Strauf Leiter Netzwerkabteilung

Rechenzentrum

Erzstraße 51 D-38678 Clausthal-Zellerfeld

Telefon: (05323) 72-20 86 Telefax: (05323) 72-99 20 86

E-Mail: [email protected] URL: http://www.rz.tu-clausthal.de