Freeradius: Login nur auf einem Gerät erlauben?

Hallo.
Wir haben hier zunehmend das Problem, dass Logins/Credentials weitergegeben werden, damit jedes noch so unwichtige Gerät ins Internet gelangen kann. Das führt dazu, dass wir kurz vor Schulbeginn ca. 1000 Geräte online haben, die beim besten Willen nicht alle der Oberstufe gehören können.

Das merkt man im Unifi-Controller an gewissen „Einbrüchen“… nachts ist alles ruhig aber dann geht die Post ab:

Nun ist es so, dass wir auf dem v7-Server der Oberstufe ab Jg. 11 das WLAN freigegeben haben (sophomorix-managementgroup --set-wifi oberstufe). Das Captive Portal bilden wir seit einiger Zeit direkt über die OPNSense ab. Dort sehe ich dann unter → Dienste → Captive Portal → Sitzungen, dass viele Logins doppelt und dreifach verwendet werden.

Meine Frage ist daher, wie/wo man das verhindern kann – es müsste doch eine Freeradius-Einstellung sein, die den Login nur mit einem Gerät bzw einer MAC-Adresse erlaubt, richtig?

Hat das jemand so umgesetzt und einen guten Tipp, wie wir dadurch die Masse an Geräten wieder etwas drosseln können?

Viele Grüße,
Michael

Hallo Michael,

der Freeradius ist da vermutlich die falsche Stelle, wie viele Geräte pro User aktiv sind kann nur der Controller wissen. Vielleicht kann Unifi das ja begrenzen.

Beste Grüße

Jörg

Hi.
"Wer lesen kann ist klar im Vorteil " … wenn man im Captive Portal der OPNSense auf
→ Dienste: Captive Portal: Verwaltung wechselt, sieht man da:
Screenshot_20230120_111218

„Falls diese Option gewählt wird, können sich Benutzer auf mehreren Geräten gleichzeitig anmelden. Falls sie deaktiviert ist, wird das Gerät, das sich zuvor mit demselben Benutzernamen angemeldet hat, getrennt.“

Es gibt aber trotzdem ein Problem, wenn man über das eine Captive Portal beides will: FreeRadius UND Voucher. Dann muss man sich entscheiden…

Viele Grüße,
Michael

Noch eine Ergänzung – das Zauberwort lautet offenbar Simultaneous-Use – mehr dazu steht hier:
https://fossies.org/linux/freeradius-server/doc/configuration/simultaneous_use

Hallo Michael,

speichern in einer SQL das ein User eingelogged ist und zusätzlich bei Radius Auths abfragen ob Sessions bestehen? Das scheint mir ein ziemlicher Kraftakt zu sein. Ob das so sauber und performant funktioniert wenn man viele Benutzer hat??

Da würd ich doch lieber bei Captive Portal bleiben.

Viele Grüße
Thomas

Hallo Thomas!
Genau über diese Frage zerbreche ich mir auch gerade den Kopf!

Es kommt aber noch mehr dazu: Wenn man Simultaneous-Use nutzen will, muss man vorher offenbar entweder die Datei radutmp unter /etc/freeradius/3.0/sites-enabled/default aktivieren (ist bei uns per default auskommentiert!) oder man wählt den Ansatz über mySQL, die (nach allem was ich dazu gelesen habe) deutlich performanter sein soll?! Dazu gibt es auch Anleitungen: user_guide:simultaneous_limit [RADIUSdesk] aber ich frage mich natürlich auch, ob das den Aufwand wert ist?! Aber die Umstellung von radutmp auf sql scheint nur eine Kleinigkeit zu sein, da das ebenfalls unter default → Session Database alles schon vorbereitet zu sein scheint!? Der Befehl radwho funktioniert jedenfalls genau aus diesem Grund im Moment nicht, da hier momentan weder noch aktiviert ist und daher auch keine Abfrage möglich ist, ob User mehrfach angemeldet sind. Fest steht aber, dass wir uns in unserem WLAN etwas überlegen müssen, um die Anzahl der Geräte wieder nach unten zu drücken, denn man merkt schon jetzt Einbrüche. Es ist auch gut möglich, dass die Unifi-Accesspoints einfach nicht für diese Anzahl von Usern gemacht sind…

Eigentlich würde ich auch lieber beim Captive Portal bleiben und die Option dort nutzen aber wie schon gesagt: Unser Captive Portal macht beides: FreeRADIUS und Login per Voucher! Ich habe schon versucht, ein weiteres Captive Portal auf das gleiche Interface zu legen – ganz in der Hoffnung, dass man dann einmal die Option setzen und einmal wegnehmen kann. Aber das funktioniert nicht. Dann wird scheinbar nur das erste Captive Portal für das gewählte Interface genommen und die andere Anmeldemethode ganz ignoriert.

Viele Grüße,
Michael

https://wiki.freeradius.org/guide/FAQ#common-problems-and-their-solutions_simultaneous-use-doesn-t-work

… und falls sich noch jemand darüber wundert, dass die Dateien nicht da liegen, wo sie laut Doku liegen sollten:
https://lists.freeradius.org/pipermail/freeradius-users/2018-September/092693.html

… damit nicht jeder neu suchen muss: In den Zeilen 37-39 unter „SQL MODULE“ steht etwas zum Vergleich von radutmp und sql:
https://fossies.org/linux/freeradius-server/doc/deployment/tuning_guide

Hallo Michael,

ein anderer Ansatz wäre, für die Funknetze mit den extrem vielen Clients, Bandbreitenbegrenzung einzuführen. Mit Unifi-APs hatte ich in der jüngst auch immer wieder Probleme. Was wirklich was gebracht hat, war eine Leistungsbegrenzung des Outputs von High auf Medium für das 5GHz und von High auf Low für das 2,4 GHz Netz. Dadurch gab es weniger Überlappungen, was dazu geführt hat, das die Clients nicht so oft den AP gewechselt haben, weil die grad meinten: Ach auf dem AP krieg ich auf dem 2,4 GHz Netz eine Winzigkeit mehr Leistung raus. Klingt im ersten Moment paradox die Sendeleistung zu verringern und dadurch die Gesamtperformance zu erhöhen, aber das Ergebnis war messbar besser.

Viele Grüße
Thomas

Hallo Thomas,
ich habe gefühlt alle Seiten, die mit Unifi-Problemen und Troubeshooting zusammenhängen gelesen :wink: – Unifi bietet meines Wissens keinen echten Support bei solchen Problemen an. Irgendwo muss der vergleichbar niedrige Preis ja stecken… Wir haben in jedem Klassenraum einen AP hängen – die Abdeckung sollte also mehr als ausreichend sein. Den Tipp mit der Begrenzung der Sendeleistung hatten wir schon vor einiger Zeit umgesetzt.

Bei Unifi finde ich zunehmend nervig, dass das neue Interface offenbar noch nicht vollständig fertig ist. Man findet scheinbar einige Optionen (bisher) nur im alten Interface, das aber nicht mehr weiterentwickelt wird, während anderes nur im neuen Interface verfügbar ist – dafür aber nicht alle Meldungen anzeigt :roll_eyes:. Daher muss ich im Moment ständig hin und her wechseln. Das ist Mist.

Ich habe den Controller bereits neu aufgesetzt und mehr virt. Hardware spendiert. Bisher bin ich eigentlich davon ausgegangen, dass der Controller überhaupt keine Rolle spielt und auch abgeschaltet werden kann. Bisher dachte ich: „Die APs sind „dumm“ und erledigen ihre Aufgabe auch ohne Controller!“ – aber checkMK als Montoring-Instanz spricht hier eine ganz andere Sprache: Da sehe ich, dass über den Schultag verteilt zig Hundert TCP-Verbindungen zum Unifi-Controller aufgebaut werden (obwohl da kein Captive Portal mehr läuft!!). Ich weiß nicht, ob das dadurch zustande kommt, dass das freeRADIUS-Profil auf dem Controller eingetragen ist oder was sonst dafür verantwortlich sein könnte aber es kommt mir nicht richtig vor.

Vielleicht hast Du ja noch eine Idee, wonach man da suchen kann…
Viele Grüße,
Michael