Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Pre Shared Keys bei der WLAN Authentisierung ist in der Regel die WLAN Zugangs Authentisierung für Heimbenutzer. In Firmen WLANs kann das Bekanntwerden eines WLAN Schlüssels, der für das gesamte WLAN Netz verwendet wird, dafür sorgen das sich Unbefugte Zugang zum Firmen WLAN verschaffen mit zum Teil weitreichenden und schlimmen Konsequenzen.
Pre Shared Keys sind also keine wirkliche Option für sichere Firmen WLANs !
Dieses Tutorial beschreibt eine Benutzer spezifische Lösung mit Zertifikat und zentraler Radius Server Authentisierung, die auch Netzwerk Administratoren das Leben erleichtert, einfach und schnell zu implementieren ist und sie ruhiger schlafen lässt...
Grundlage des Tutorials ist ein im ct'_Magazin_erschienener_Artikel, der den grundlegenden Aufbau im Detail erklärt. Ziel dieses Tutorials ist es Zusatzinformation bzw. Erfahrungen zur Installation und zu Details zu liefern in der Umsetzung, die der ct' Artikel nicht behandelt.
Allgemeine Informationen zur Radius Installation und dem Verwenden von unsicheren Pre Shared Keys und den damit verbundenen gravierenden Nachteilen in Firmennetzen oder größeren Netzen behandelt der o.a. Artikel.
Dieses Tutorial schildert die schnelle und unkomplizierte Installation des kostenfreien FreeRadius Servers ob in VM oder bare Metal ist dabei Geschmackssache.
Mit einer VM kommt man schnell zu einem laufenden Radius Server, (...und erweitert ganz nebenbei sein Linux KnowHow ) auch in einer reinen Windows Umgebung. Natürlich ist auch eine separate Installation auf einer alten PC Hardware möglich.
Keine Angst, SuSE ist nicht zwingend und dient hier lediglich als Beispiel, denn die Konfiguration ist für alle anderen Linux Distributionen vollkommen identisch.
Tiefe Linux Kenntnisse sind nicht erforderlich ! Es ergibt sich sogar ein leichter Lerneffekt nebenbei und weckt ggf. das Interesse von Linux Anfängern für dieses OS?!
Für das Tutorial wurde die kostenfreie Version des VmWare Servers bzw. Workstation verwendet.
https://www.vmware.com/tryvmware/?p=server20&lp=1
Wichtig: Für die Installation ist die Netzwerk Einstellung in den Modus: Bridged einzustellen !
Für die sichere Netzwerk Zugangskontrolle via 802.1x auf kabelbasierenden LAN Switches gibt es bei Administrator.de ein separates Tutorial das dieses Setup behandelt:
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Das Radius Server Setup basiert aber ebenfalls auf diesem Tutorial !
⚠️ Tutorial Update: Eine aktuelle Radius Server Installation auf Basis einer Debian basierten Distribution (Ubuntu etc.) mit einer modernen WebGUI basierten Nutzerverwaltung beschreibt ein neues, aktuelles Radius Server Forentutorial.
Freeradius Management mit WebGUI
Die u.a. ältere Beschreibung wurde hier belassen um die grundlegenden Schritte einer Radius Server Installation darzustellen.
Das Tutorial deckt nicht die Installation von VmWare, VirtualBox, Parallels oder anderer Virtualisierungs Software ab und geht von einer fertigen VM Host Installation auf einem vorhandenen Rechner aus. In der Regel ist diese unkompliziert und mit ein paar Mausklicks erledigt.
Die meisten der o.a. Virtualisierungs Produkte liegen in einer kostenfreien Version vor, die ein Testen und den betrieb in kleinem Rahmen kostenfrei ohne finanziellen Aufwand erlaubt.
Wer dennoch einen dedizierten Server betrieben will findet hier eine Alternative sofern es um moderate WLAN Größen geht.
Die Freeradius Anwendung benötigt sehr wenig Resourcen wenn sie nur für Radius Authentifizierungen benutzt wird. Die VM kann deshalb mit folgenden minimalen Optionen eingerichtet werden die heute z.B. jeder aktuelle XP/Win7 Desktop PC im Handumdrehen bereithält:
OS: Linux, 32 oder 64 Bit
RAM: 512 MB oder, sofern vorhanden, mehr nach Wahl
Disk: 10 GiG oder, sofern vorhanden, mehr nach Wahl
Netzwerk: Bridged Modus
Danach läd man das ISO Image der aktuellen OpenSuSE 12.1 (oder Distro seiner Wahl) herunter oder benutzt, wenn vorhanden, einfach die SuSe Installtions DVD:
http://software.opensuse.org/121/en
und brennt aus der ISO Datei mit dem CD Brennprogramm seiner Wahl z.B. das freie ImageBurn oder Nero etc. eine DVD !
Diese DVD legt man in dann in den Hostrechner ein und installiert OpenSuSE 12.1 in der zuvor erzeugten virtuellen Maschine.
Noch schneller geht es mit der Netz Installations Boot CD (Download unter "Network"), die alles aktuell direkt über das Internet installiert.
Hier ein paar Tips zur Installation:
Natürlich kann hier auch jede andere Linux Distribution verwendet werden ! Die FreeRadius Konfiguration ist vollkommen identisch unter Debian, Ubuntu, Red Hat, Fedora und allen anderen Distros, kann also von diesem Tutorial direkt übernommen werden. Ggf. sind die Directories der Installationsdateien an einem anderen Speicherpfad den man aber leicht herausbekommt wenn man danach sucht.
Es reicht vollkommen das normale Standardsetup der Distribution zu installieren. Auch Linux Laien brauchen hier keine Angst zu haben und müssen nur Sprache, Uhrzeit, Benutzernamen usw. wie bei einer Windows Installation auswählen, der Rest geht vollkommen automatisch.
Etwas Geübte können hier in der Paketauswahl noch Überflüssiges wie Spiele, OpenOffice usw. abwählen um die Installation noch schlanker zu machen. Ganz Harte verzichten auch auf die grafische Oberfläche. Für Linux Anfänger ist das aber nicht zu empfehlen !!
⚠️ Ein WICHTIGER Tip um späteren Frust vorzubeugen und bevor man auf "Installation beginnen" klickt:
In der Einstellung "Firewall/Sicherheit" sollte man für die ersten Schritte der Einrichtug die Linux Firewall (iptables oder nftables) erstmal ausgeschaltet lassen und zusätzlich den SSH Zugang aktivieren, um später auch direkt aus dem Netz auf den Server Zugang zu bekommen ohne immer die VmWare Konsole zu bemühen obwohl das ebenfalls recht einfach über eine Webbrowser Session zu machen ist.
Das klappt dann einfach mit einem Terminal Programm wie z.B. Putty (Empfehlung !) oder TeraTerm auch ohne immer über die VM Konsole gehen zu müssen. Natürlich sind auch remote Desktop Zugriffe über VNC, RDP etc. möglich sofern diese Pakete bei der Installation mitinstalliert werden.
Daten die vom und zum Server kopiert werden müssen kann man z.B. mit WinSCP problemlos mit einem Win Explorer like GUI zwischen Host und VM oder anderen Geräten übers Netz auf den Server kopieren.
Wichtig, denn später muss ein Zertifikat vom FreeRadius auf USB Stick kopiert werden !
Um die wichtigsten Punkte noch einmal zu wiederholen:
Damit funktionieren dann Putty und WinSCP problemlos.
Keine Angst, wer diese Firewall Einstellungen vergisst kann es später nach der Installation von OpenSuSE problemlos in den Systemeinstellungen unter YAST nachholen.
Bitte aber immer bedenken das die Firewall den Radius Zugang (UDP 1812 und UDP 1813) immer blockt wenn sie nicht entsprechend angepasst oder deaktiviert wurde !!!
Es reicht meist sie von der Einstellung "Externe Zone" auf die "Interne Zone" zu setzen sofern der Server sich im sicheren internen Netz befindet !
Firewall Probleme sind das leidige tägliche Brot fast aller Netzwerk Fragen und Threads hier bei Administrator.de !!
Ist die Installation erfolgreich durchgelaufen, sollte man vom OpenSuSE in der VM den Hostrechner und auch einen ggf. im Netz vorhandenen Router pingen können ! Damit ist dann auch bewiesen das der Netzwerkzugriff sauber funktioniert. Dies sollte man VOR den nächsten Schritten immer erst sicherstellen !
Ist der Ping erfolgreich, ist der Server damit fertig installiert und bereit für die Installation des Freeradius Pakets.
Dafür ist eine laufende Internet Verbindung zwingend notwendig, denn das aktuelle Freeradius Packet wird über das Internet dazu installiert !! Man kann dies auch über die Installations DVD machen aber die aktuelle Version schliesst immer aktuelle Sicherheitslücken !
Der OpenSuSE Server in der VM sollte also unbedingt eine funktionierende Verbindung ins Internet haben ! Meist ist das aber gegeben wenn auch der VM Hostrechner einen Internet Zugang hat.
Und nun steht der Installation des Radius Servers nichts mehr im Wege !
⚠️ Nutzer mit Debian basierter Distribution wie z.B. Raspberry Pi, Ubuntu usw. installieren den FreeRadius ganz einfach mit apt install freeradius von der Kommandozeile oder GUI und überspringen den folgenden SuSE spezifischen Installationsschritt!
Um nun das Freeradius Paket zu installieren geht man in der VM Konsole auf die grafische Oberfläche von OpenSuSE klickt den "Start" Button und dann in die Systemeinstellungen und startet dort unter dem Karteireiter "Erweitert" das System Verwaltungsprogramm YAST.
Dort klickt man dann in die Paketverwaltung....
...und tippt über die Suchfunktion einfach das folgende Paket ein:
freeradius-server ..und lässt es installieren.
Wer noch die FeeRadius Dokumentation und Radius Tools zusätzlich haben möchte (sind zum Betreib nicht zwingend erforderlich, aber hilfreich) installiert zusätzlich noch die Pakete freeradius-server-doc und freeradius-server-utils. Die Pakete installieren sich selbstständig, automatisch ohne weiteres Zutun.
Wichtig ist ferner unbedingt noch das Paket make zum Erzeugen der Zertifikate !
Ist das geschehen und die Pakete installiert, kann man YAST schliessen.
Das Beispiel IP Netzwerk indem sich unser Tutorial Server und die Tutorial WLAN APs befinden ist hier das IP Netz 192.168.100.0 mit einer 24 Bit Maske 255.255.255.0
Schematisch betrachtet sieht das Tutorialnetzwerk dann so aus:
Nun ist etwas "Handarbeit" zum individuellen Anpassen der Radius Konfigurations Dateien gefragt. Alle diese Dateien sind simple, lesbare Textdateien die mit einem einfachen Text Editor angepasst werden.
Der in Open SuSe bereits enthaltene Editor nano ist ein hilfreiches Werkzeug dazu.
Man öffnet nun ein Terminalfenster über den "Start" Button (grünes Chamäleon) links unten mit dem man (WICHTIG) als root Benutzer durch Eingabe von su - und dem Root Passwort arbeitet. Der "root" User ist gewissermaßen der Administrator Account bei Windows.
Alle Dateien befinden sich im Verzeichnis /etc/raddb/ in das man nun mit dem Kommando cd /etc/raddb/ wechselt !
⚠️ Bei Debian basierten Distributionen wie Ubuntu. Raspberry Pi etc. findet man die Dateien unter /etc/freeradius/3.0/ !
Als erstes passt man die Datei clients.conf an, die den Zugang der eingehenden Radius Anfragen zum Server regelt bzw. erlaubt.
Mit "nano clients.conf" editiert man diese Datei.
Keine Angst, die Datei hat viele Beispiele in der Konfig die aber alle mit einem "#" auskommentiert sind ! Man hängt nun einfach die folgenden Zeilen ans Ende an oder passt einen Eintrag auf seine IP Adressierung an:
Dieser Eintrag erlaubt damit allen Endgeräten aus dem 192.168.100.0er IP Netz den Radius Zugriff auf den FreeRadius Server.
Das Passwort "radiustest" sollte man natürlich ändern und sich notieren da es später in der AP Konfiguration benötigt wird.
Im Editor nano speichert man diese geänderte DateI dann mit ctrl o x und verlässt damit den Editor.
Als nächstes ist die Datei "users" dran, die die einzelnen Benutzer enthält. Auch hier wieder wie gehabt joe users.
Wieder nicht erschrecken...auch diese Datei hat viele Beispiele die mit "#" aber auskommentiert sind. Bzw. evtl. vorhandene kann man zusätzlich auskommentieren.
Ganz am Ende kann man nun seine Benutzer hinzufügen:
Mit ctrl k x sichern !
Der Benutzer Gast hat durch den Parameter "Login-Time" nur Werktags von 7 Uhr bis 18 Uhr Zugang, der Benutzer Service an allen Tagen von 7 Uhr bis 23 Uhr. Auch einzelne Wochentage sind z.B. mit "Su1000" für Sunday = Sonntag, 10 Uhr oder "Tu2300" für Tuesday = Dienstag, 23 Uhr kommagetrennt möglich.
Nutzt man eine dynamische VLAN Zuweisung z.B. mit MSSID fähigen Access Point ist zu beachten das Tunnel Attribute unterhalb der Passwort Definition zwingend per TAB eingerückt sein müssen ! (Siehe dazu auch hier).
⚠️ Dieser Schritt ist optional und nur erforderlich wer ein eigens Server Zertifikat möchte, da FreeRadius nach der Installation immer mit einem fertigen Standard Zertifikat daher kommt.
Mit dem Kommando cd /etc/freeradius/3.0/certs wechselt man das Dateiverzeichnis. Als root User (su -) löscht man nun mit dem Kommando rm -f *.pem *.der *.csr *.crt *.key *.p12 serial* index.txt* alle diese Beispieldateien im Verzeichnis /etc/freeradius/3.0/certs/.
Nun passt man wieder mit dem Texteditor nano ca.cnf die Zertifikats Konfig-Datei an !
Unter der Überschrift [ CA_default ] setzt man den Parameter default_days auf 1826 Tage was 5 Jahren Gültigkeit entspricht. Oder mehr wer eine längere Gültigkeit des Zertifikats wünscht !
Unter der Überschrift [ req ] setzt man eigene und GLEICHE Passwörter unter input_password und output_password den Default "whatever" sollte man tunlichst NICHT übernehmen denn das Passwort kennt jetzt die ganze Welt !!!
Dann unter dem Textblock [certificate_authority] passt man die dortigen Einträge nach seinen persönlichen Gegebenheiten an wie z.B. das folgende Beispiel:
[certificate_authority]
countryName = DE
stateOrProvinceName = Radius
localityName = Frankfurt
organizationName = Firma-Meier
emailAddress = admin@meier.de
commonName = "radiustest"
Datei mit "ctrl o x" wieder sichern.
Wichtig: Diesen oben in der Datei ca.cnf angepassten Abschnitt unter [certificate_authority], [ CA_default ] passt man mit exakt den gleichen Einträgen (Passwörter etc.) zusätzlich auch in der Datei server.cnf an !
Diese beiden Einträge müssen also in beiden Dateien exakt gleich vorhanden sein !
Nun werden in diesem Verzeichnis mit Eingabe des Kommandos make all die Zertifikate erzeugt !
Sind die Zertifikate erzeugt (man siehts am Monitoroutput), kopiert man sich mit Hilfe des o.a Programms WinSCP das erzeugte Stammzertifikat, das in der Datei ca.der im Verzeichnis liegt, auf einen lokalen Windows Rechner und dann auf einen USB Speicher Stick oder eben gleich direkt auf einen USB Stick !
(Nebenbei: eine komplette Dateiliste im aktuellen Verzeichnis des Radius Servers zeigt immer das Kommando ls ! )
Ein letztes Mal muss nun noch einmal der nano Editor bemüht werden....
Im Verzeichnis /etc/freeradius/3.0/ editiert man mit nano eap.conf die Datei "eap.conf" und sucht dort den Eintrag private_key_password im Abschnitt "EAP-TLS", (Zeile 154 im nano Editor) und trägt dort genau das Passwort ein, was man oben bei [ req] input_password und output_password konfiguriert hat !
Alles wieder mit ctrl o x sichern.
Fertig... !!
Kein Editor Gefummel mehr und dem allerersten Test des Radius Servers steht nun nichts mehr im Wege !
Achtung:
Bei anderen Linux Distributionen mag das Verzeichnis etwas abweichen die grundlegenden Schritte zur Generierung sind aber immer identisch !
Die Beschreibung zur Einrichtung des FreeRadius Servers auf einem Debian basierten Raspberry Pi geht in dem entsprechenden Tutorial auf diese Unterschiede genau ein:
Netzwerk Management Server mit Raspberry Pi
Einen weiteren Thread die diese Zertifikats Einrichtung beschreibt findet man hier:
Radius server eexterner AP Authentifizierung klappt nicht
Bevor man den Radius Server automatisiert starten lässt, ist es sinnvoll ihn erstmal "zu Fuß" zu testen ob alles sauber eingerichtet ist und keine Tippfehler einen Error erzeugen.
Man öffnet jetzt wieder ein Terminalfenster als root User (su -) und startet den Radius Server mit Debug Output Option mit dem Kommando: freeradius -X
Nach ein paar Schirmmeldungen sollten die letzten Zeilen sein:
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814
Ready to process requests.
Damit ist der Server dann fehlerfrei gestartet und wartet auf eingehende Radius Anfragen!!
Um gleich die fehlerfreie Radius Authentisierung erst einmal schnell über das LAN zu testen, läd man sich das kostenfreie, grafische Radius Testtool NTRadPing für Windows herunter und entpackt es in einem separaten Verzeichnis.
Eine Installation ist nicht erforderlich, denn das Programm startet unter Windows auf Mausklick.
Hier gibt man nun nach der folgenden Abbildung die Daten einer seiner konfigurierten Radius Benutzer und die Server IP Adresse an:
...und klickt auf SEND !
Nach einer Reihe von Status Meldungen sollte der Server ein "Access accepted" anzeigen wenn ein gültiger User abgefragt wurde!
Im NTRadPing Client muss im Fenster Server reply ebenfalls "Response:Access accept stehen ! (Siehe Abbildung)
So ist ein schneller Radius Server Vorabtest einfach gemacht und man kann beim Troubleshooten den Radius sicher als Fehlerquelle ausschliessen sollte alles bis hierhin klappen !
Damit funktioniert das ganze Setup wie es soll und nun steht dem Radius Einsatz im WLAN nichts mehr im Wege !
Eine preiswerte und effiziente Methode ist einen im NAS integrierten Radius Server zu benutzen.
Alle gängigen Home und Midrange NAS Systeme von z.B. QNAP oder Synology haben einen integrierten FreeRadius Server der recht einfach per Mausklick zu customizen ist.
Das Beispiel hier zeigt den Screenshot eines QNAP:
Das erspart die Installation eines dedizierten Servers oder einer VM.
Ebenso effizient ist die Nutzung eines FreeRadius der in einem Router integriert ist.
Einige Router (z.B. DSL Router von Buffalo) mit DD-WRT basierender Firmware wie z.B. der Buffalo WZR-HP-G300NH haben von sich aus schon einen kompletten FreeRadius Server an Bord.
Dieser ist exakt wie in der o.a. Anleitung beschrieben aufzusetzen, hat aber den großen Vorteil das die Zertifikats Generierung mit einem simplen Mausklick funktioniert.
Allerdings erfordert die Freeradius Installation ein bischen manuelle Anpassung wie dieser Thread hier beschreibt.
Für Kleinstinstallationen mit nur einer Handvoll APs bietet sich so eine sehr bequeme Radius Lösung integriert auf dem Router an.
Bei größeren WLANs ist aus Performance-, Skalierungs- und Backup Grunden immer eine Server oder VM Lösung wie oben vorzuziehen !
Die Einstellung der Accesspoints ist relativ einfach ! Im Menü der WLAN Sicherheitseinstellungen wählt man hier statt PSK die Option WPA/WPA2 Enterprise, trägt die IP Adresse des Radius Servers ein und das in der Datei clients.conf verwendete Passwort. (Hier "radiustest" im Beispiel, siehe clients.conf Datei oben !)
Als Anhaltspunkt zeigt die folgende Abbildung die funktionierende Einstellung an einem 30 Euro Accesspoint von TP-Link_WA-501G der u.a. für die Radius Installation verwendet wurde !
(Anmerkungen zum obigen Screenshot: Besser ist es die stärkere Verschlüsselung "AES" zu verwenden !! TKIP sollte man verwenden wenn ältere Rechner im WLAN Netz sind (z.B. Win XP ohne SP3), da diese AES oft nicht supporten. Im Zweifelsfall belässt man die Einstellung auf "Auto", dann nimmt der AP die Verschlüsselung die der Client supportet !)
Die folgenden Screenshots zeigen weitere Einstellung an bekannten Routern und Accesspoints wie dem Linksys WRT54 mit original Firmware und einmal mit der freien Firmware DD-WRT, AirLive AP 5460 und Edimax EW-7416APn V2
Linksys WRT54G:
DD-WRT Variante (z.B. D-Link DIR-300 oder Linksys WRT54Gl etc.):
AirLive AP-5460:
Edimax EW-7416APn V2:
Diese o.a Beispiele gelten analog für alle WLAN Accesspoints oder WLAN Router am Markt.
Wie man an den obigen Radius Einstellungen allesamt sehen kann gleichen sich diese Einstellungen im Menü Bereich der Einstellungen zur AP WLAN Security !
Als erstes nimmt man das erzeugte und vorher oben auf den USB Stick kopierte Stammzertifikat ca.der und installiert es auf dem Client.
Bei XP reicht ein einfacher Doppelklick auf diese Datei ca.der, bestätigt dann alle Fragen abnicken und bei der Sicherheitswarnung klickt man auf "JA". XP installiert das Zertifikat damit automatisch an der richtigen Stelle.
Ruft man mit Start --> Ausführen --> certmgr.msc den Zertifikatsmanger auf, kann man den erfolgreichen Import des Zertifikats kontrollieren:
Bei Windows 7 wählt man manuell "Stammzertifizierungsstellen" als Zertifikatsspeicher aus !
Nun richtet man manuell ein WLAN Profil zur SSID (WLAN Kennung) seines Accesspoints ein:
Im Karteireiter "Authentifizierung" werden folgende Daten eingetragen:
Wichtig ist das Zertifikat auszuwählen und in den Eigenschaften von MS-CHAP den Haken zur Verwendung der Domaindaten zur Anmeldung zu entfernen.
Viele die Intel basierende WLAN Chips in Laptops oder Netbooks haben setzen statt des Windows WLAN Tools z.B. Den bekannten "Intel Wireless Pro Connection Manager" der meist im Bundle mit den Intel WLAN Treibern kommt.
Dort sehen die korrekten Einstellungen dann so aus:
Auch für die weit verbreitet Realtek WLAN Chipsätze gibt es statt der Windows Tools ebenfalls ein Realtek WLAN Setup Tool (für die, die nicht mit der Windows eigenen Tool arbeiten wollen..) mit den folgenden Einstellungen:
Bei einem Apple Mac Book sind die Einstellungen ebenfalls analog. Wichtig ist hier nur die Authentifizierungsmethoden PEAP und EAP-TTLS zu erlauben !
Das Stammzertifikat muss man bei einem Mac Book nicht zuvor importieren wie bei Windows sondern es reicht das einmalig vom Server angezeigte Zertifikat per Mausklick händisch zu akzeptieren !
Mehr oder weniger gleichen sich die Einstellungen der Clients.
Ist das alles erledigt kann man einen ersten Funktions Test übers WLAN machen und sich mit dem WLAN verbinden.
Am Radius Server Prompt sieht man eine Fülle von Meldungen ! Wenn alles sauber funktioniert und sie am Ende immer mit dem Output "Access accepted" enden, sollte der Zugang erlaubt sein. "Access denied" wenn was schief ging oder der Benutzer keine Berechtigung hat.
Der Debug Output des Radius Servers ist eine sehr wertvolle Hilfe wenn etwas schief geht und führt meist auf den richtigen Weg zur schnellen Störungsbehebung.
Mit ctrl c stoppt man den FreeRadius Server im Terminalfenster wieder.
Mit jeder Änderung an der Userdatei ist auch ein Neustart des FreeRadius fällig damit er die geänderten Daten einlesen kann. Im laufenden Betrieb kann dies mit dem Kommando rcfreeradius restart gemacht werden.
Zum Schluss bleibt nur noch mit dem Kommado als root User chkconfig freeradius on den OpenSuSE Server zu sagen das er beim Start gleich den Freeradius mitstartet. Alternativ kann das auch wieder über die grafische Oberfläche in den Systemeinstellungen und YAST im "Dienste" Menü gemacht werden.
Die Log Datei unter /var/log/radius/radius.log zeigt erfolgreiche Authentifizierungen an.
Ein integriertes Firmenkonzept mit einem Gäste WLAN Netz auf Basis von VLAN und ESSID fähigen Accesspoints wie z.B. dem oben genannten Edimax EW-7416APn V2 zeigt das folgende Tutorial bei administrator.de:
VLAN Installation und Routing mit pfSense, Mikrotik, DD-WRT oder Cisco RV Routern
Fazit: Firmen können so mit relativ wenig Aufwand schnell und sicher eine Benutzer spezifische Authentisierung ihres WLANs erreichen. Kompromitierte Passwörter betreffen so niemals mehr das gesamte WLAN Netz sondern nur noch einzelne Benutzer und könne einfach und zentral in einer simplen Text Datei verwaltet werden. Gerade in größeren WLANs ein unschätzbarer Vorteil zur Sicherheit bei der Benutzer Legitimierung.
Bei sehr großen WLANs mit einer sehr hohen Benutzeranzahlen kann aber die Verwaltung einer Textdatei auch an ihre Grenzen stoßen.
FreeRadius bietet hier die Kopplung mit einer SQL Datenbank oder über LDAP die Anbindung z.B. an ein Windows Active Directory.
Anleitungen zur Ankopplung von FreeRadius an ein Windows AD findet man viele wie z.B. Dynamische VLAN-Zuweisung mit FreeRADIUS und Active Directory ).
Die Grundlagen dafür sprengen aber bei weitem den Rahmen dieses kurzen Tutorials das auch eher eine schnelle, einfache und pragmatische Lösung für kleine Firmen WLANs aufzeigen will, die zudem fast kostenfrei zu realisieren ist und ein erhebliches Maß an Sicherheit im WLAN bietet !
Für kleine und mittlere Netzwerke mit einem relativ statischen Benutzerkreis ist die Benutzung einer festen Datei aber durchaus eine Alternative um schnell und unkompliziert die Zugriffssicherheit im Netzwerk zu erhöhen.
Zum Schluss sein noch darauf hingewiesen das auch eine Radius basierende Benutzer Authentifizierung in der hier vorgestellten HotSpot_Lösung mit diesem Radius Server problemlos möglich ist !
802.1x Netzwerk Zugangs Authorisierung am Switch LAN Port (Kupfer):
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Freeradius Installation mit Datenbank und WebGUI
Freeradius Management mit WebGUI
Radius Authentisierung mit bordeigenem Radius Server auf Mikrotik Hardware:
Mikrotik: 802.1X Port basierte Authentifizierung mit Zertifikaten unter RouterOS 7 mit User-Manager als Radius-Server
Mikrotik: Wifi clients in anderes VLAN schieben?
Radius Server in Kombination auf einer (vorhandenen) pfSense / OPNsense Firewall betreiben:
Mikrotik - mehrere VLANs auf cAP AC mit CAPsMAN
Client-Zertfikat bei WPA2-Enterprise (802.1x)
Mikrotik - mehrere VLANs auf cAP AC mit CAPsMAN
PFSense 2.3.2 Freeradius
Achtung!: bei dynamischen VLANs mit OPNsense FreeRadius Plugin:
OPNSense FreeRadius Server-MAC Authentication-dynamische VLAN Zuweisung
Praxisbeispiel mit FreeRadius und TP-Link WLAN Access Point:
Radius server eexterner AP Authentifizierung klappt nicht
Statt Mac Adresse die User mit 802.1x Username und Passwort authentisieren (WPA2 Enterprise):
CAPsMAN an OpenBSD-Router und -Firewall mit dynamischen VLANs
Praxisbeispiel mit FreeRadius Mikrotik APs und dynamischer Client VLAN Zuweisung:
Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik
WLAN: VLAN-Zuordnung anhand Radius-Eigenschaften? MikroTik CAPsMAN
WLAN: VLAN-Zuordnung anhand Radius-Eigenschaften? MikroTik CAPsMAN
Praxisbeispiel (LAN) mit FreeRadius und Ruckus ICX Switch und Cisco Catalyst 2960:
Cisco SG 350x Grundkonfiguration
Ruckus ICX - 802.1x - is mac-vlan member of 2 vlans in single-untagged mode
Aufpassen bei Cisco SoHo Modellen SG und CBS !:
802.1x an Cisco CBS350 und Windows Server
Einbinden des FreeRadius in eine Windows AD Umgebung:
Ubuntu 14.04 - 16.04 - 18.04 - 20.04 LTS Server - Freeradius mit AD-Anbindung
Windows Server mit NPS statt FreeRadius verwenden:
https://www.heise.de/ct/artikel/Radius-mit-Windows-Server-2087800.html
und
http://www.andysblog.de/windows-wireless-lan-802-1x-und-nps
und auch
http://www.matrixpost.de/blog/?p=4
Windows NPS mit User Zertifikaten statt User/Pass:
Client und Server-Authentifizierung NPS
FreeRadius mit Web GUI:
https://kifarunix.com/install-freeradius-with-daloradius-on-ubuntu-20-04 ...
https://www.zueschen.eu/freeradius-mit-mysql-daloradius-und-dynamische-v ...
Ein handlicher RADIUS Server im Miniformat mit Raspberry Pi:
Netzwerk Management Server mit Raspberry Pi
Praxisbeispiel mit Raspberry Pi und FreeRadius Server:
WLAN Authentifizierung über Freeradius Server (Pfsense auf ALIX-Box) mit DD-WRT als Radius-Client
Kopplung von FreeRadius an ein Active Directory:
http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integratio ...
http://deployingradius.com/documents/configuration/active_directory.htm ...
und auch
ClearOS 5.2 Freeradius 2 LDAP ntlm auth Active Directory
Debian Linux in eine Active Directory Domäne integrieren
Einbinden des FreeRadius in eine SQL Datenbank Umgebung:
Cisco SG 350x Grundkonfiguration
Grundlagen 802.1x mit WLAN und FreeRadius am Beispiel hostapd
http://www.infosys.tuwien.ac.at/Staff/msiegl/2010/Uebungsarbeiten/Grupp ...
802.1x Probleme bei Lenovo fixen:
Windows 22H2 - Authentifizierung - eine kollegiale Bitte
Pre Shared Keys sind also keine wirkliche Option für sichere Firmen WLANs !
Dieses Tutorial beschreibt eine Benutzer spezifische Lösung mit Zertifikat und zentraler Radius Server Authentisierung, die auch Netzwerk Administratoren das Leben erleichtert, einfach und schnell zu implementieren ist und sie ruhiger schlafen lässt...
Inhaltsverzeichnis
Allgemeine Einleitung
Grundlage des Tutorials ist ein im ct'_Magazin_erschienener_Artikel, der den grundlegenden Aufbau im Detail erklärt. Ziel dieses Tutorials ist es Zusatzinformation bzw. Erfahrungen zur Installation und zu Details zu liefern in der Umsetzung, die der ct' Artikel nicht behandelt.
Allgemeine Informationen zur Radius Installation und dem Verwenden von unsicheren Pre Shared Keys und den damit verbundenen gravierenden Nachteilen in Firmennetzen oder größeren Netzen behandelt der o.a. Artikel.
Dieses Tutorial schildert die schnelle und unkomplizierte Installation des kostenfreien FreeRadius Servers ob in VM oder bare Metal ist dabei Geschmackssache.
Mit einer VM kommt man schnell zu einem laufenden Radius Server, (...und erweitert ganz nebenbei sein Linux KnowHow ) auch in einer reinen Windows Umgebung. Natürlich ist auch eine separate Installation auf einer alten PC Hardware möglich.
Keine Angst, SuSE ist nicht zwingend und dient hier lediglich als Beispiel, denn die Konfiguration ist für alle anderen Linux Distributionen vollkommen identisch.
Tiefe Linux Kenntnisse sind nicht erforderlich ! Es ergibt sich sogar ein leichter Lerneffekt nebenbei und weckt ggf. das Interesse von Linux Anfängern für dieses OS?!
Für das Tutorial wurde die kostenfreie Version des VmWare Servers bzw. Workstation verwendet.
https://www.vmware.com/tryvmware/?p=server20&lp=1
Wichtig: Für die Installation ist die Netzwerk Einstellung in den Modus: Bridged einzustellen !
Für die sichere Netzwerk Zugangskontrolle via 802.1x auf kabelbasierenden LAN Switches gibt es bei Administrator.de ein separates Tutorial das dieses Setup behandelt:
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Das Radius Server Setup basiert aber ebenfalls auf diesem Tutorial !
Der Radius Server
⚠️ Tutorial Update: Eine aktuelle Radius Server Installation auf Basis einer Debian basierten Distribution (Ubuntu etc.) mit einer modernen WebGUI basierten Nutzerverwaltung beschreibt ein neues, aktuelles Radius Server Forentutorial.
Freeradius Management mit WebGUI
Die u.a. ältere Beschreibung wurde hier belassen um die grundlegenden Schritte einer Radius Server Installation darzustellen.
Das Tutorial deckt nicht die Installation von VmWare, VirtualBox, Parallels oder anderer Virtualisierungs Software ab und geht von einer fertigen VM Host Installation auf einem vorhandenen Rechner aus. In der Regel ist diese unkompliziert und mit ein paar Mausklicks erledigt.
Die meisten der o.a. Virtualisierungs Produkte liegen in einer kostenfreien Version vor, die ein Testen und den betrieb in kleinem Rahmen kostenfrei ohne finanziellen Aufwand erlaubt.
Wer dennoch einen dedizierten Server betrieben will findet hier eine Alternative sofern es um moderate WLAN Größen geht.
Die Freeradius Anwendung benötigt sehr wenig Resourcen wenn sie nur für Radius Authentifizierungen benutzt wird. Die VM kann deshalb mit folgenden minimalen Optionen eingerichtet werden die heute z.B. jeder aktuelle XP/Win7 Desktop PC im Handumdrehen bereithält:
OS: Linux, 32 oder 64 Bit
RAM: 512 MB oder, sofern vorhanden, mehr nach Wahl
Disk: 10 GiG oder, sofern vorhanden, mehr nach Wahl
Netzwerk: Bridged Modus
Danach läd man das ISO Image der aktuellen OpenSuSE 12.1 (oder Distro seiner Wahl) herunter oder benutzt, wenn vorhanden, einfach die SuSe Installtions DVD:
http://software.opensuse.org/121/en
und brennt aus der ISO Datei mit dem CD Brennprogramm seiner Wahl z.B. das freie ImageBurn oder Nero etc. eine DVD !
Diese DVD legt man in dann in den Hostrechner ein und installiert OpenSuSE 12.1 in der zuvor erzeugten virtuellen Maschine.
Noch schneller geht es mit der Netz Installations Boot CD (Download unter "Network"), die alles aktuell direkt über das Internet installiert.
Hier ein paar Tips zur Installation:
Natürlich kann hier auch jede andere Linux Distribution verwendet werden ! Die FreeRadius Konfiguration ist vollkommen identisch unter Debian, Ubuntu, Red Hat, Fedora und allen anderen Distros, kann also von diesem Tutorial direkt übernommen werden. Ggf. sind die Directories der Installationsdateien an einem anderen Speicherpfad den man aber leicht herausbekommt wenn man danach sucht.
Es reicht vollkommen das normale Standardsetup der Distribution zu installieren. Auch Linux Laien brauchen hier keine Angst zu haben und müssen nur Sprache, Uhrzeit, Benutzernamen usw. wie bei einer Windows Installation auswählen, der Rest geht vollkommen automatisch.
Etwas Geübte können hier in der Paketauswahl noch Überflüssiges wie Spiele, OpenOffice usw. abwählen um die Installation noch schlanker zu machen. Ganz Harte verzichten auch auf die grafische Oberfläche. Für Linux Anfänger ist das aber nicht zu empfehlen !!
⚠️ Ein WICHTIGER Tip um späteren Frust vorzubeugen und bevor man auf "Installation beginnen" klickt:
In der Einstellung "Firewall/Sicherheit" sollte man für die ersten Schritte der Einrichtug die Linux Firewall (iptables oder nftables) erstmal ausgeschaltet lassen und zusätzlich den SSH Zugang aktivieren, um später auch direkt aus dem Netz auf den Server Zugang zu bekommen ohne immer die VmWare Konsole zu bemühen obwohl das ebenfalls recht einfach über eine Webbrowser Session zu machen ist.
Das klappt dann einfach mit einem Terminal Programm wie z.B. Putty (Empfehlung !) oder TeraTerm auch ohne immer über die VM Konsole gehen zu müssen. Natürlich sind auch remote Desktop Zugriffe über VNC, RDP etc. möglich sofern diese Pakete bei der Installation mitinstalliert werden.
Daten die vom und zum Server kopiert werden müssen kann man z.B. mit WinSCP problemlos mit einem Win Explorer like GUI zwischen Host und VM oder anderen Geräten übers Netz auf den Server kopieren.
Wichtig, denn später muss ein Zertifikat vom FreeRadius auf USB Stick kopiert werden !
Um die wichtigsten Punkte noch einmal zu wiederholen:
- VM sollte im Netzwerkmodus "Bridged" betrieben werden !
- Der Server selber muss keine VM sein ! Natürlich kann das auch ein dedizierter Rechner sein wenn man den Radius auf einer eigenen Plattform oder einem alten recycelten PC betreiben möchte !
- Die wichtigstens Windows Tools zum Einrichten: Putty, TeraTerm, WinSCP wie oben beschrieben.
- Nochwas wichtiges: Ab SuSE 11.2 wird der SSH Server oftmals nicht gestartet. Wenn ein remoter Zugriff dann trotz deaktivierter oder angepasster Firewall scheitert ist dies oft der Grund !
Damit funktionieren dann Putty und WinSCP problemlos.
Keine Angst, wer diese Firewall Einstellungen vergisst kann es später nach der Installation von OpenSuSE problemlos in den Systemeinstellungen unter YAST nachholen.
Bitte aber immer bedenken das die Firewall den Radius Zugang (UDP 1812 und UDP 1813) immer blockt wenn sie nicht entsprechend angepasst oder deaktiviert wurde !!!
Es reicht meist sie von der Einstellung "Externe Zone" auf die "Interne Zone" zu setzen sofern der Server sich im sicheren internen Netz befindet !
Firewall Probleme sind das leidige tägliche Brot fast aller Netzwerk Fragen und Threads hier bei Administrator.de !!
Ist die Installation erfolgreich durchgelaufen, sollte man vom OpenSuSE in der VM den Hostrechner und auch einen ggf. im Netz vorhandenen Router pingen können ! Damit ist dann auch bewiesen das der Netzwerkzugriff sauber funktioniert. Dies sollte man VOR den nächsten Schritten immer erst sicherstellen !
Ist der Ping erfolgreich, ist der Server damit fertig installiert und bereit für die Installation des Freeradius Pakets.
Dafür ist eine laufende Internet Verbindung zwingend notwendig, denn das aktuelle Freeradius Packet wird über das Internet dazu installiert !! Man kann dies auch über die Installations DVD machen aber die aktuelle Version schliesst immer aktuelle Sicherheitslücken !
Der OpenSuSE Server in der VM sollte also unbedingt eine funktionierende Verbindung ins Internet haben ! Meist ist das aber gegeben wenn auch der VM Hostrechner einen Internet Zugang hat.
Und nun steht der Installation des Radius Servers nichts mehr im Wege !
Radius Server vorbereiten
⚠️ Nutzer mit Debian basierter Distribution wie z.B. Raspberry Pi, Ubuntu usw. installieren den FreeRadius ganz einfach mit apt install freeradius von der Kommandozeile oder GUI und überspringen den folgenden SuSE spezifischen Installationsschritt!
Um nun das Freeradius Paket zu installieren geht man in der VM Konsole auf die grafische Oberfläche von OpenSuSE klickt den "Start" Button und dann in die Systemeinstellungen und startet dort unter dem Karteireiter "Erweitert" das System Verwaltungsprogramm YAST.
Dort klickt man dann in die Paketverwaltung....
...und tippt über die Suchfunktion einfach das folgende Paket ein:
freeradius-server ..und lässt es installieren.
Wer noch die FeeRadius Dokumentation und Radius Tools zusätzlich haben möchte (sind zum Betreib nicht zwingend erforderlich, aber hilfreich) installiert zusätzlich noch die Pakete freeradius-server-doc und freeradius-server-utils. Die Pakete installieren sich selbstständig, automatisch ohne weiteres Zutun.
Wichtig ist ferner unbedingt noch das Paket make zum Erzeugen der Zertifikate !
Ist das geschehen und die Pakete installiert, kann man YAST schliessen.
Das Beispiel IP Netzwerk indem sich unser Tutorial Server und die Tutorial WLAN APs befinden ist hier das IP Netz 192.168.100.0 mit einer 24 Bit Maske 255.255.255.0
Schematisch betrachtet sieht das Tutorialnetzwerk dann so aus:
Netzwerk und Benutzer im Radius Server Konfiguration anpassen
Nun ist etwas "Handarbeit" zum individuellen Anpassen der Radius Konfigurations Dateien gefragt. Alle diese Dateien sind simple, lesbare Textdateien die mit einem einfachen Text Editor angepasst werden.
Der in Open SuSe bereits enthaltene Editor nano ist ein hilfreiches Werkzeug dazu.
Man öffnet nun ein Terminalfenster über den "Start" Button (grünes Chamäleon) links unten mit dem man (WICHTIG) als root Benutzer durch Eingabe von su - und dem Root Passwort arbeitet. Der "root" User ist gewissermaßen der Administrator Account bei Windows.
Alle Dateien befinden sich im Verzeichnis /etc/raddb/ in das man nun mit dem Kommando cd /etc/raddb/ wechselt !
⚠️ Bei Debian basierten Distributionen wie Ubuntu. Raspberry Pi etc. findet man die Dateien unter /etc/freeradius/3.0/ !
Als erstes passt man die Datei clients.conf an, die den Zugang der eingehenden Radius Anfragen zum Server regelt bzw. erlaubt.
Mit "nano clients.conf" editiert man diese Datei.
Keine Angst, die Datei hat viele Beispiele in der Konfig die aber alle mit einem "#" auskommentiert sind ! Man hängt nun einfach die folgenden Zeilen ans Ende an oder passt einen Eintrag auf seine IP Adressierung an:
client 192.168.100.0/24 {
secret = radiustest
shortname = Testnetz
}
Das Passwort "radiustest" sollte man natürlich ändern und sich notieren da es später in der AP Konfiguration benötigt wird.
Im Editor nano speichert man diese geänderte DateI dann mit ctrl o x und verlässt damit den Editor.
Als nächstes ist die Datei "users" dran, die die einzelnen Benutzer enthält. Auch hier wieder wie gehabt joe users.
Wieder nicht erschrecken...auch diese Datei hat viele Beispiele die mit "#" aber auskommentiert sind. Bzw. evtl. vorhandene kann man zusätzlich auskommentieren.
Ganz am Ende kann man nun seine Benutzer hinzufügen:
"Hans Wurst" Cleartext-Password := "Geheim"
"test" Cleartext-Password := "test"
"Gast" Cleartext-Password := "gast", Login-Time := "Wk0700-1800"
"Service" Cleartext-Password := "service", Login-Time := "Al0700-2300"
"Nachbar" Auth-Type := Reject, Reply-Message == "Zugang verboten"
Der Benutzer Gast hat durch den Parameter "Login-Time" nur Werktags von 7 Uhr bis 18 Uhr Zugang, der Benutzer Service an allen Tagen von 7 Uhr bis 23 Uhr. Auch einzelne Wochentage sind z.B. mit "Su1000" für Sunday = Sonntag, 10 Uhr oder "Tu2300" für Tuesday = Dienstag, 23 Uhr kommagetrennt möglich.
Nutzt man eine dynamische VLAN Zuweisung z.B. mit MSSID fähigen Access Point ist zu beachten das Tunnel Attribute unterhalb der Passwort Definition zwingend per TAB eingerückt sein müssen ! (Siehe dazu auch hier).
Radius Server Zertifikate erzeugen
⚠️ Dieser Schritt ist optional und nur erforderlich wer ein eigens Server Zertifikat möchte, da FreeRadius nach der Installation immer mit einem fertigen Standard Zertifikat daher kommt.
Mit dem Kommando cd /etc/freeradius/3.0/certs wechselt man das Dateiverzeichnis. Als root User (su -) löscht man nun mit dem Kommando rm -f *.pem *.der *.csr *.crt *.key *.p12 serial* index.txt* alle diese Beispieldateien im Verzeichnis /etc/freeradius/3.0/certs/.
Nun passt man wieder mit dem Texteditor nano ca.cnf die Zertifikats Konfig-Datei an !
Unter der Überschrift [ CA_default ] setzt man den Parameter default_days auf 1826 Tage was 5 Jahren Gültigkeit entspricht. Oder mehr wer eine längere Gültigkeit des Zertifikats wünscht !
Unter der Überschrift [ req ] setzt man eigene und GLEICHE Passwörter unter input_password und output_password den Default "whatever" sollte man tunlichst NICHT übernehmen denn das Passwort kennt jetzt die ganze Welt !!!
Dann unter dem Textblock [certificate_authority] passt man die dortigen Einträge nach seinen persönlichen Gegebenheiten an wie z.B. das folgende Beispiel:
[certificate_authority]
countryName = DE
stateOrProvinceName = Radius
localityName = Frankfurt
organizationName = Firma-Meier
emailAddress = admin@meier.de
commonName = "radiustest"
Datei mit "ctrl o x" wieder sichern.
Wichtig: Diesen oben in der Datei ca.cnf angepassten Abschnitt unter [certificate_authority], [ CA_default ] passt man mit exakt den gleichen Einträgen (Passwörter etc.) zusätzlich auch in der Datei server.cnf an !
Diese beiden Einträge müssen also in beiden Dateien exakt gleich vorhanden sein !
Nun werden in diesem Verzeichnis mit Eingabe des Kommandos make all die Zertifikate erzeugt !
Sind die Zertifikate erzeugt (man siehts am Monitoroutput), kopiert man sich mit Hilfe des o.a Programms WinSCP das erzeugte Stammzertifikat, das in der Datei ca.der im Verzeichnis liegt, auf einen lokalen Windows Rechner und dann auf einen USB Speicher Stick oder eben gleich direkt auf einen USB Stick !
(Nebenbei: eine komplette Dateiliste im aktuellen Verzeichnis des Radius Servers zeigt immer das Kommando ls ! )
Ein letztes Mal muss nun noch einmal der nano Editor bemüht werden....
Im Verzeichnis /etc/freeradius/3.0/ editiert man mit nano eap.conf die Datei "eap.conf" und sucht dort den Eintrag private_key_password im Abschnitt "EAP-TLS", (Zeile 154 im nano Editor) und trägt dort genau das Passwort ein, was man oben bei [ req] input_password und output_password konfiguriert hat !
Alles wieder mit ctrl o x sichern.
Fertig... !!
Kein Editor Gefummel mehr und dem allerersten Test des Radius Servers steht nun nichts mehr im Wege !
Achtung:
Bei anderen Linux Distributionen mag das Verzeichnis etwas abweichen die grundlegenden Schritte zur Generierung sind aber immer identisch !
Die Beschreibung zur Einrichtung des FreeRadius Servers auf einem Debian basierten Raspberry Pi geht in dem entsprechenden Tutorial auf diese Unterschiede genau ein:
Netzwerk Management Server mit Raspberry Pi
Einen weiteren Thread die diese Zertifikats Einrichtung beschreibt findet man hier:
Radius server eexterner AP Authentifizierung klappt nicht
Radius Server testen
Bevor man den Radius Server automatisiert starten lässt, ist es sinnvoll ihn erstmal "zu Fuß" zu testen ob alles sauber eingerichtet ist und keine Tippfehler einen Error erzeugen.
Man öffnet jetzt wieder ein Terminalfenster als root User (su -) und startet den Radius Server mit Debug Output Option mit dem Kommando: freeradius -X
Nach ein paar Schirmmeldungen sollten die letzten Zeilen sein:
Listening on authentication address * port 1812
Listening on accounting address * port 1813
Listening on command file /var/run/radiusd/radiusd.sock
Listening on proxy address * port 1814
Ready to process requests.
Damit ist der Server dann fehlerfrei gestartet und wartet auf eingehende Radius Anfragen!!
Um gleich die fehlerfreie Radius Authentisierung erst einmal schnell über das LAN zu testen, läd man sich das kostenfreie, grafische Radius Testtool NTRadPing für Windows herunter und entpackt es in einem separaten Verzeichnis.
Eine Installation ist nicht erforderlich, denn das Programm startet unter Windows auf Mausklick.
Hier gibt man nun nach der folgenden Abbildung die Daten einer seiner konfigurierten Radius Benutzer und die Server IP Adresse an:
...und klickt auf SEND !
Nach einer Reihe von Status Meldungen sollte der Server ein "Access accepted" anzeigen wenn ein gültiger User abgefragt wurde!
Im NTRadPing Client muss im Fenster Server reply ebenfalls "Response:Access accept stehen ! (Siehe Abbildung)
So ist ein schneller Radius Server Vorabtest einfach gemacht und man kann beim Troubleshooten den Radius sicher als Fehlerquelle ausschliessen sollte alles bis hierhin klappen !
Damit funktioniert das ganze Setup wie es soll und nun steht dem Radius Einsatz im WLAN nichts mehr im Wege !
Alternative 1: Radius Server im NAS integriert
Eine preiswerte und effiziente Methode ist einen im NAS integrierten Radius Server zu benutzen.
Alle gängigen Home und Midrange NAS Systeme von z.B. QNAP oder Synology haben einen integrierten FreeRadius Server der recht einfach per Mausklick zu customizen ist.
Das Beispiel hier zeigt den Screenshot eines QNAP:
Das erspart die Installation eines dedizierten Servers oder einer VM.
Alternative 2: Radius Server im Router integriert
Ebenso effizient ist die Nutzung eines FreeRadius der in einem Router integriert ist.
Einige Router (z.B. DSL Router von Buffalo) mit DD-WRT basierender Firmware wie z.B. der Buffalo WZR-HP-G300NH haben von sich aus schon einen kompletten FreeRadius Server an Bord.
Dieser ist exakt wie in der o.a. Anleitung beschrieben aufzusetzen, hat aber den großen Vorteil das die Zertifikats Generierung mit einem simplen Mausklick funktioniert.
Allerdings erfordert die Freeradius Installation ein bischen manuelle Anpassung wie dieser Thread hier beschreibt.
Für Kleinstinstallationen mit nur einer Handvoll APs bietet sich so eine sehr bequeme Radius Lösung integriert auf dem Router an.
Bei größeren WLANs ist aus Performance-, Skalierungs- und Backup Grunden immer eine Server oder VM Lösung wie oben vorzuziehen !
WLAN Accesspoints konfigurieren
Die Einstellung der Accesspoints ist relativ einfach ! Im Menü der WLAN Sicherheitseinstellungen wählt man hier statt PSK die Option WPA/WPA2 Enterprise, trägt die IP Adresse des Radius Servers ein und das in der Datei clients.conf verwendete Passwort. (Hier "radiustest" im Beispiel, siehe clients.conf Datei oben !)
Als Anhaltspunkt zeigt die folgende Abbildung die funktionierende Einstellung an einem 30 Euro Accesspoint von TP-Link_WA-501G der u.a. für die Radius Installation verwendet wurde !
(Anmerkungen zum obigen Screenshot: Besser ist es die stärkere Verschlüsselung "AES" zu verwenden !! TKIP sollte man verwenden wenn ältere Rechner im WLAN Netz sind (z.B. Win XP ohne SP3), da diese AES oft nicht supporten. Im Zweifelsfall belässt man die Einstellung auf "Auto", dann nimmt der AP die Verschlüsselung die der Client supportet !)
Die folgenden Screenshots zeigen weitere Einstellung an bekannten Routern und Accesspoints wie dem Linksys WRT54 mit original Firmware und einmal mit der freien Firmware DD-WRT, AirLive AP 5460 und Edimax EW-7416APn V2
Linksys WRT54G:
DD-WRT Variante (z.B. D-Link DIR-300 oder Linksys WRT54Gl etc.):
AirLive AP-5460:
Edimax EW-7416APn V2:
Diese o.a Beispiele gelten analog für alle WLAN Accesspoints oder WLAN Router am Markt.
Wie man an den obigen Radius Einstellungen allesamt sehen kann gleichen sich diese Einstellungen im Menü Bereich der Einstellungen zur AP WLAN Security !
WLAN Clients einrichten
Als erstes nimmt man das erzeugte und vorher oben auf den USB Stick kopierte Stammzertifikat ca.der und installiert es auf dem Client.
Bei XP reicht ein einfacher Doppelklick auf diese Datei ca.der, bestätigt dann alle Fragen abnicken und bei der Sicherheitswarnung klickt man auf "JA". XP installiert das Zertifikat damit automatisch an der richtigen Stelle.
Ruft man mit Start --> Ausführen --> certmgr.msc den Zertifikatsmanger auf, kann man den erfolgreichen Import des Zertifikats kontrollieren:
Bei Windows 7 wählt man manuell "Stammzertifizierungsstellen" als Zertifikatsspeicher aus !
Nun richtet man manuell ein WLAN Profil zur SSID (WLAN Kennung) seines Accesspoints ein:
Im Karteireiter "Authentifizierung" werden folgende Daten eingetragen:
Wichtig ist das Zertifikat auszuwählen und in den Eigenschaften von MS-CHAP den Haken zur Verwendung der Domaindaten zur Anmeldung zu entfernen.
Viele die Intel basierende WLAN Chips in Laptops oder Netbooks haben setzen statt des Windows WLAN Tools z.B. Den bekannten "Intel Wireless Pro Connection Manager" der meist im Bundle mit den Intel WLAN Treibern kommt.
Dort sehen die korrekten Einstellungen dann so aus:
Auch für die weit verbreitet Realtek WLAN Chipsätze gibt es statt der Windows Tools ebenfalls ein Realtek WLAN Setup Tool (für die, die nicht mit der Windows eigenen Tool arbeiten wollen..) mit den folgenden Einstellungen:
Bei einem Apple Mac Book sind die Einstellungen ebenfalls analog. Wichtig ist hier nur die Authentifizierungsmethoden PEAP und EAP-TTLS zu erlauben !
Das Stammzertifikat muss man bei einem Mac Book nicht zuvor importieren wie bei Windows sondern es reicht das einmalig vom Server angezeigte Zertifikat per Mausklick händisch zu akzeptieren !
Mehr oder weniger gleichen sich die Einstellungen der Clients.
Praxis Funktionstest
Ist das alles erledigt kann man einen ersten Funktions Test übers WLAN machen und sich mit dem WLAN verbinden.
Am Radius Server Prompt sieht man eine Fülle von Meldungen ! Wenn alles sauber funktioniert und sie am Ende immer mit dem Output "Access accepted" enden, sollte der Zugang erlaubt sein. "Access denied" wenn was schief ging oder der Benutzer keine Berechtigung hat.
Der Debug Output des Radius Servers ist eine sehr wertvolle Hilfe wenn etwas schief geht und führt meist auf den richtigen Weg zur schnellen Störungsbehebung.
Mit ctrl c stoppt man den FreeRadius Server im Terminalfenster wieder.
Mit jeder Änderung an der Userdatei ist auch ein Neustart des FreeRadius fällig damit er die geänderten Daten einlesen kann. Im laufenden Betrieb kann dies mit dem Kommando rcfreeradius restart gemacht werden.
Zum Schluss bleibt nur noch mit dem Kommado als root User chkconfig freeradius on den OpenSuSE Server zu sagen das er beim Start gleich den Freeradius mitstartet. Alternativ kann das auch wieder über die grafische Oberfläche in den Systemeinstellungen und YAST im "Dienste" Menü gemacht werden.
Die Log Datei unter /var/log/radius/radius.log zeigt erfolgreiche Authentifizierungen an.
Ein integriertes Firmenkonzept mit einem Gäste WLAN Netz auf Basis von VLAN und ESSID fähigen Accesspoints wie z.B. dem oben genannten Edimax EW-7416APn V2 zeigt das folgende Tutorial bei administrator.de:
VLAN Installation und Routing mit pfSense, Mikrotik, DD-WRT oder Cisco RV Routern
Fazit: Firmen können so mit relativ wenig Aufwand schnell und sicher eine Benutzer spezifische Authentisierung ihres WLANs erreichen. Kompromitierte Passwörter betreffen so niemals mehr das gesamte WLAN Netz sondern nur noch einzelne Benutzer und könne einfach und zentral in einer simplen Text Datei verwaltet werden. Gerade in größeren WLANs ein unschätzbarer Vorteil zur Sicherheit bei der Benutzer Legitimierung.
Bei sehr großen WLANs mit einer sehr hohen Benutzeranzahlen kann aber die Verwaltung einer Textdatei auch an ihre Grenzen stoßen.
FreeRadius bietet hier die Kopplung mit einer SQL Datenbank oder über LDAP die Anbindung z.B. an ein Windows Active Directory.
Anleitungen zur Ankopplung von FreeRadius an ein Windows AD findet man viele wie z.B. Dynamische VLAN-Zuweisung mit FreeRADIUS und Active Directory ).
Die Grundlagen dafür sprengen aber bei weitem den Rahmen dieses kurzen Tutorials das auch eher eine schnelle, einfache und pragmatische Lösung für kleine Firmen WLANs aufzeigen will, die zudem fast kostenfrei zu realisieren ist und ein erhebliches Maß an Sicherheit im WLAN bietet !
Für kleine und mittlere Netzwerke mit einem relativ statischen Benutzerkreis ist die Benutzung einer festen Datei aber durchaus eine Alternative um schnell und unkompliziert die Zugriffssicherheit im Netzwerk zu erhöhen.
Zum Schluss sein noch darauf hingewiesen das auch eine Radius basierende Benutzer Authentifizierung in der hier vorgestellten HotSpot_Lösung mit diesem Radius Server problemlos möglich ist !
Weiterführende Links
802.1x Netzwerk Zugangs Authorisierung am Switch LAN Port (Kupfer):
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Freeradius Installation mit Datenbank und WebGUI
Freeradius Management mit WebGUI
Radius Authentisierung mit bordeigenem Radius Server auf Mikrotik Hardware:
Mikrotik: 802.1X Port basierte Authentifizierung mit Zertifikaten unter RouterOS 7 mit User-Manager als Radius-Server
Mikrotik: Wifi clients in anderes VLAN schieben?
Radius Server in Kombination auf einer (vorhandenen) pfSense / OPNsense Firewall betreiben:
Mikrotik - mehrere VLANs auf cAP AC mit CAPsMAN
Client-Zertfikat bei WPA2-Enterprise (802.1x)
Mikrotik - mehrere VLANs auf cAP AC mit CAPsMAN
PFSense 2.3.2 Freeradius
Achtung!: bei dynamischen VLANs mit OPNsense FreeRadius Plugin:
OPNSense FreeRadius Server-MAC Authentication-dynamische VLAN Zuweisung
Praxisbeispiel mit FreeRadius und TP-Link WLAN Access Point:
Radius server eexterner AP Authentifizierung klappt nicht
Statt Mac Adresse die User mit 802.1x Username und Passwort authentisieren (WPA2 Enterprise):
CAPsMAN an OpenBSD-Router und -Firewall mit dynamischen VLANs
Praxisbeispiel mit FreeRadius Mikrotik APs und dynamischer Client VLAN Zuweisung:
Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik
WLAN: VLAN-Zuordnung anhand Radius-Eigenschaften? MikroTik CAPsMAN
WLAN: VLAN-Zuordnung anhand Radius-Eigenschaften? MikroTik CAPsMAN
Praxisbeispiel (LAN) mit FreeRadius und Ruckus ICX Switch und Cisco Catalyst 2960:
Cisco SG 350x Grundkonfiguration
Ruckus ICX - 802.1x - is mac-vlan member of 2 vlans in single-untagged mode
Aufpassen bei Cisco SoHo Modellen SG und CBS !:
802.1x an Cisco CBS350 und Windows Server
Einbinden des FreeRadius in eine Windows AD Umgebung:
Ubuntu 14.04 - 16.04 - 18.04 - 20.04 LTS Server - Freeradius mit AD-Anbindung
Windows Server mit NPS statt FreeRadius verwenden:
https://www.heise.de/ct/artikel/Radius-mit-Windows-Server-2087800.html
und
http://www.andysblog.de/windows-wireless-lan-802-1x-und-nps
und auch
http://www.matrixpost.de/blog/?p=4
Windows NPS mit User Zertifikaten statt User/Pass:
Client und Server-Authentifizierung NPS
FreeRadius mit Web GUI:
https://kifarunix.com/install-freeradius-with-daloradius-on-ubuntu-20-04 ...
https://www.zueschen.eu/freeradius-mit-mysql-daloradius-und-dynamische-v ...
Ein handlicher RADIUS Server im Miniformat mit Raspberry Pi:
Netzwerk Management Server mit Raspberry Pi
Praxisbeispiel mit Raspberry Pi und FreeRadius Server:
WLAN Authentifizierung über Freeradius Server (Pfsense auf ALIX-Box) mit DD-WRT als Radius-Client
Kopplung von FreeRadius an ein Active Directory:
http://wiki.freeradius.org/guide/FreeRADIUS-Active-Directory-Integratio ...
http://deployingradius.com/documents/configuration/active_directory.htm ...
und auch
ClearOS 5.2 Freeradius 2 LDAP ntlm auth Active Directory
Debian Linux in eine Active Directory Domäne integrieren
Einbinden des FreeRadius in eine SQL Datenbank Umgebung:
Cisco SG 350x Grundkonfiguration
Grundlagen 802.1x mit WLAN und FreeRadius am Beispiel hostapd
http://www.infosys.tuwien.ac.at/Staff/msiegl/2010/Uebungsarbeiten/Grupp ...
802.1x Probleme bei Lenovo fixen:
Windows 22H2 - Authentifizierung - eine kollegiale Bitte
Please also mark the comments that contributed to the solution of the article
Content-ID: 142241
Url: https://administrator.de/contentid/142241
Printed on: October 12, 2024 at 18:10 o'clock
121 Comments
Latest comment
Hi !
Kurzes Statement von mir: Aqui, super wie immer!
Habe eine ähnliche Konstellation mit Freeradius unter Debian schon realisiert und bin dabei vergleichbar vorgegangen....Als Ergänzung wäre noch anzumerken, dass es mittlerweile (für die Web-GUI Freaks) auch auf PHP und MySql basierende Admintools für die vom Radius verwalteten Accounts gibt. Allerdings könnten die bei allzu sorglosem Umgang auch erhebliche Sicherheitslücken reissen, daher sollte man da schon wissen was man tut...
mrtux
Kurzes Statement von mir: Aqui, super wie immer!
Habe eine ähnliche Konstellation mit Freeradius unter Debian schon realisiert und bin dabei vergleichbar vorgegangen....Als Ergänzung wäre noch anzumerken, dass es mittlerweile (für die Web-GUI Freaks) auch auf PHP und MySql basierende Admintools für die vom Radius verwalteten Accounts gibt. Allerdings könnten die bei allzu sorglosem Umgang auch erhebliche Sicherheitslücken reissen, daher sollte man da schon wissen was man tut...
mrtux
sehr schöne Anleitung. Vielen Dank für die Mühe.
Sehr gut geschriebene Anleitung.
Da ich in "Authentifizierung und Accounting" Richtung schon länger recherchiere,
würde mich folgendes interessieren:
Kann jeder mit einem installierten Zertifikat, egal welcher gültige Benutzername und Passwort eingegeben wird, eine Verbindung herstellen ?
Gibt es da eine Möglichkeit das stärker zu kontrollieren z.B. aufgrund der MAC Adresse o.ä.
Hintergrund ist mein Problem, das ich mit "Monowall" nicht gewährleisten kann,
das mit einem Voucher-Code oder Benutzername/Passwort nicht paralell mit dem selben Code
und auch nicht nach erstmaligem Zugang von anderen Geräten ein Zugang möglich ist
(sprich eine weitergabe der Zugangsdaten).
Da ich in "Authentifizierung und Accounting" Richtung schon länger recherchiere,
würde mich folgendes interessieren:
Kann jeder mit einem installierten Zertifikat, egal welcher gültige Benutzername und Passwort eingegeben wird, eine Verbindung herstellen ?
Gibt es da eine Möglichkeit das stärker zu kontrollieren z.B. aufgrund der MAC Adresse o.ä.
Hintergrund ist mein Problem, das ich mit "Monowall" nicht gewährleisten kann,
das mit einem Voucher-Code oder Benutzername/Passwort nicht paralell mit dem selben Code
und auch nicht nach erstmaligem Zugang von anderen Geräten ein Zugang möglich ist
(sprich eine weitergabe der Zugangsdaten).
Ich hatte angenommen mit meinem Satz "weitergabe der Zugangsdaten" sei mein Anliegen klar.
Aber ich führe das gerne etwas weiter aus und bin auch froh wenn mir in der Richtung geholfen wird/werden kann.
Eine Monowall mit aktivem Captive Portal hab ich soweit auch schon am laufen.
::: Ein Gast bekommt einen Benutzernamen (+ Kennwort) oder einen Voucher, gibt diesen ein und kommt damit ins Internet
Mein Problem ist "wie gewährleiste ich, das diese Daten nicht weitergegeben und von einem anderen Gast (an einem anderen Gerät) benutzt werden" !?
Ich hab mich zum Testen selbst mit zwei Notebooks über eine Monowall verbunden.
Konnte mich ohne Probleme "parallel" an beiden mit ein und dem selben Voucher/Benutzernamen+Kennwort anmelden.
Auf die Voucher-Geschichte könnte ich ja verzichten, aber wie geschrieben geht auch mit der Benutzername+Kennwort Combi,
eine Mehrfachnutzung.
Aber ich führe das gerne etwas weiter aus und bin auch froh wenn mir in der Richtung geholfen wird/werden kann.
Eine Monowall mit aktivem Captive Portal hab ich soweit auch schon am laufen.
::: Ein Gast bekommt einen Benutzernamen (+ Kennwort) oder einen Voucher, gibt diesen ein und kommt damit ins Internet
Mein Problem ist "wie gewährleiste ich, das diese Daten nicht weitergegeben und von einem anderen Gast (an einem anderen Gerät) benutzt werden" !?
Ich hab mich zum Testen selbst mit zwei Notebooks über eine Monowall verbunden.
Konnte mich ohne Probleme "parallel" an beiden mit ein und dem selben Voucher/Benutzernamen+Kennwort anmelden.
Auf die Voucher-Geschichte könnte ich ja verzichten, aber wie geschrieben geht auch mit der Benutzername+Kennwort Combi,
eine Mehrfachnutzung.
Klasse Anleitung, aqui!
Ansonsten - wer gerne Active Directory User authentisieren will kann als Radius auch den bereits im Umfang von Server2003 enthaltenen IAS Radius benutzen, vom Prinzip das gleiche, nur noch etwas einfacher (klick klick und fertig), vor allem für Windows-Admins.
Den IAS kann man auch ohne Domäne betreiben, dann werden lokale User auf dem Server wo der IAS läuft authentisiert.
Unterstützt PEAP(EAP-MSChapv2) sowie PEAP(EAP-TLS).
Also authentsierung am WLAN mit Domänenpasswort (und/oder Computerkonto) oder WLAN mit Clientzertifikat.
Der Radiusserver braucht in jedem Fall ein Serverzertifikat, der Client nur optional falls man EAP-TLS benutzen will.
Ansonsten - wer gerne Active Directory User authentisieren will kann als Radius auch den bereits im Umfang von Server2003 enthaltenen IAS Radius benutzen, vom Prinzip das gleiche, nur noch etwas einfacher (klick klick und fertig), vor allem für Windows-Admins.
Den IAS kann man auch ohne Domäne betreiben, dann werden lokale User auf dem Server wo der IAS läuft authentisiert.
Unterstützt PEAP(EAP-MSChapv2) sowie PEAP(EAP-TLS).
Also authentsierung am WLAN mit Domänenpasswort (und/oder Computerkonto) oder WLAN mit Clientzertifikat.
Der Radiusserver braucht in jedem Fall ein Serverzertifikat, der Client nur optional falls man EAP-TLS benutzen will.
Hallo zusammen,
als erstes einmal ein wirklich super Howto.
Habe dies ebenfalls so am laufen, was mich wundert: an Computern wählt er sich ohne das Zertifkat nicht ein bzw. nimmt die Auth. nicht an(Endlosschleife). Nehme ich nun mein Smartphone ( Android 2.1 ) und gebe nur gültige Zugangsdaten ein verbindet er sich und ich kann fröhlich im Netz tun und lassen was ich will. Wie kann das angehen? Da ist die doppelte Sicherheit ja nun futsch.
Grüße
als erstes einmal ein wirklich super Howto.
Habe dies ebenfalls so am laufen, was mich wundert: an Computern wählt er sich ohne das Zertifkat nicht ein bzw. nimmt die Auth. nicht an(Endlosschleife). Nehme ich nun mein Smartphone ( Android 2.1 ) und gebe nur gültige Zugangsdaten ein verbindet er sich und ich kann fröhlich im Netz tun und lassen was ich will. Wie kann das angehen? Da ist die doppelte Sicherheit ja nun futsch.
Grüße
Hallo!
Erstmal vielen Dank an Aqui! Die Anleitung ist gut nachvollziehbar und verständlich! Auch im Zusammenhang mit der RADIUS Anleitung über einen Switch.
Habe mit Hilfe der beiden Anleitungen mein RADIUS aufgebaut und dieser läuft auch, jedoch mit einer einfachen Konfiguration und ohne Zertifikaten.
Nun wollte ich den Server um Zertifikate erweitern. Leider hakt es jedoch bei der Vergabe von Passwörtern fürchte ich. Laut der Anleitung benutzt man in der ca.cnf für in- und output das gleiche Passwort und fügt dieses auch bei der eap.conf hinzu. Dies habe ich auch durchgeführt, jedoch tritt im Debug Modus nun ein Fehler auf. Wenn ich die Passwört auf "whatever" stehen lasse, erscheint dieser Fehler nicht.
Hier der letzten Absätze meines Debugs:
http://www.motschnig.de/saen/radiusd-x.png
Gruß
Sven
Erstmal vielen Dank an Aqui! Die Anleitung ist gut nachvollziehbar und verständlich! Auch im Zusammenhang mit der RADIUS Anleitung über einen Switch.
Habe mit Hilfe der beiden Anleitungen mein RADIUS aufgebaut und dieser läuft auch, jedoch mit einer einfachen Konfiguration und ohne Zertifikaten.
Nun wollte ich den Server um Zertifikate erweitern. Leider hakt es jedoch bei der Vergabe von Passwörtern fürchte ich. Laut der Anleitung benutzt man in der ca.cnf für in- und output das gleiche Passwort und fügt dieses auch bei der eap.conf hinzu. Dies habe ich auch durchgeführt, jedoch tritt im Debug Modus nun ein Fehler auf. Wenn ich die Passwört auf "whatever" stehen lasse, erscheint dieser Fehler nicht.
Hier der letzten Absätze meines Debugs:
http://www.motschnig.de/saen/radiusd-x.png
Gruß
Sven
Hey! Das mit dem Bilder hochladen über das Forum habe ich bei deinen Bildern gesehen, aber wusste nicht genau wo das geht. Hat sich aber jetzt erledigt!
Zu meinem RADIUS Problem. Ich denke ich habe einen sehr trivialen Fehler gemacht. Und zwar habe ich die Passwörter in der "server.cnf" nicht geändert! Ledeglich in der "ca.cnf". Wie du schon richtig erahnt hast! Hab aber den Hinweis sowohl ind deiner als auch in der Beschreibung von heise nicht gefunden. Aber ist wahrscheinlich selbstverständlich, nur für micht wieder nicht...
Danke Dir!
Zu meinem RADIUS Problem. Ich denke ich habe einen sehr trivialen Fehler gemacht. Und zwar habe ich die Passwörter in der "server.cnf" nicht geändert! Ledeglich in der "ca.cnf". Wie du schon richtig erahnt hast! Hab aber den Hinweis sowohl ind deiner als auch in der Beschreibung von heise nicht gefunden. Aber ist wahrscheinlich selbstverständlich, nur für micht wieder nicht...
Danke Dir!
Ich habe das Tutorial komplett gelesen und zwar mehrmals. Da es nicht direkt reibungslos funktioniert hat am Anfang. Auch dein Zitat bezüglich [certificate_authority] habe ich gelesen und so umgesetzt wie es dort steht. Vielleicht habe ich das Zitat anders aufgefasst, als andere Benutzer. Da die Passwörter bei mir unter dem Überschrift [req] stehen, habe ich diese später in der server.cnf außer Acht gelassen. Aber sei es drum...
Hallo,
ich bin es nochmal. Und zwar habe folgende Frage:
Ist es irgendwie möglich einen bereits authentifizierten User zu "sichern" und wenn dieser User sich an einem weiteren PC anmelden will zu blocken?
Also zu meinem Problem...ich habe zu Testzwecken zwei Rechner hier stehen. Wenn ich mich bei Rechner A mit "user1" und eingetragenem Passwort beim RADIUS-Server anmelde, so möchte ich verhindern, dass Rechner B sich auch mit "user1" und dem entsprechenden Passwort anmelden kann. Gibt es eine Beschränkung, dass ein User immer nur an einer Station angemeldet sein darf?
Wenn weiter Informationen benötigt werden, kann ich diese gerne nachliefern.
Ich habe in der freeradius/users ledeglich "benutzer" und Cleartext-password eingetragen, also keine dynamischen VLANs oder ähnliches.
Gruß Sven
ich bin es nochmal. Und zwar habe folgende Frage:
Ist es irgendwie möglich einen bereits authentifizierten User zu "sichern" und wenn dieser User sich an einem weiteren PC anmelden will zu blocken?
Also zu meinem Problem...ich habe zu Testzwecken zwei Rechner hier stehen. Wenn ich mich bei Rechner A mit "user1" und eingetragenem Passwort beim RADIUS-Server anmelde, so möchte ich verhindern, dass Rechner B sich auch mit "user1" und dem entsprechenden Passwort anmelden kann. Gibt es eine Beschränkung, dass ein User immer nur an einer Station angemeldet sein darf?
Wenn weiter Informationen benötigt werden, kann ich diese gerne nachliefern.
Ich habe in der freeradius/users ledeglich "benutzer" und Cleartext-password eingetragen, also keine dynamischen VLANs oder ähnliches.
Gruß Sven
Hallo,
ich hab das Problem das die Anmeldung gar nicht funktioniert oder nur zu einem Teil. Wenn die erste Meldung am Radius gelinkt bekomm ich das
aber das war es auch dann Windows versucht weiter sich zu auth. aber ohne Erfolg ich bekomme auch kein Anmeldefenster weder unter Win7 noch XP
ich hab das Problem das die Anmeldung gar nicht funktioniert oder nur zu einem Teil. Wenn die erste Meldung am Radius gelinkt bekomm ich das
[eap] Request found, released from the list
[eap] EAP/peap
[eap] processing type peap
[peap] processing EAP-TLS
[peap] Received TLS ACK
[peap] ACK handshake fragment handler
[peap] eaptls_verify returned 1
[peap] eaptls_process returned 13
[peap] EAPTLS_HANDLED
++[eap] returns handled
Sending Access-Challenge of id 58 to 192.168.1.110 port 54928
EAP-Message = 0x019c00061900
Message-Authenticator = 0x00000000000000000000000000000000
State = 0x2ccb8c29295795185d24613f69744851
Finished request 6.
Going to the next request
Waking up in 4.7 seconds.
Cleaning up request 1 ID 53 with timestamp +74
Cleaning up request 2 ID 54 with timestamp +74
Cleaning up request 3 ID 55 with timestamp +74
Cleaning up request 4 ID 56 with timestamp +74
Cleaning up request 5 ID 57 with timestamp +74
aber das war es auch dann Windows versucht weiter sich zu auth. aber ohne Erfolg ich bekomme auch kein Anmeldefenster weder unter Win7 noch XP
Guten Morgen Hector,
das Anmeldefenster müsste erscheinen, wenn du unter Adaptereinstellungen -> Eigenschaften deiner Netzwerkkarte, im Register "Authentifizierung" unter "Einstellungen" und dann unter "Konfigurieren" den Haken entfernst bei "Automatisch eigenen Windows-Anmeldenamen und Kennwort (und, Domäne, falls vorhanden) verwenden".
Normalerweise kommt dann bei Herstellung der Netzwerkverbindung ein Anmeldefenster.
Gruß Sven
das Anmeldefenster müsste erscheinen, wenn du unter Adaptereinstellungen -> Eigenschaften deiner Netzwerkkarte, im Register "Authentifizierung" unter "Einstellungen" und dann unter "Konfigurieren" den Haken entfernst bei "Automatisch eigenen Windows-Anmeldenamen und Kennwort (und, Domäne, falls vorhanden) verwenden".
Normalerweise kommt dann bei Herstellung der Netzwerkverbindung ein Anmeldefenster.
Gruß Sven
Jep ich weiß, tuts aber nicht
MD5 kann ich nicht nutzen, ist soweit ich weiss auch seit XP von MS gebanned. Was im Debug rausgekommen ist, klappt aber auch nich immer, das ist es ja. Nein ich benutz keine extra Software oder ähnliches, mein Win ist auch nicht irgendwie bearbeitet. Mit normalen Zertifikaten per TLS klappt es auch
das ich nur mit mschapv2 arbeiten möchte, sprich ich benötigte nur das server cert und nicht extra noch ein client cert, unter linux klappt es auch mit einer ausnahme das ich mich sogar nach ich einmal erfolgreic heingeloggt hab er mich auch mit einem falschen Passwort reinlässt.
edit: hab gerade noch mal das Zertifikat neu erstellt, dass selbe Ergebnis, Win. scheint sich nicht mal beim Radius zu melden da passiert nur Reaktion
edit: hab gerade noch mal das Zertifikat neu erstellt, dass selbe Ergebnis, Win. scheint sich nicht mal beim Radius zu melden da passiert nur Reaktion
Openssl ist vorhanden, sonst hät es ja auch nicht mit EAP-TLS funktioniert. das MSCHAP richtig funktioniert geh ich von aus, da a) es unter linux funktioniert und b) laut "Hersteller" mschap eingerichtet ist per default :/ was seltsam ist, das ja gar keine Meldung im Debug kommt, also müsst ja zumindest irgend eine Reaktion kommen.
edit: habs jetzt noch mal mit einem anderen geräte probiert mit nem frischen xp install, genau das selbe null reaktion beim radius als muss da ja noch was falsch sein
edit: habs jetzt noch mal mit einem anderen geräte probiert mit nem frischen xp install, genau das selbe null reaktion beim radius als muss da ja noch was falsch sein
oder es liegt am ap das der probs mit dem windows client hat, ist ein openwrt
edit: soi noch mal genau drauf geacht, sobald ich mich von windows abmeldet kommen auch meldungen am radius an aber nur dann
so ich hab noch mal ein paar logs.
Wenn ich mich über linux einlogge erhalt ich auf dem AP folgendes
Hingegen wenn ich mich über Windows anmelde
das sieht ja fast so aus als ob Windows gar keine Anfrage für peap mitschickt?
Wie gesagt ich habs mit zwei unterschiedlichen Systemen versucht, irgendwo msus ein haken sein.
edit: soi noch mal genau drauf geacht, sobald ich mich von windows abmeldet kommen auch meldungen am radius an aber nur dann
so ich hab noch mal ein paar logs.
Wenn ich mich über linux einlogge erhalt ich auf dem AP folgendes
Sep 9 21:00:01 AP1 daemon.info hostapd: wlan0: STA 00:25:d3:8c:18:22 WPA: pairwise key handshake completed (RSN)
Sep 9 21:00:01 AP1 daemon.info hostapd: wlan0: STA 00:25:d3:8c:18:22 RADIUS: starting accounting session 4E6A6159-00000000
Sep 9 21:00:01 AP1 daemon.info hostapd: wlan0: STA 00:25:d3:8c:18:22 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
Sep 9 21:01:02 AP1 daemon.info hostapd: wlan0: STA 00:25:d3:8c:18:22 IEEE 802.11: authenticated
Hingegen wenn ich mich über Windows anmelde
Sep 9 21:23:08 AP1 daemon.info hostapd: wlan0: STA 00:25:d3:8c:18:22 IEEE 802.11: authenticated
Sep 9 21:23:08 AP1 daemon.info hostapd: wlan0: STA 00:25:d3:8c:18:22 IEEE 802.11: associated (aid 1)
das sieht ja fast so aus als ob Windows gar keine Anfrage für peap mitschickt?
Wie gesagt ich habs mit zwei unterschiedlichen Systemen versucht, irgendwo msus ein haken sein.
Lösung gefunden, ganz einfach und dämlich. Vielleicht solltest du es aber in dem Tutorial erwähnen und hinzufügen, es wird sicher mehrere mit dem Problem noch geben.
Ich habe keine Popups im Windows aktiviert, da her bekam ich auch nicht die Meldung das ich unten auf das Symbol klicken muss für die Anmeldedaten, dass ist alles....ist auch wieder typisch untypisch.. ich mein bei jeder anderen Anmeldung per ppp(oe), slip usw kommt das Anmeldefenster direkt nach dem verbinden, wieso nicht bei, beim 802.1x Protokoll?
Gruß
Hector
Ich habe keine Popups im Windows aktiviert, da her bekam ich auch nicht die Meldung das ich unten auf das Symbol klicken muss für die Anmeldedaten, dass ist alles....ist auch wieder typisch untypisch.. ich mein bei jeder anderen Anmeldung per ppp(oe), slip usw kommt das Anmeldefenster direkt nach dem verbinden, wieso nicht bei, beim 802.1x Protokoll?
Gruß
Hector
Ja, da steht es mit dem Popupfenster aber nicht, dass wenn man Windows Popups deaktiviert hat, man auf das WLan Icon klicken muss damit das Login Fenster kommt
das hat man aber nur aktiviert mit den selben login daten, wenn man in einer domäne bereits ist wo roadwarriors da her ungeeiegnet und bei mir kam das Popup Fenster eben nicht automatisch sondern erst wenn ich auf das Netzicon klick ob das Problem meines Clients ist, ist mir in dem Falle egal jedenfalls scheint es ein möglicher aber nicht zwingender Fallstrick zu sein.
Hallo,
Ich habe es einfach ohne viel Programmieren hinbekommen, man muss ein SQL-Script laufen lassen das die DB erstellt und dann den Radius auf die DB Einrichten. Fertig.
Auswerten der Daten kann ich ebenfalls selber mit ASP.NET, und NetFrame Work Anwendungen die ich selber Schreibe. Altanative währe noch ein Berichtsserver, der gefällt mir aber nicht so gut. Habe getestet.
LG, Herbrich
Ich habe es einfach ohne viel Programmieren hinbekommen, man muss ein SQL-Script laufen lassen das die DB erstellt und dann den Radius auf die DB Einrichten. Fertig.
Auswerten der Daten kann ich ebenfalls selber mit ASP.NET, und NetFrame Work Anwendungen die ich selber Schreibe. Altanative währe noch ein Berichtsserver, der gefällt mir aber nicht so gut. Habe getestet.
LG, Herbrich
hi aqui
Bist du heute ein bisschen durcheinander?
Dies ist doch deine Anleitung, wie soll Herbrich die auf "gelöst" setzen?
Bist du heute ein bisschen durcheinander?
Dies ist doch deine Anleitung, wie soll Herbrich die auf "gelöst" setzen?
Kann es sein, dass der 802.1X-Standard es den Herstellern offen lässt, welche RADIUS-Attribute unterstützt werden?
Konkret geht es bei mir (die gesamte Situation werde ich auch noch posten - habe dazu noch einige andere Fragen) um ein WLAN mit WPA2/Enterprise und FreeRADIUS. Letzterer läuft auf einer pfSense, und diese soll auch protokollieren, welche IP-Adresse welcher User wann bekommen hat. Mit meiner bisherigen RADIUS-Konfiguration wird allerdings nur die MAC-Adresse des Benutzers aufgezeichnet, die ich dann im DHCP-Log suchen und mit der richtigen IP-Adresse korrelieren muss - denn diese IP brauche ich, um protokollierte Webseitenaufrufen (vermutlich per Squid, aber das steht noch nicht fest ) mit dem User verbinden zu können (selbstverständlich weiß der User das alles vorher!).
RADIUS bietet ja das Attribut 8 "Framed-IP-Address", das sowohl im Access-Request als auch im Access-Accept mitgeschickt werden könnte. Allerdings scheint mein AP (Edimax EW-7416APn V2) das nicht zu verstehen - wenn ich die Framed-IP-Address in der GUI des pfSense-FreeRADIUS eintrage und den DHCP-Server auf dem Interface abschalte, bekommt der Client keine IP (selbstverständlich habe ich auch eine entsprechende Range eingetragen, die vergeben werden kann, die Subnetzmaske [Framed-Route] gesetzt und auch das Gateway [Framed-Route] gesetzt).
Und auch die dynamische VLAN-Zuweisung funktioniert wohl nicht immer. Bei besagter Kombination jedenfalls bekommt der Client die gleiche IP wie ohne VLAN-Eintrag, es ändert sich also gar nichts.
Habt ihr irgendwelche Ideen, woran das liegen könnte?
EDIT: Ok, habe gerade gesehen, dass es nur Gewohnheit ist, dass RADIUS verwendet wird, aber 802.1X grundsätzlich keinen RADIUS-Server vorschreibt.
Konkret geht es bei mir (die gesamte Situation werde ich auch noch posten - habe dazu noch einige andere Fragen) um ein WLAN mit WPA2/Enterprise und FreeRADIUS. Letzterer läuft auf einer pfSense, und diese soll auch protokollieren, welche IP-Adresse welcher User wann bekommen hat. Mit meiner bisherigen RADIUS-Konfiguration wird allerdings nur die MAC-Adresse des Benutzers aufgezeichnet, die ich dann im DHCP-Log suchen und mit der richtigen IP-Adresse korrelieren muss - denn diese IP brauche ich, um protokollierte Webseitenaufrufen (vermutlich per Squid, aber das steht noch nicht fest ) mit dem User verbinden zu können (selbstverständlich weiß der User das alles vorher!).
RADIUS bietet ja das Attribut 8 "Framed-IP-Address", das sowohl im Access-Request als auch im Access-Accept mitgeschickt werden könnte. Allerdings scheint mein AP (Edimax EW-7416APn V2) das nicht zu verstehen - wenn ich die Framed-IP-Address in der GUI des pfSense-FreeRADIUS eintrage und den DHCP-Server auf dem Interface abschalte, bekommt der Client keine IP (selbstverständlich habe ich auch eine entsprechende Range eingetragen, die vergeben werden kann, die Subnetzmaske [Framed-Route] gesetzt und auch das Gateway [Framed-Route] gesetzt).
Und auch die dynamische VLAN-Zuweisung funktioniert wohl nicht immer. Bei besagter Kombination jedenfalls bekommt der Client die gleiche IP wie ohne VLAN-Eintrag, es ändert sich also gar nichts.
Habt ihr irgendwelche Ideen, woran das liegen könnte?
EDIT: Ok, habe gerade gesehen, dass es nur Gewohnheit ist, dass RADIUS verwendet wird, aber 802.1X grundsätzlich keinen RADIUS-Server vorschreibt.
Hi aqui,
danke für die Antwort. Ich bin eigentlich davon ausgegangen, dass der Edimax das Access-Accept-Paket, das er vom RADIUS-Server erhält, selbst auswertet und relevante Bestandteile dann an den User weiterleitet. Denn der AP selbst muss doch auch wissen, ob er den User bzw. dessen Equipment nun durchlassen soll oder nicht?!
Jedenfalls habe ich jetzt nochmal tiefer im RFC nachgeschaut. Und ich habe eine ungute Vermutung: Kann es sein, dass die Adresszuweisung nur funktioniert, wenn ich auch ein passender Protokoll wie PPP oder SLIP verwende? Ich habe ehrlich gesagt gedacht, man könnte auch im normalen LAN die Zuweisung dem RADIUS übertragen, aber im RFC wie auch in diversen Cisco-Dokumenten ist nur von Dial-In bzw. PPP/SLIP die Rede...
Und der Grund wird wohl sein, dass bei Einwahlverbindungen Broadcasts nicht funktionieren, im normalen LAN aber schon - oder?
danke für die Antwort. Ich bin eigentlich davon ausgegangen, dass der Edimax das Access-Accept-Paket, das er vom RADIUS-Server erhält, selbst auswertet und relevante Bestandteile dann an den User weiterleitet. Denn der AP selbst muss doch auch wissen, ob er den User bzw. dessen Equipment nun durchlassen soll oder nicht?!
Jedenfalls habe ich jetzt nochmal tiefer im RFC nachgeschaut. Und ich habe eine ungute Vermutung: Kann es sein, dass die Adresszuweisung nur funktioniert, wenn ich auch ein passender Protokoll wie PPP oder SLIP verwende? Ich habe ehrlich gesagt gedacht, man könnte auch im normalen LAN die Zuweisung dem RADIUS übertragen, aber im RFC wie auch in diversen Cisco-Dokumenten ist nur von Dial-In bzw. PPP/SLIP die Rede...
Und der Grund wird wohl sein, dass bei Einwahlverbindungen Broadcasts nicht funktionieren, im normalen LAN aber schon - oder?
Moin,
wahrscheinlich hab ich grad nur ein Brett vorm Kopf, aber wenn ich alles mache wie in der Anleitung wird das Verzeichnis /var/run/radiusd samt Nutzerrechten nicht automatisch erzeugt.
Wo hab ich da was übersehen?
Gruß Looser27
Edit: Beim manuellen Anlegen ist das Verzeichnis scheinbar nicht abgespeichert worden. Beim zweiten Mal hingegen schon. Alles super!
wahrscheinlich hab ich grad nur ein Brett vorm Kopf, aber wenn ich alles mache wie in der Anleitung wird das Verzeichnis /var/run/radiusd samt Nutzerrechten nicht automatisch erzeugt.
Wo hab ich da was übersehen?
Gruß Looser27
Edit: Beim manuellen Anlegen ist das Verzeichnis scheinbar nicht abgespeichert worden. Beim zweiten Mal hingegen schon. Alles super!
Hallo aqui,
ich versuche mich gerade mal an deiner Anleitung, allerdings unter Ubuntu 12.04 LTS.
Kannst du mir vllt. bei dem Punkt mit den Zertifikaten weiterhelfen?
Das ist unter Ubuntu etwas anders aufgebaut, da bei mir im Cert Verzeichnis keine .ca Datei zu finden ist....
Ich hab da nur die ca.pem server.key und server.pem und ein Textdokument mit Name dh.
Doof gefragt: Es reicht doch wenn ich selbst ein SSL Zert erstelle und die da rein kopiere, oder?
VG
ich versuche mich gerade mal an deiner Anleitung, allerdings unter Ubuntu 12.04 LTS.
Kannst du mir vllt. bei dem Punkt mit den Zertifikaten weiterhelfen?
Das ist unter Ubuntu etwas anders aufgebaut, da bei mir im Cert Verzeichnis keine .ca Datei zu finden ist....
Ich hab da nur die ca.pem server.key und server.pem und ein Textdokument mit Name dh.
Doof gefragt: Es reicht doch wenn ich selbst ein SSL Zert erstelle und die da rein kopiere, oder?
VG
Nee leider sind die Verzeichnisse nicht identisch, naja halb so wild, ich habe es auch so dann hinbekommen
Ich hoffe das ist OK wenn ich das hier quasi als Info mithinzufüge @aqui?
Creating the correct Certificates
When the installation completes you will switch to the directory that holds the files needed for certificate creation. Type the following command:
cd /usr/share/doc/freeradius/examples/certs
Next you need to open the README file by entering the following command:
cat README
The readme file will walk you through the complete process of creating the required certificates, just follow the instructions. There is however a few exceptions. You will need to create two files in the current working directory; serial and index.txt. Be sure to create these two files before creating the certificates. You can create each file by entering the following command:
nano serial
Inside of the serial file enter 01 and then hit Ctrl + X, then y and then press enter
Next create the index.txt file by entering the following command:
nano index.txt
For index.txt before closing file be sure to hit Ctrl +o to writeout the file.
After you have successfully created certificates you will need to copy three files to the /etc/freeradius/certs directory. They are ca.pem, server.key, and server.pem
You can copy the files by entering the following command while still in the following directory
/usr/ share/doc/freeradius/examples/certs
cp ca.pem server.key server.pem /etc/freeradius/certs
With all of that in place (hopefully you’re still with me). You only have a few more things to configure before you will have a working system.
Ich hoffe das ist OK wenn ich das hier quasi als Info mithinzufüge @aqui?
Creating the correct Certificates
When the installation completes you will switch to the directory that holds the files needed for certificate creation. Type the following command:
cd /usr/share/doc/freeradius/examples/certs
Next you need to open the README file by entering the following command:
cat README
The readme file will walk you through the complete process of creating the required certificates, just follow the instructions. There is however a few exceptions. You will need to create two files in the current working directory; serial and index.txt. Be sure to create these two files before creating the certificates. You can create each file by entering the following command:
nano serial
Inside of the serial file enter 01 and then hit Ctrl + X, then y and then press enter
Next create the index.txt file by entering the following command:
nano index.txt
For index.txt before closing file be sure to hit Ctrl +o to writeout the file.
After you have successfully created certificates you will need to copy three files to the /etc/freeradius/certs directory. They are ca.pem, server.key, and server.pem
You can copy the files by entering the following command while still in the following directory
/usr/ share/doc/freeradius/examples/certs
cp ca.pem server.key server.pem /etc/freeradius/certs
With all of that in place (hopefully you’re still with me). You only have a few more things to configure before you will have a working system.
Hey, ich komme leider nicht weiter
ich bin leider nicht mit Linux vertraut. benutze die VirtualBox auf w7 und habe dort OpenSuse laufen.
Habe mich m.M nach auch an die Anleitung gehalten.
Leider gibt es bei mir keine eap.conf.
Ich habe den Quelltext also selbst reinkopiert und das Passwort angepasst. (http://opensource.apple.com/source/freeradius/freeradius-25/freeradius/ ..).
Wär auch zu schön wenn das geklappt hätte. beim Starten des Servers durch den Befehl kommt die Fehlermeldung
"Failed reading private key file /etc/raddb/certs/server.pem:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
rlm_eap_tls: Failed initializing SSL context
rlm_eap (EAP): Failed to initialise rlm_eap_tls
/etc/raddb/mods-enabled/eap[17]: Instantiation failed for module "eap" "
Kann mir jemand sagen, was ursache dafür sein könnte, dass meine eap.conf nicht exisitert hat?
gruß hannes
ich bin leider nicht mit Linux vertraut. benutze die VirtualBox auf w7 und habe dort OpenSuse laufen.
Habe mich m.M nach auch an die Anleitung gehalten.
Leider gibt es bei mir keine eap.conf.
Ich habe den Quelltext also selbst reinkopiert und das Passwort angepasst. (http://opensource.apple.com/source/freeradius/freeradius-25/freeradius/ ..).
Wär auch zu schön wenn das geklappt hätte. beim Starten des Servers durch den Befehl kommt die Fehlermeldung
"Failed reading private key file /etc/raddb/certs/server.pem:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
rlm_eap_tls: Failed initializing SSL context
rlm_eap (EAP): Failed to initialise rlm_eap_tls
/etc/raddb/mods-enabled/eap[17]: Instantiation failed for module "eap" "
Kann mir jemand sagen, was ursache dafür sein könnte, dass meine eap.conf nicht exisitert hat?
gruß hannes
Achso ja nach bestem Gewissen. war mir an manchen stellen nicht ganz sicher:
"Wichtig: Diesen oben in der Datei ca.cnf angepassten Abschnitt unter [certificate_authority], [ CA_default ] passt man mit exakt den gleichen Einträgen (Passwörter etc.) zusätzlich auch in der Datei server.cnf an ! "
Unter den Abschnitten [certificate_authority], [ CA_default ] gibt es bei mir keine Passwörter, also denke ich, dass ich die "req"-passwörter nehmen soll.
In der Server.conf gibt es keine Übeschrift certificate_authority sondern nur Server. Ich habe jetzt zum Testen nur den countryname in DE umgeändert und den Rest in beiden Dateien gelassen. (bei certifacate_authority und server ).
Wird die eap.conf mit freeradius mitinstalliert oder wird sie durch obenstehendes erzeugt?
gruß
"Wichtig: Diesen oben in der Datei ca.cnf angepassten Abschnitt unter [certificate_authority], [ CA_default ] passt man mit exakt den gleichen Einträgen (Passwörter etc.) zusätzlich auch in der Datei server.cnf an ! "
Unter den Abschnitten [certificate_authority], [ CA_default ] gibt es bei mir keine Passwörter, also denke ich, dass ich die "req"-passwörter nehmen soll.
In der Server.conf gibt es keine Übeschrift certificate_authority sondern nur Server. Ich habe jetzt zum Testen nur den countryname in DE umgeändert und den Rest in beiden Dateien gelassen. (bei certifacate_authority und server ).
Wird die eap.conf mit freeradius mitinstalliert oder wird sie durch obenstehendes erzeugt?
gruß
Nachdem nun doch mehreren (unbefugten) Leuten das Kennwort für unser Firmen-WLAN bekannt geworden ist und ich keine Luste habe in (mehr oder weniger) regelmäßigen Abständen das Kennwort zu ändern, habe ich mich jetzt mal so ganz nebenbei mit dem Radius-Thema auseinandergesetzt.
Unser WLAN läuft über Access-Points von Ubiquiti (UniFi) und dafür gibt's schon einen eigenen Server wo die Controller-Software drauf läuft. Auf den Server packe ich jetzt eine VM drauf mit OpenSuse und Radius und dann werde ich meine Ruhe haben
In meiner Test-Umgebung mit einem Access-Point und einem Win7-Notebook hat es super funktioniert!
Jetzt muss ich es nur noch mit ein Paar Smartphones testen.
Auch wenn ich in den letzten 4 Jahren kaum mit Linux gearbeitet habe, konnte ich das komplette System ohne große Probleme aufsetzen.
Vielen Dank an Aqui für diese erstklassige Anleitung!
Unser WLAN läuft über Access-Points von Ubiquiti (UniFi) und dafür gibt's schon einen eigenen Server wo die Controller-Software drauf läuft. Auf den Server packe ich jetzt eine VM drauf mit OpenSuse und Radius und dann werde ich meine Ruhe haben
In meiner Test-Umgebung mit einem Access-Point und einem Win7-Notebook hat es super funktioniert!
Jetzt muss ich es nur noch mit ein Paar Smartphones testen.
Auch wenn ich in den letzten 4 Jahren kaum mit Linux gearbeitet habe, konnte ich das komplette System ohne große Probleme aufsetzen.
Vielen Dank an Aqui für diese erstklassige Anleitung!
Ich hab noch ein Problem den Radius mit dem AD abzugleichen.
Hab mich soweit an die Anleitung gehalten, bekomme jedoch nach Eingabe von freeradius -X folgende Ausgabe:
/etc/freeradius/users[1]: Parse error (check) for entry DEFAULT: Unknown value ntlm_auth for attribute Auth-type
Hat jemand einen Tip für mich?
Die Abfragen ntlm_auth --request-nt-key --domain=DOMAIN --username=user --password=password sind erfolgreich
Gruß
Looser
P.S.: Der Radius läuft bei mir auf nem Ubuntu LTS 14.04 Server. Die restliche Anleitung vom RasPi hat so 1:1 funktioniert
Hab mich soweit an die Anleitung gehalten, bekomme jedoch nach Eingabe von freeradius -X folgende Ausgabe:
/etc/freeradius/users[1]: Parse error (check) for entry DEFAULT: Unknown value ntlm_auth for attribute Auth-type
Hat jemand einen Tip für mich?
Die Abfragen ntlm_auth --request-nt-key --domain=DOMAIN --username=user --password=password sind erfolgreich
Gruß
Looser
P.S.: Der Radius läuft bei mir auf nem Ubuntu LTS 14.04 Server. Die restliche Anleitung vom RasPi hat so 1:1 funktioniert
Einfach kann schließlich jeder....
Ich hätte den Radius halt gerne ausserhalb der Windows Welt.
Deswegen hab ich den Freeradius soweit, dass er schon mal läuft ohne Fehler.
ABER:
Wenn ich versuche einen User anzumelden über ntradping ist die Antwort leider immer noch:
response: Access-Reject
ntlm geht aber.
Ich weiß grad nicht wo ich noch suchen soll.
[pap] WARNING! No "known good" password found for the user.
und
[chap] Cleartext-Password is required for authentication
++[chap] returns invalid
Failed to authenticate the user
Es wird scheinbar das Passwort nicht abgefragt. Doch warum?
Gruß
Looser
Ich hätte den Radius halt gerne ausserhalb der Windows Welt.
Deswegen hab ich den Freeradius soweit, dass er schon mal läuft ohne Fehler.
ABER:
Wenn ich versuche einen User anzumelden über ntradping ist die Antwort leider immer noch:
response: Access-Reject
ntlm geht aber.
Ich weiß grad nicht wo ich noch suchen soll.
[pap] WARNING! No "known good" password found for the user.
und
[chap] Cleartext-Password is required for authentication
++[chap] returns invalid
Failed to authenticate the user
Es wird scheinbar das Passwort nicht abgefragt. Doch warum?
Gruß
Looser
Letzte Zeile: Ready to process requests.
Der freeradius startet und lauscht auch auf Port 1812. Das sehe ich auch daran, dass die noch falsch konfigurierten Handys versuchen eine Verbindung aufzubauen, aber wegen falschem Usernamen und Passwort und Zertifikat abgewiesen werden.
Gruß
Looser
Edit: Ich habe eine mögliche Fehlerquelle ausgemacht. Das Kennwort für den Freeradius, welches auch in den Zertifikaten liegt darf wohl keine Sonderzeichen enthalten (anders als in der Variante ohne AD-Anbindung). Das werde ich morgen noch mal testen mit einem Passwort ohne Sonderzeichen.
Der freeradius startet und lauscht auch auf Port 1812. Das sehe ich auch daran, dass die noch falsch konfigurierten Handys versuchen eine Verbindung aufzubauen, aber wegen falschem Usernamen und Passwort und Zertifikat abgewiesen werden.
Gruß
Looser
Edit: Ich habe eine mögliche Fehlerquelle ausgemacht. Das Kennwort für den Freeradius, welches auch in den Zertifikaten liegt darf wohl keine Sonderzeichen enthalten (anders als in der Variante ohne AD-Anbindung). Das werde ich morgen noch mal testen mit einem Passwort ohne Sonderzeichen.
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_pap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "pap" from file /etc/freeradius/modules/pap
Tue Mar 3 09:01:24 2015 : Debug: pap {
Tue Mar 3 09:01:24 2015 : Debug: encryption_scheme = "auto"
Tue Mar 3 09:01:24 2015 : Debug: auto_header = no
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_chap, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_chap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "chap" from file /etc/freeradius/modules/chap
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_mschap, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_mschap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "mschap" from file /etc/freeradius/modules/mschap
Tue Mar 3 09:01:24 2015 : Debug: mschap {
Tue Mar 3 09:01:24 2015 : Debug: use_mppe = yes
Tue Mar 3 09:01:24 2015 : Debug: require_encryption = yes
Tue Mar 3 09:01:24 2015 : Debug: require_strong = yes
Tue Mar 3 09:01:24 2015 : Debug: with_ntdomain_hack = yes
Tue Mar 3 09:01:24 2015 : Debug: ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --domain=%{%{mschap:NT-Domain}:-MEINEDOMAIN} --challenge=%{%{mschap:Challenge}0} --nt-response=%{%{mschap:NT-Response}0}"
Tue Mar 3 09:01:24 2015 : Debug: allow_retry = yes
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_digest, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_digest
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "digest" from file /etc/freeradius/modules/digest
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_unix, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_unix
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "unix" from file /etc/freeradius/modules/unix
Tue Mar 3 09:01:24 2015 : Debug: unix {
Tue Mar 3 09:01:24 2015 : Debug: radwtmp = "/var/log/freeradius/radwtmp"
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_eap, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_eap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "eap" from file /etc/freeradius/eap.conf
Tue Mar 3 09:01:24 2015 : Debug: eap {
Tue Mar 3 09:01:24 2015 : Debug: default_eap_type = "peap"
Tue Mar 3 09:01:24 2015 : Debug: timer_expire = 60
Tue Mar 3 09:01:24 2015 : Debug: ignore_unknown_eap_types = no
Tue Mar 3 09:01:24 2015 : Debug: cisco_accounting_username_bug = no
Tue Mar 3 09:01:24 2015 : Debug: max_sessions = 4096
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_md5
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-md5
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_leap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-leap
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_gtc
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-gtc
Tue Mar 3 09:01:24 2015 : Debug: gtc {
Tue Mar 3 09:01:24 2015 : Debug: challenge = "Password: "
Tue Mar 3 09:01:24 2015 : Debug: auth_type = "PAP"
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_tls
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-tls
Tue Mar 3 09:01:24 2015 : Debug: tls {
Tue Mar 3 09:01:24 2015 : Debug: rsa_key_exchange = no
Tue Mar 3 09:01:24 2015 : Debug: dh_key_exchange = yes
Tue Mar 3 09:01:24 2015 : Debug: rsa_key_length = 512
Tue Mar 3 09:01:24 2015 : Debug: dh_key_length = 512
Tue Mar 3 09:01:24 2015 : Debug: verify_depth = 0
Tue Mar 3 09:01:24 2015 : Debug: CA_path = "/etc/freeradius/certs"
Tue Mar 3 09:01:24 2015 : Debug: pem_file_type = yes
Tue Mar 3 09:01:24 2015 : Debug: private_key_file = "/etc/freeradius/certs/server.key"
Tue Mar 3 09:01:24 2015 : Debug: certificate_file = "/etc/freeradius/certs/server.pem"
Tue Mar 3 09:01:24 2015 : Debug: CA_file = "/etc/freeradius/certs/ca.pem"
Tue Mar 3 09:01:24 2015 : Debug: private_key_password = "HIERSTEHTMEINPASSOWRT"
Tue Mar 3 09:01:24 2015 : Debug: dh_file = "/etc/freeradius/certs/dh"
Tue Mar 3 09:01:24 2015 : Debug: random_file = "/dev/urandom"
Tue Mar 3 09:01:24 2015 : Debug: fragment_size = 1024
Tue Mar 3 09:01:24 2015 : Debug: include_length = yes
Tue Mar 3 09:01:24 2015 : Debug: check_crl = no
Tue Mar 3 09:01:24 2015 : Debug: cipher_list = "DEFAULT"
Tue Mar 3 09:01:24 2015 : Debug: make_cert_command = "/etc/freeradius/certs/bootstrap"
Tue Mar 3 09:01:24 2015 : Debug: ecdh_curve = "prime256v1"
Tue Mar 3 09:01:24 2015 : Debug: cache {
Tue Mar 3 09:01:24 2015 : Debug: enable = no
Tue Mar 3 09:01:24 2015 : Debug: lifetime = 24
Tue Mar 3 09:01:24 2015 : Debug: max_entries = 255
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: verify {
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: ocsp {
Tue Mar 3 09:01:24 2015 : Debug: enable = no
Tue Mar 3 09:01:24 2015 : Debug: override_cert_url = yes
Tue Mar 3 09:01:24 2015 : Debug: url = "http://127.0.0.1/ocsp/"
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to sub-module rlm_eap_ttls
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating eap-ttls
Tue Mar 3 09:01:25 2015 : Debug: ttls {
Tue Mar 3 09:01:25 2015 : Debug: default_eap_type = "md5"
Tue Mar 3 09:01:25 2015 : Debug: copy_request_to_tunnel = no
Tue Mar 3 09:01:25 2015 : Debug: use_tunneled_reply = no
Tue Mar 3 09:01:25 2015 : Debug: virtual_server = "inner-tunnel"
Tue Mar 3 09:01:25 2015 : Debug: include_length = yes
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to sub-module rlm_eap_peap
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating eap-peap
Tue Mar 3 09:01:25 2015 : Debug: peap {
Tue Mar 3 09:01:25 2015 : Debug: default_eap_type = "mschapv2"
Tue Mar 3 09:01:25 2015 : Debug: copy_request_to_tunnel = no
Tue Mar 3 09:01:25 2015 : Debug: use_tunneled_reply = no
Tue Mar 3 09:01:25 2015 : Debug: proxy_tunneled_request_as_eap = yes
Tue Mar 3 09:01:25 2015 : Debug: virtual_server = "inner-tunnel"
Tue Mar 3 09:01:25 2015 : Debug: soh = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to sub-module rlm_eap_mschapv2
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating eap-mschapv2
Tue Mar 3 09:01:25 2015 : Debug: mschapv2 {
Tue Mar 3 09:01:25 2015 : Debug: with_ntdomain_hack = no
Tue Mar 3 09:01:25 2015 : Debug: send_error = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking authorize {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_preprocess, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_preprocess
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "preprocess" from file /etc/freeradius/modules/preprocess
Tue Mar 3 09:01:25 2015 : Debug: preprocess {
Tue Mar 3 09:01:25 2015 : Debug: huntgroups = "/etc/freeradius/huntgroups"
Tue Mar 3 09:01:25 2015 : Debug: hints = "/etc/freeradius/hints"
Tue Mar 3 09:01:25 2015 : Debug: with_ascend_hack = no
Tue Mar 3 09:01:25 2015 : Debug: ascend_channels_per_line = 23
Tue Mar 3 09:01:25 2015 : Debug: with_ntdomain_hack = no
Tue Mar 3 09:01:25 2015 : Debug: with_specialix_jetstream_hack = no
Tue Mar 3 09:01:25 2015 : Debug: with_cisco_vsa_hack = no
Tue Mar 3 09:01:25 2015 : Debug: with_alvarion_vsa_hack = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_realm, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_realm
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "suffix" from file /etc/freeradius/modules/realm
Tue Mar 3 09:01:25 2015 : Debug: realm suffix {
Tue Mar 3 09:01:25 2015 : Debug: format = "suffix"
Tue Mar 3 09:01:25 2015 : Debug: delimiter = "@"
Tue Mar 3 09:01:25 2015 : Debug: ignore_default = no
Tue Mar 3 09:01:25 2015 : Debug: ignore_null = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_files, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_files
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "files" from file /etc/freeradius/modules/files
Tue Mar 3 09:01:25 2015 : Debug: files {
Tue Mar 3 09:01:25 2015 : Debug: usersfile = "/etc/freeradius/users"
Tue Mar 3 09:01:25 2015 : Debug: acctusersfile = "/etc/freeradius/acct_users"
Tue Mar 3 09:01:25 2015 : Debug: preproxy_usersfile = "/etc/freeradius/preproxy_users"
Tue Mar 3 09:01:25 2015 : Debug: compat = "no"
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking preacct {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_acct_unique, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_acct_unique
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "acct_unique" from file /etc/freeradius/modules/acct_unique
Tue Mar 3 09:01:25 2015 : Debug: acct_unique {
Tue Mar 3 09:01:25 2015 : Debug: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking accounting {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_detail, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_detail
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "detail" from file /etc/freeradius/modules/detail
Tue Mar 3 09:01:25 2015 : Debug: detail {
Tue Mar 3 09:01:25 2015 : Debug: detailfile = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
Tue Mar 3 09:01:25 2015 : Debug: header = "%t"
Tue Mar 3 09:01:25 2015 : Debug: detailperm = 384
Tue Mar 3 09:01:25 2015 : Debug: dirperm = 493
Tue Mar 3 09:01:25 2015 : Debug: locking = no
Tue Mar 3 09:01:25 2015 : Debug: log_packet_header = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_radutmp, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_radutmp
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "radutmp" from file /etc/freeradius/modules/radutmp
Tue Mar 3 09:01:25 2015 : Debug: radutmp {
Tue Mar 3 09:01:25 2015 : Debug: filename = "/var/log/freeradius/radutmp"
Tue Mar 3 09:01:25 2015 : Debug: username = "%{User-Name}"
Tue Mar 3 09:01:25 2015 : Debug: case_sensitive = yes
Tue Mar 3 09:01:25 2015 : Debug: check_with_nas = yes
Tue Mar 3 09:01:25 2015 : Debug: perm = 384
Tue Mar 3 09:01:25 2015 : Debug: callerid = yes
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_attr_filter, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_attr_filter
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/modules/attr_filter
Tue Mar 3 09:01:25 2015 : Debug: attr_filter attr_filter.accounting_response {
Tue Mar 3 09:01:25 2015 : Debug: attrsfile = "/etc/freeradius/attrs.accounting_response"
Tue Mar 3 09:01:25 2015 : Debug: key = "%{User-Name}"
Tue Mar 3 09:01:25 2015 : Debug: relaxed = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking session {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-proxy {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-auth {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "attr_filter.access_reject" from file /etc/freeradius/modules/attr_filter
Tue Mar 3 09:01:25 2015 : Debug: attr_filter attr_filter.access_reject {
Tue Mar 3 09:01:25 2015 : Debug: attrsfile = "/etc/freeradius/attrs.access_reject"
Tue Mar 3 09:01:25 2015 : Debug: key = "%{User-Name}"
Tue Mar 3 09:01:25 2015 : Debug: relaxed = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: } # modules
Tue Mar 3 09:01:25 2015 : Debug: } # server
Tue Mar 3 09:01:25 2015 : Debug: server inner-tunnel { # from file /etc/freeradius/sites-enabled/inner-tunnel
Tue Mar 3 09:01:25 2015 : Debug: modules {
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking authenticate {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking authorize {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking session {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-proxy {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-auth {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: } # modules
Tue Mar 3 09:01:25 2015 : Debug: } # server
Tue Mar 3 09:01:25 2015 : Debug: radiusd: #### Opening IP addresses and Ports ####
Tue Mar 3 09:01:25 2015 : Debug: listen {
Tue Mar 3 09:01:25 2015 : Debug: type = "auth"
Tue Mar 3 09:01:25 2015 : Debug: ipaddr = *
Tue Mar 3 09:01:25 2015 : Debug: port = 0
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: listen {
Tue Mar 3 09:01:25 2015 : Debug: type = "acct"
Tue Mar 3 09:01:25 2015 : Debug: ipaddr = *
Tue Mar 3 09:01:25 2015 : Debug: port = 0
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: listen {
Tue Mar 3 09:01:25 2015 : Debug: type = "auth"
Tue Mar 3 09:01:25 2015 : Debug: ipaddr = 127.0.0.1
Tue Mar 3 09:01:25 2015 : Debug: port = 18120
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Info: ... adding new socket proxy address * port 35674
Tue Mar 3 09:01:25 2015 : Debug: Listening on authentication address * port 1812
Tue Mar 3 09:01:25 2015 : Debug: Listening on accounting address * port 1813
Tue Mar 3 09:01:25 2015 : Debug: Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Tue Mar 3 09:01:25 2015 : Debug: Listening on proxy address * port 1814
Tue Mar 3 09:01:25 2015 : Info: Ready to process requests.
rad_recv: Access-Request packet from host 192.168.10.68 port 49902, id=2, length=55
User-Name = "info@MEINEDOMAIN"
CHAP-Password = 0xa8fe65011d00365d287358a826feb05149
Tue Mar 3 09:01:31 2015 : Info: # Executing section authorize from file /etc/freeradius/sites-enabled/default
Tue Mar 3 09:01:31 2015 : Info: +- entering group authorize {...}
Tue Mar 3 09:01:31 2015 : Info: ++[preprocess] returns ok
Tue Mar 3 09:01:31 2015 : Info: [chap] Setting 'Auth-Type := CHAP'
Tue Mar 3 09:01:31 2015 : Info: ++[chap] returns ok
Tue Mar 3 09:01:31 2015 : Info: ++[mschap] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[digest] returns noop
Tue Mar 3 09:01:31 2015 : Info: [suffix] Looking up realm "MEINEDOMAIN" for User-Name = "info@MEINEDOMAIN"
Tue Mar 3 09:01:31 2015 : Info: [suffix] No such realm "MEINEDOMAIN"
Tue Mar 3 09:01:31 2015 : Info: ++[suffix] returns noop
Tue Mar 3 09:01:31 2015 : Info: [eap] No EAP-Message, not doing EAP
Tue Mar 3 09:01:31 2015 : Info: ++[eap] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[files] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[expiration] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[logintime] returns noop
Tue Mar 3 09:01:31 2015 : Info: [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
Tue Mar 3 09:01:31 2015 : Info: ++[pap] returns noop
Tue Mar 3 09:01:31 2015 : Info: Found Auth-Type = CHAP
Tue Mar 3 09:01:31 2015 : Info: # Executing group from file /etc/freeradius/sites-enabled/default
Tue Mar 3 09:01:31 2015 : Info: +- entering group CHAP {...}
Tue Mar 3 09:01:31 2015 : Info: [chap] login attempt by "info@MEINEDOMAIN" with CHAP password
Tue Mar 3 09:01:31 2015 : Info: [chap] Cleartext-Password is required for authentication
Tue Mar 3 09:01:31 2015 : Info: ++[chap] returns invalid
Tue Mar 3 09:01:31 2015 : Info: Failed to authenticate the user.
Tue Mar 3 09:01:31 2015 : Info: Using Post-Auth-Type Reject
Tue Mar 3 09:01:31 2015 : Info: # Executing group from file /etc/freeradius/sites-enabled/default
Tue Mar 3 09:01:31 2015 : Info: +- entering group REJECT {...}
Tue Mar 3 09:01:31 2015 : Info: [attr_filter.access_reject] expand: %{User-Name} -> info@MEINEDOMAIN
Tue Mar 3 09:01:31 2015 : Debug: attr_filter: Matched entry DEFAULT at line 11
Tue Mar 3 09:01:31 2015 : Info: ++[attr_filter.access_reject] returns updated
Tue Mar 3 09:01:31 2015 : Info: Delaying reject of request 0 for 1 seconds
Tue Mar 3 09:01:31 2015 : Debug: Going to the next request
Tue Mar 3 09:01:31 2015 : Debug: Waking up in 0.9 seconds.
Tue Mar 3 09:01:32 2015 : Info: Sending delayed reject for request 0
Sending Access-Reject of id 2 to 192.168.10.68 port 49902
Tue Mar 3 09:01:32 2015 : Debug: Waking up in 4.9 seconds.
^C
root@radius:/etc/freeradius/modules#
Bzgl. des Sonderzeichens ging es um ein "!". Doch die Änderung des secrets auf eines ohne irgendwelche Sonderzeichen brachte keine Änderung.
Sieht für mich nach einem Problem mit der mschap.conf aus, doch ich such mir da gerade nen Wolf.....
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "pap" from file /etc/freeradius/modules/pap
Tue Mar 3 09:01:24 2015 : Debug: pap {
Tue Mar 3 09:01:24 2015 : Debug: encryption_scheme = "auto"
Tue Mar 3 09:01:24 2015 : Debug: auto_header = no
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_chap, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_chap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "chap" from file /etc/freeradius/modules/chap
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_mschap, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_mschap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "mschap" from file /etc/freeradius/modules/mschap
Tue Mar 3 09:01:24 2015 : Debug: mschap {
Tue Mar 3 09:01:24 2015 : Debug: use_mppe = yes
Tue Mar 3 09:01:24 2015 : Debug: require_encryption = yes
Tue Mar 3 09:01:24 2015 : Debug: require_strong = yes
Tue Mar 3 09:01:24 2015 : Debug: with_ntdomain_hack = yes
Tue Mar 3 09:01:24 2015 : Debug: ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --domain=%{%{mschap:NT-Domain}:-MEINEDOMAIN} --challenge=%{%{mschap:Challenge}0} --nt-response=%{%{mschap:NT-Response}0}"
Tue Mar 3 09:01:24 2015 : Debug: allow_retry = yes
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_digest, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_digest
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "digest" from file /etc/freeradius/modules/digest
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_unix, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_unix
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "unix" from file /etc/freeradius/modules/unix
Tue Mar 3 09:01:24 2015 : Debug: unix {
Tue Mar 3 09:01:24 2015 : Debug: radwtmp = "/var/log/freeradius/radwtmp"
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: (Loaded rlm_eap, checking if it's valid)
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to module rlm_eap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating module "eap" from file /etc/freeradius/eap.conf
Tue Mar 3 09:01:24 2015 : Debug: eap {
Tue Mar 3 09:01:24 2015 : Debug: default_eap_type = "peap"
Tue Mar 3 09:01:24 2015 : Debug: timer_expire = 60
Tue Mar 3 09:01:24 2015 : Debug: ignore_unknown_eap_types = no
Tue Mar 3 09:01:24 2015 : Debug: cisco_accounting_username_bug = no
Tue Mar 3 09:01:24 2015 : Debug: max_sessions = 4096
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_md5
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-md5
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_leap
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-leap
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_gtc
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-gtc
Tue Mar 3 09:01:24 2015 : Debug: gtc {
Tue Mar 3 09:01:24 2015 : Debug: challenge = "Password: "
Tue Mar 3 09:01:24 2015 : Debug: auth_type = "PAP"
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: Module: Linked to sub-module rlm_eap_tls
Tue Mar 3 09:01:24 2015 : Debug: Module: Instantiating eap-tls
Tue Mar 3 09:01:24 2015 : Debug: tls {
Tue Mar 3 09:01:24 2015 : Debug: rsa_key_exchange = no
Tue Mar 3 09:01:24 2015 : Debug: dh_key_exchange = yes
Tue Mar 3 09:01:24 2015 : Debug: rsa_key_length = 512
Tue Mar 3 09:01:24 2015 : Debug: dh_key_length = 512
Tue Mar 3 09:01:24 2015 : Debug: verify_depth = 0
Tue Mar 3 09:01:24 2015 : Debug: CA_path = "/etc/freeradius/certs"
Tue Mar 3 09:01:24 2015 : Debug: pem_file_type = yes
Tue Mar 3 09:01:24 2015 : Debug: private_key_file = "/etc/freeradius/certs/server.key"
Tue Mar 3 09:01:24 2015 : Debug: certificate_file = "/etc/freeradius/certs/server.pem"
Tue Mar 3 09:01:24 2015 : Debug: CA_file = "/etc/freeradius/certs/ca.pem"
Tue Mar 3 09:01:24 2015 : Debug: private_key_password = "HIERSTEHTMEINPASSOWRT"
Tue Mar 3 09:01:24 2015 : Debug: dh_file = "/etc/freeradius/certs/dh"
Tue Mar 3 09:01:24 2015 : Debug: random_file = "/dev/urandom"
Tue Mar 3 09:01:24 2015 : Debug: fragment_size = 1024
Tue Mar 3 09:01:24 2015 : Debug: include_length = yes
Tue Mar 3 09:01:24 2015 : Debug: check_crl = no
Tue Mar 3 09:01:24 2015 : Debug: cipher_list = "DEFAULT"
Tue Mar 3 09:01:24 2015 : Debug: make_cert_command = "/etc/freeradius/certs/bootstrap"
Tue Mar 3 09:01:24 2015 : Debug: ecdh_curve = "prime256v1"
Tue Mar 3 09:01:24 2015 : Debug: cache {
Tue Mar 3 09:01:24 2015 : Debug: enable = no
Tue Mar 3 09:01:24 2015 : Debug: lifetime = 24
Tue Mar 3 09:01:24 2015 : Debug: max_entries = 255
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: verify {
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: ocsp {
Tue Mar 3 09:01:24 2015 : Debug: enable = no
Tue Mar 3 09:01:24 2015 : Debug: override_cert_url = yes
Tue Mar 3 09:01:24 2015 : Debug: url = "http://127.0.0.1/ocsp/"
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:24 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to sub-module rlm_eap_ttls
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating eap-ttls
Tue Mar 3 09:01:25 2015 : Debug: ttls {
Tue Mar 3 09:01:25 2015 : Debug: default_eap_type = "md5"
Tue Mar 3 09:01:25 2015 : Debug: copy_request_to_tunnel = no
Tue Mar 3 09:01:25 2015 : Debug: use_tunneled_reply = no
Tue Mar 3 09:01:25 2015 : Debug: virtual_server = "inner-tunnel"
Tue Mar 3 09:01:25 2015 : Debug: include_length = yes
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to sub-module rlm_eap_peap
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating eap-peap
Tue Mar 3 09:01:25 2015 : Debug: peap {
Tue Mar 3 09:01:25 2015 : Debug: default_eap_type = "mschapv2"
Tue Mar 3 09:01:25 2015 : Debug: copy_request_to_tunnel = no
Tue Mar 3 09:01:25 2015 : Debug: use_tunneled_reply = no
Tue Mar 3 09:01:25 2015 : Debug: proxy_tunneled_request_as_eap = yes
Tue Mar 3 09:01:25 2015 : Debug: virtual_server = "inner-tunnel"
Tue Mar 3 09:01:25 2015 : Debug: soh = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to sub-module rlm_eap_mschapv2
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating eap-mschapv2
Tue Mar 3 09:01:25 2015 : Debug: mschapv2 {
Tue Mar 3 09:01:25 2015 : Debug: with_ntdomain_hack = no
Tue Mar 3 09:01:25 2015 : Debug: send_error = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking authorize {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_preprocess, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_preprocess
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "preprocess" from file /etc/freeradius/modules/preprocess
Tue Mar 3 09:01:25 2015 : Debug: preprocess {
Tue Mar 3 09:01:25 2015 : Debug: huntgroups = "/etc/freeradius/huntgroups"
Tue Mar 3 09:01:25 2015 : Debug: hints = "/etc/freeradius/hints"
Tue Mar 3 09:01:25 2015 : Debug: with_ascend_hack = no
Tue Mar 3 09:01:25 2015 : Debug: ascend_channels_per_line = 23
Tue Mar 3 09:01:25 2015 : Debug: with_ntdomain_hack = no
Tue Mar 3 09:01:25 2015 : Debug: with_specialix_jetstream_hack = no
Tue Mar 3 09:01:25 2015 : Debug: with_cisco_vsa_hack = no
Tue Mar 3 09:01:25 2015 : Debug: with_alvarion_vsa_hack = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_realm, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_realm
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "suffix" from file /etc/freeradius/modules/realm
Tue Mar 3 09:01:25 2015 : Debug: realm suffix {
Tue Mar 3 09:01:25 2015 : Debug: format = "suffix"
Tue Mar 3 09:01:25 2015 : Debug: delimiter = "@"
Tue Mar 3 09:01:25 2015 : Debug: ignore_default = no
Tue Mar 3 09:01:25 2015 : Debug: ignore_null = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_files, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_files
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "files" from file /etc/freeradius/modules/files
Tue Mar 3 09:01:25 2015 : Debug: files {
Tue Mar 3 09:01:25 2015 : Debug: usersfile = "/etc/freeradius/users"
Tue Mar 3 09:01:25 2015 : Debug: acctusersfile = "/etc/freeradius/acct_users"
Tue Mar 3 09:01:25 2015 : Debug: preproxy_usersfile = "/etc/freeradius/preproxy_users"
Tue Mar 3 09:01:25 2015 : Debug: compat = "no"
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking preacct {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_acct_unique, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_acct_unique
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "acct_unique" from file /etc/freeradius/modules/acct_unique
Tue Mar 3 09:01:25 2015 : Debug: acct_unique {
Tue Mar 3 09:01:25 2015 : Debug: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking accounting {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_detail, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_detail
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "detail" from file /etc/freeradius/modules/detail
Tue Mar 3 09:01:25 2015 : Debug: detail {
Tue Mar 3 09:01:25 2015 : Debug: detailfile = "/var/log/freeradius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/detail-%Y%m%d"
Tue Mar 3 09:01:25 2015 : Debug: header = "%t"
Tue Mar 3 09:01:25 2015 : Debug: detailperm = 384
Tue Mar 3 09:01:25 2015 : Debug: dirperm = 493
Tue Mar 3 09:01:25 2015 : Debug: locking = no
Tue Mar 3 09:01:25 2015 : Debug: log_packet_header = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_radutmp, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_radutmp
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "radutmp" from file /etc/freeradius/modules/radutmp
Tue Mar 3 09:01:25 2015 : Debug: radutmp {
Tue Mar 3 09:01:25 2015 : Debug: filename = "/var/log/freeradius/radutmp"
Tue Mar 3 09:01:25 2015 : Debug: username = "%{User-Name}"
Tue Mar 3 09:01:25 2015 : Debug: case_sensitive = yes
Tue Mar 3 09:01:25 2015 : Debug: check_with_nas = yes
Tue Mar 3 09:01:25 2015 : Debug: perm = 384
Tue Mar 3 09:01:25 2015 : Debug: callerid = yes
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: (Loaded rlm_attr_filter, checking if it's valid)
Tue Mar 3 09:01:25 2015 : Debug: Module: Linked to module rlm_attr_filter
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "attr_filter.accounting_response" from file /etc/freeradius/modules/attr_filter
Tue Mar 3 09:01:25 2015 : Debug: attr_filter attr_filter.accounting_response {
Tue Mar 3 09:01:25 2015 : Debug: attrsfile = "/etc/freeradius/attrs.accounting_response"
Tue Mar 3 09:01:25 2015 : Debug: key = "%{User-Name}"
Tue Mar 3 09:01:25 2015 : Debug: relaxed = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking session {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-proxy {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-auth {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Instantiating module "attr_filter.access_reject" from file /etc/freeradius/modules/attr_filter
Tue Mar 3 09:01:25 2015 : Debug: attr_filter attr_filter.access_reject {
Tue Mar 3 09:01:25 2015 : Debug: attrsfile = "/etc/freeradius/attrs.access_reject"
Tue Mar 3 09:01:25 2015 : Debug: key = "%{User-Name}"
Tue Mar 3 09:01:25 2015 : Debug: relaxed = no
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: } # modules
Tue Mar 3 09:01:25 2015 : Debug: } # server
Tue Mar 3 09:01:25 2015 : Debug: server inner-tunnel { # from file /etc/freeradius/sites-enabled/inner-tunnel
Tue Mar 3 09:01:25 2015 : Debug: modules {
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking authenticate {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking authorize {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking session {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-proxy {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: Module: Checking post-auth {...} for more modules to load
Tue Mar 3 09:01:25 2015 : Debug: } # modules
Tue Mar 3 09:01:25 2015 : Debug: } # server
Tue Mar 3 09:01:25 2015 : Debug: radiusd: #### Opening IP addresses and Ports ####
Tue Mar 3 09:01:25 2015 : Debug: listen {
Tue Mar 3 09:01:25 2015 : Debug: type = "auth"
Tue Mar 3 09:01:25 2015 : Debug: ipaddr = *
Tue Mar 3 09:01:25 2015 : Debug: port = 0
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: listen {
Tue Mar 3 09:01:25 2015 : Debug: type = "acct"
Tue Mar 3 09:01:25 2015 : Debug: ipaddr = *
Tue Mar 3 09:01:25 2015 : Debug: port = 0
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Debug: listen {
Tue Mar 3 09:01:25 2015 : Debug: type = "auth"
Tue Mar 3 09:01:25 2015 : Debug: ipaddr = 127.0.0.1
Tue Mar 3 09:01:25 2015 : Debug: port = 18120
Tue Mar 3 09:01:25 2015 : Debug: }
Tue Mar 3 09:01:25 2015 : Info: ... adding new socket proxy address * port 35674
Tue Mar 3 09:01:25 2015 : Debug: Listening on authentication address * port 1812
Tue Mar 3 09:01:25 2015 : Debug: Listening on accounting address * port 1813
Tue Mar 3 09:01:25 2015 : Debug: Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel
Tue Mar 3 09:01:25 2015 : Debug: Listening on proxy address * port 1814
Tue Mar 3 09:01:25 2015 : Info: Ready to process requests.
rad_recv: Access-Request packet from host 192.168.10.68 port 49902, id=2, length=55
User-Name = "info@MEINEDOMAIN"
CHAP-Password = 0xa8fe65011d00365d287358a826feb05149
Tue Mar 3 09:01:31 2015 : Info: # Executing section authorize from file /etc/freeradius/sites-enabled/default
Tue Mar 3 09:01:31 2015 : Info: +- entering group authorize {...}
Tue Mar 3 09:01:31 2015 : Info: ++[preprocess] returns ok
Tue Mar 3 09:01:31 2015 : Info: [chap] Setting 'Auth-Type := CHAP'
Tue Mar 3 09:01:31 2015 : Info: ++[chap] returns ok
Tue Mar 3 09:01:31 2015 : Info: ++[mschap] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[digest] returns noop
Tue Mar 3 09:01:31 2015 : Info: [suffix] Looking up realm "MEINEDOMAIN" for User-Name = "info@MEINEDOMAIN"
Tue Mar 3 09:01:31 2015 : Info: [suffix] No such realm "MEINEDOMAIN"
Tue Mar 3 09:01:31 2015 : Info: ++[suffix] returns noop
Tue Mar 3 09:01:31 2015 : Info: [eap] No EAP-Message, not doing EAP
Tue Mar 3 09:01:31 2015 : Info: ++[eap] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[files] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[expiration] returns noop
Tue Mar 3 09:01:31 2015 : Info: ++[logintime] returns noop
Tue Mar 3 09:01:31 2015 : Info: [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
Tue Mar 3 09:01:31 2015 : Info: ++[pap] returns noop
Tue Mar 3 09:01:31 2015 : Info: Found Auth-Type = CHAP
Tue Mar 3 09:01:31 2015 : Info: # Executing group from file /etc/freeradius/sites-enabled/default
Tue Mar 3 09:01:31 2015 : Info: +- entering group CHAP {...}
Tue Mar 3 09:01:31 2015 : Info: [chap] login attempt by "info@MEINEDOMAIN" with CHAP password
Tue Mar 3 09:01:31 2015 : Info: [chap] Cleartext-Password is required for authentication
Tue Mar 3 09:01:31 2015 : Info: ++[chap] returns invalid
Tue Mar 3 09:01:31 2015 : Info: Failed to authenticate the user.
Tue Mar 3 09:01:31 2015 : Info: Using Post-Auth-Type Reject
Tue Mar 3 09:01:31 2015 : Info: # Executing group from file /etc/freeradius/sites-enabled/default
Tue Mar 3 09:01:31 2015 : Info: +- entering group REJECT {...}
Tue Mar 3 09:01:31 2015 : Info: [attr_filter.access_reject] expand: %{User-Name} -> info@MEINEDOMAIN
Tue Mar 3 09:01:31 2015 : Debug: attr_filter: Matched entry DEFAULT at line 11
Tue Mar 3 09:01:31 2015 : Info: ++[attr_filter.access_reject] returns updated
Tue Mar 3 09:01:31 2015 : Info: Delaying reject of request 0 for 1 seconds
Tue Mar 3 09:01:31 2015 : Debug: Going to the next request
Tue Mar 3 09:01:31 2015 : Debug: Waking up in 0.9 seconds.
Tue Mar 3 09:01:32 2015 : Info: Sending delayed reject for request 0
Sending Access-Reject of id 2 to 192.168.10.68 port 49902
Tue Mar 3 09:01:32 2015 : Debug: Waking up in 4.9 seconds.
^C
root@radius:/etc/freeradius/modules#
Bzgl. des Sonderzeichens ging es um ein "!". Doch die Änderung des secrets auf eines ohne irgendwelche Sonderzeichen brachte keine Änderung.
Sieht für mich nach einem Problem mit der mschap.conf aus, doch ich such mir da gerade nen Wolf.....
Der Request entsteht durch ntradping von meinem Client-PC aus (.68). Der Radius hat .199
Es ist das Domain-Passwort des Users eingetragen. Die ntlm_auth Abfrage funktioniert und ich kann mich auch mit dem Domain-User am Server anmelden.
root@radius:/etc/freeradius/modules# ntlm_auth --request-nt-key --domain=MEINEDOMAIN --username=info --password=USERPASSWORT
NT_STATUS_OK: Success (0x0)
Irgendwie zieht der das Passwort nicht in den freeradius.
Gruß
Looser
Es ist das Domain-Passwort des Users eingetragen. Die ntlm_auth Abfrage funktioniert und ich kann mich auch mit dem Domain-User am Server anmelden.
root@radius:/etc/freeradius/modules# ntlm_auth --request-nt-key --domain=MEINEDOMAIN --username=info --password=USERPASSWORT
NT_STATUS_OK: Success (0x0)
Irgendwie zieht der das Passwort nicht in den freeradius.
Gruß
Looser
Erstmal danke für die Anleitung, habe aber noch ein kleines Problem:
Ich habe den freeradius Server mit opensuse nach der Anleitung erstellt. Zertifikat auch alles ist gut. Wenn ich von meinem Notebook und NTRadPing einen test mache dann klappt alles. Wenn ich jedoch von meinem Smartphone (auf dem ich das root Zertifikat installiert habe) auf das WLAN zugreifen will dann kommt ein error. Der Debugg Modus sagt mir das hier:
rad_recv: Access-Request packet from host 10.xxxx port 45099, id=4, length=65
User-Name = "102f6b-b19bd0"
NAS-Port = 1
NAS-Port-Type = Wireless-802.11
User-Password = "xxxxxxxx"
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "102f6b-b19bd0", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[files] returns noop
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
++[pap] returns noop
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Using Post-Auth-Type REJECT
[attr_filter.access_reject] expand: %{User-Name} -> 102f6b-b19bd0
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Was kann das Problem sein?
Ich habe den freeradius Server mit opensuse nach der Anleitung erstellt. Zertifikat auch alles ist gut. Wenn ich von meinem Notebook und NTRadPing einen test mache dann klappt alles. Wenn ich jedoch von meinem Smartphone (auf dem ich das root Zertifikat installiert habe) auf das WLAN zugreifen will dann kommt ein error. Der Debugg Modus sagt mir das hier:
rad_recv: Access-Request packet from host 10.xxxx port 45099, id=4, length=65
User-Name = "102f6b-b19bd0"
NAS-Port = 1
NAS-Port-Type = Wireless-802.11
User-Password = "xxxxxxxx"
- Executing section authorize from file /etc/raddb/sites-enabled/default
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "102f6b-b19bd0", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
++[files] returns noop
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING! No "known good" password found for the user. Authentication may fail because of this.
++[pap] returns noop
ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user
Failed to authenticate the user.
Using Post-Auth-Type REJECT
- Executing group from file /etc/raddb/sites-enabled/default
[attr_filter.access_reject] expand: %{User-Name} -> 102f6b-b19bd0
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Was kann das Problem sein?
Anscheinend versuchen sich die Smartphones via. Mac Adresse zu authentifizieren. Im DD-WRT Config Menü von meinem Access Point konnte ich im Reiter WLAN/RADUUS das MAC Format von aabbccddeeff auf aa:bb:cc:dd:ee:ff umstellen (wie im Bild oben in der Anleitung). Jetzt kommt im Radius debugg Modus die selbe Fehlermeldung, nur diesesmal halt mit der Mac und Doppelpunkten als Username.
hallo die Anleitung ist gut hab aber noch paar fragen. Hatte vorher nie was mit Radius zu tun und habe noch paar fragen:
Dieses Tutorial beschreibt ja die Authentifizierung via. root Zertifikat UND Username sowie Passwort? Kann man das root Zertifikat auch irgendwie automatisch an Clients schicken wenn sie sich verbinden wollen? Oder muss ich erstmal auf jedes Gerät manuell das Root Zertifikat drauf schieben?
Gibt es noch die möglichkeiten nur nach username und passwort oder NUR via. user Zertifikat sich mit dem Radius Server zu verbinden (EAP-TLS)? Wenn ja wo stelle ich das in der freeradius config ein?
Aber danke für die Anleitung die hat mich schon weit gebracht!
Dieses Tutorial beschreibt ja die Authentifizierung via. root Zertifikat UND Username sowie Passwort? Kann man das root Zertifikat auch irgendwie automatisch an Clients schicken wenn sie sich verbinden wollen? Oder muss ich erstmal auf jedes Gerät manuell das Root Zertifikat drauf schieben?
Gibt es noch die möglichkeiten nur nach username und passwort oder NUR via. user Zertifikat sich mit dem Radius Server zu verbinden (EAP-TLS)? Wenn ja wo stelle ich das in der freeradius config ein?
Aber danke für die Anleitung die hat mich schon weit gebracht!
Habe leider nur ein Windows phone und ein iPhone hier.
Glaube aber eher das es am Accesspoint liegt. In der DD WRT help page steht:
"When sending the authentication request to the RADIUS server, the wireless client use the MAC address as the username. [...]"
Habe zwar "RADIUS Client MAC" in den Accesspoint Einstellungen deaktiviert, hat aber nichts gebracht.
Glaube aber eher das es am Accesspoint liegt. In der DD WRT help page steht:
"When sending the authentication request to the RADIUS server, the wireless client use the MAC address as the username. [...]"
Habe zwar "RADIUS Client MAC" in den Accesspoint Einstellungen deaktiviert, hat aber nichts gebracht.
Ich meinte wegen den Authentifizierungsmethoden, also wo man einstellt ob das Netzwerk via. Zertifikat oder Zertifikat & Username/PW oder nur via Username und PW als anmelde Methode fordert. Das müsste man ja sicher so irgendwo in der Radius config einstellen können.
Bei uns an der Uni hat es gericht einen usernamen und ein Passwort einzugeben. Bei deiner Anleitung wird ja aber noch zusätzlich das root Zertifikat erstellt und am Client eingetragen. Das meine ich.
Bei uns an der Uni hat es gericht einen usernamen und ein Passwort einzugeben. Bei deiner Anleitung wird ja aber noch zusätzlich das root Zertifikat erstellt und am Client eingetragen. Das meine ich.
Ok, aber wenn ich die Authentifizierungsmethode am Client einstelle, wie bekomme ich dann ein Einheitliches System hin? Sonst kann ja Endgerät A sagen ich authentifiziere mich via. Client Zertifikat und Endgerät B kann dann sagen ich authentifiziere mich via. username /Passwort usw.
Kann ich nicht festlegen das der Radius Server nur Authentifizierungen die nach Methode XYZ erfolgt sind annimmt?!
Oder habe ich irgendwo einen Denkfehler?
Kann ich nicht festlegen das der Radius Server nur Authentifizierungen die nach Methode XYZ erfolgt sind annimmt?!
Oder habe ich irgendwo einen Denkfehler?
Konnte jetzt den Access Point bei mir als Fehlerquelle ausmachen, er konnte schlicht kein WPA 2 Enterprise.
Nun frage ich mich aber wieso ich via. Windows Phone und Android einfach so auf das Netz zugreifen kann ohne das mir das Radius Zertifikat vorgelegen wird oder ich es akzeptieren kann? Via. iPhone wird es mir immer automatisch angezeigt, wenn ich es nicht akzeptiere komme ich nicht drauf.
Habe bei keinem gerät irgendein Zertifikat installieren müssen. Nur beim iPhone wird mir das Zertifikat wie gesagt immer automatisch beim verbinden angezeigt... Kann man in einer config Datei serverseitig einstellen das nur user reingelassen werden die das Server Zertifikat annehmen (so wie es bei dem iphone automatisch passiert).
Nun frage ich mich aber wieso ich via. Windows Phone und Android einfach so auf das Netz zugreifen kann ohne das mir das Radius Zertifikat vorgelegen wird oder ich es akzeptieren kann? Via. iPhone wird es mir immer automatisch angezeigt, wenn ich es nicht akzeptiere komme ich nicht drauf.
Habe bei keinem gerät irgendein Zertifikat installieren müssen. Nur beim iPhone wird mir das Zertifikat wie gesagt immer automatisch beim verbinden angezeigt... Kann man in einer config Datei serverseitig einstellen das nur user reingelassen werden die das Server Zertifikat annehmen (so wie es bei dem iphone automatisch passiert).
Tut mir leid habe vergessen zu erwähnen das ich den AP ohne WPA2 Enterprise Unterstützung gegen einen mit getauscht habe.
Habe auch nur diesen einen AP hier stehen. Also daran liegt es nicht.
Heise beispielsweise erwähnt das Phänomen auch. Aber ohne darauf einzugehen:
"Windows Phone überprüft die Zertifikate ab Werk normalerweise nicht. Sollte die Überprüfung aufgrund eines anderen Tests dennoch aktiv sein, wählen Sie „WLAN“ unter „Einstellungen“ und selektieren das gewünschte Funknetz. Deaktivieren Sie dort „Serverzertifikat überprüfen“. Unter Android reicht es beim Login-Dialog, die Felder „CA-Zertifikat“ und „Benutzerzertifikat“ leer zu lassen. Auf dem iPhone bestätigen Sie ohne installiertes Zertifikat die Identität des Radius-Servers. Lassen Sie sich hierzu die Details des Stammzertifikats beim Verbindungsaufbau anzeigen. Sobald sie es akzeptieren, sollte die Verbindung funktionieren. "
http://www.heise.de/ct/hotline/FAQ-Radius-2081948.html
Genau das ist mein Problem: das iPhone zwingt einen sozusagen die Details vom Stammzertifikat anzuzeigen, WP8 und Android interessiert das wenig. Die verlangen kein Zertifikat und zeigen mir auch keins. Das macht (leider) nur das iPhone.
Habe auch nur diesen einen AP hier stehen. Also daran liegt es nicht.
Heise beispielsweise erwähnt das Phänomen auch. Aber ohne darauf einzugehen:
"Windows Phone überprüft die Zertifikate ab Werk normalerweise nicht. Sollte die Überprüfung aufgrund eines anderen Tests dennoch aktiv sein, wählen Sie „WLAN“ unter „Einstellungen“ und selektieren das gewünschte Funknetz. Deaktivieren Sie dort „Serverzertifikat überprüfen“. Unter Android reicht es beim Login-Dialog, die Felder „CA-Zertifikat“ und „Benutzerzertifikat“ leer zu lassen. Auf dem iPhone bestätigen Sie ohne installiertes Zertifikat die Identität des Radius-Servers. Lassen Sie sich hierzu die Details des Stammzertifikats beim Verbindungsaufbau anzeigen. Sobald sie es akzeptieren, sollte die Verbindung funktionieren. "
http://www.heise.de/ct/hotline/FAQ-Radius-2081948.html
Genau das ist mein Problem: das iPhone zwingt einen sozusagen die Details vom Stammzertifikat anzuzeigen, WP8 und Android interessiert das wenig. Die verlangen kein Zertifikat und zeigen mir auch keins. Das macht (leider) nur das iPhone.
Was hat das mit Windows Phone zu tun? Android macht genau das selbe. Einzig das iPhone arbeitet da sauber...
Kann man in einer config Datei von freeradius festlegen das die Authentifizierung nur wie beim iPhone passieren soll? Also das niemand durchgelassen wird der das Server Zertifikat nicht akzeptiert?
Kann man in einer config Datei von freeradius festlegen das die Authentifizierung nur wie beim iPhone passieren soll? Also das niemand durchgelassen wird der das Server Zertifikat nicht akzeptiert?
Hallo,
halt auch schön wenn man das Zertifikat nur noch schnell
als ungültig einstuft (Sperrliste) und dann kann niemand
einfach so auf das Netzwerk zugreifen.
Gruß
Dobby
hat man mehr administrativen aufwand.
Aber wenn mal ein Smartphone abhanden kommt ist eshalt auch schön wenn man das Zertifikat nur noch schnell
als ungültig einstuft (Sperrliste) und dann kann niemand
einfach so auf das Netzwerk zugreifen.
Gruß
Dobby
Naja wenn ich am Radius Server im debugg Modus schaue dann sehe ich das sobald sich das iPhone einwählen will der Radius dienst eine Challenge an das iPhone schickt. In dem Fall zeigt er das Zertifikat an und sagt "akzeptiere es". Dann MUSS ich es ja akzeptieren. Sonst lässt er mich nicht rein.
Bei meinem Android und WP8 schickt der Radius Dienst diese Challenge gar nicht. Wieso? Unterdrücken die Smartphones das? Wie handelt der Radius Dienst aus wer was für Challenge's bekommt? Irgendwo muss das ja geregelt sein?! Sonst wäre alles ja völlig egal und das verstehe ich nicht. Smartphone OS hin oder her, es muss ja am Radius Dienst liegen was er für Zugangs Voraussetzungen für die einzelnen Endgeräte festlegt. Ist doch irre das der dienst zum iPhone sagt "du kommst nur rein wenn du mein Zertifikat bestätigst" aber zu den Android und WP8 Geräten "ihr dürft einfach so rein".
Oder hat Apple gesagt "wir designen unser Smartphone OS so das das iPhone Automatisch eine Zertifikatsabfrage startet sobald man sich mit einem WPA2-Enterprise geschütztem WLAN verbinden will".
Bei meinem Android und WP8 schickt der Radius Dienst diese Challenge gar nicht. Wieso? Unterdrücken die Smartphones das? Wie handelt der Radius Dienst aus wer was für Challenge's bekommt? Irgendwo muss das ja geregelt sein?! Sonst wäre alles ja völlig egal und das verstehe ich nicht. Smartphone OS hin oder her, es muss ja am Radius Dienst liegen was er für Zugangs Voraussetzungen für die einzelnen Endgeräte festlegt. Ist doch irre das der dienst zum iPhone sagt "du kommst nur rein wenn du mein Zertifikat bestätigst" aber zu den Android und WP8 Geräten "ihr dürft einfach so rein".
Oder hat Apple gesagt "wir designen unser Smartphone OS so das das iPhone Automatisch eine Zertifikatsabfrage startet sobald man sich mit einem WPA2-Enterprise geschütztem WLAN verbinden will".
Oder hat Apple gesagt "wir designen unser Smartphone OS so das
Apple kann halt von Haus aus mit Zertifikaten umgehen!!!Da es nämlich ein professionelles OS ist.
Gruß
Dobby
Wenn ich mich mit Windows anmelden will kommt folgende Nachricht:
rad_recv: Access-Request packet from host 10.XX.XX.X port 2049, id=0, length=125
User-Name = "tester"
NAS-IP-Address = 10.XXXXXXXXXX
Called-Station-Id = "001839ae6f5c"
Calling-Station-Id = "a088b4843fbc"
NAS-Identifier = "001839ae6f5c"
NAS-Port = 7
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
EAP-Message = 0x0200000b01746573746572
Message-Authenticator = 0xec89df535c28838d2a59b21ed8c67013
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "XXXX", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] EAP packet type response id 0 length 11
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
[files] users: Matched entry tester at line 206
++[files] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING: Auth-Type already set. Not setting to PAP
++[pap] returns noop
Found Auth-Type = EAP
[eap] EAP Identity
[eap] processing type tls
[tls] Initiate
[tls] Start returned 1
++[eap] returns handled
Sending Access-Challenge of id 0 to 10.XXXXXXX port 2049
EAP-Message = 0x010100061920
Message-Authenticator = 0x00000000000000000000000000000000
State = 0x2ff2e50a2ff3fc1fc2fdc4253d86415b
Finished request 1.
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 1 ID 0 with timestamp +1017
WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING: !! EAP session for state 0x2ff2e50a2ff3fc1f did not finish!
WARNING: !! Please read http://wiki.freeradius.org/Certificate_Compatibility
WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ready to process requests.
Das Windows Fenster zum Usernamen /PW eingeben ploppt dann einfach nochmal auf. Egal ob ich Zertifikats Überprüfung für das WLAN Netz aus oder einschalte.
Wo ist das Problem? Aus der Wiki Seite bin ich nicht schlau geworden. Als Zertifikat fungiert ein Firmeneigenes. Unter raddb/eap.conf habe ich auf das entsprechende Zertifikat hingewiesen.
rad_recv: Access-Request packet from host 10.XX.XX.X port 2049, id=0, length=125
User-Name = "tester"
NAS-IP-Address = 10.XXXXXXXXXX
Called-Station-Id = "001839ae6f5c"
Calling-Station-Id = "a088b4843fbc"
NAS-Identifier = "001839ae6f5c"
NAS-Port = 7
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
EAP-Message = 0x0200000b01746573746572
Message-Authenticator = 0xec89df535c28838d2a59b21ed8c67013
- Executing section authorize from file /etc/raddb/sites-enabled/default
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "XXXX", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] EAP packet type response id 0 length 11
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
[files] users: Matched entry tester at line 206
++[files] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING: Auth-Type already set. Not setting to PAP
++[pap] returns noop
Found Auth-Type = EAP
- Executing group from file /etc/raddb/sites-enabled/default
[eap] EAP Identity
[eap] processing type tls
[tls] Initiate
[tls] Start returned 1
++[eap] returns handled
Sending Access-Challenge of id 0 to 10.XXXXXXX port 2049
EAP-Message = 0x010100061920
Message-Authenticator = 0x00000000000000000000000000000000
State = 0x2ff2e50a2ff3fc1fc2fdc4253d86415b
Finished request 1.
Going to the next request
Waking up in 4.9 seconds.
Cleaning up request 1 ID 0 with timestamp +1017
WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING: !! EAP session for state 0x2ff2e50a2ff3fc1f did not finish!
WARNING: !! Please read http://wiki.freeradius.org/Certificate_Compatibility
WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ready to process requests.
Das Windows Fenster zum Usernamen /PW eingeben ploppt dann einfach nochmal auf. Egal ob ich Zertifikats Überprüfung für das WLAN Netz aus oder einschalte.
Wo ist das Problem? Aus der Wiki Seite bin ich nicht schlau geworden. Als Zertifikat fungiert ein Firmeneigenes. Unter raddb/eap.conf habe ich auf das entsprechende Zertifikat hingewiesen.
Hab das Firmenzertifikat wieder gelöscht, die zertifikatspfade in der eap.conf wieder zurückgesetzt und ein neues ca.der anhand der Anleitung erstellt, rüber kopiert. Same Problem, der Server sendet die ganze zeit Access-Challanges die wohl irgendwie nicht beim Klient ankommt. Ich sehe nur das der Client die ganze zeit neue anfragen sendet und immer wieder eine neue access-challange vom Server zurückgesendet wird.
Nach paar Sekunden beendet der Client die anfrage weil er keine Rückmeldung bekommt.
-xxx debugg
rad_recv: Access-Request packet from host 10.xxxxxxxxxx port 2049, id=2, length=125
User-Name = "xxxxxx"
NAS-IP-Address = 10.xxxxxxxxxx
Called-Station-Id = "001839ae6f5c"
Calling-Station-Id = "64a3cb76299e"
NAS-Identifier = "001839ae6f5c"
NAS-Port = 1
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
EAP-Message = 0x0201000b01746573746572
Message-Authenticator = 0x40e7d8b670dd69b1ff7b9641c4f65d9e
Fri Mar 13 17:20:50 2015 : Info: # Executing section authorize from file /etc/raddb/sites-enabled/default
Fri Mar 13 17:20:50 2015 : Info: +- entering group authorize {...}
Fri Mar 13 17:20:50 2015 : Info: ++[preprocess] returns ok
Fri Mar 13 17:20:50 2015 : Info: ++[chap] returns noop
Fri Mar 13 17:20:50 2015 : Info: ++[mschap] returns noop
Fri Mar 13 17:20:50 2015 : Info: ++[digest] returns noop
Fri Mar 13 17:20:50 2015 : Info: [suffix] No '@' in User-Name = "tester", looking up realm NULL
Fri Mar 13 17:20:50 2015 : Info: [suffix] No such realm "NULL"
Fri Mar 13 17:20:50 2015 : Info: ++[suffix] returns noop
Fri Mar 13 17:20:50 2015 : Info: [eap] EAP packet type response id 1 length 11
Fri Mar 13 17:20:50 2015 : Info: [eap] No EAP Start, assuming it's an on-going EAP conversation
Fri Mar 13 17:20:50 2015 : Info: ++[eap] returns updated
Fri Mar 13 17:20:50 2015 : Info: [files] users: Matched entry tester at line 204
Fri Mar 13 17:20:50 2015 : Info: ++[files] returns ok
Fri Mar 13 17:20:50 2015 : Info: ++[expiration] returns noop
Fri Mar 13 17:20:50 2015 : Info: ++[logintime] returns noop
Fri Mar 13 17:20:50 2015 : Info: [pap] WARNING: Auth-Type already set. Not setting to PAP
Fri Mar 13 17:20:50 2015 : Info: ++[pap] returns noop
Fri Mar 13 17:20:50 2015 : Info: Found Auth-Type = EAP
Fri Mar 13 17:20:50 2015 : Info: # Executing group from file /etc/raddb/sites-enabled/default
Fri Mar 13 17:20:50 2015 : Info: +- entering group authenticate {...}
Fri Mar 13 17:20:50 2015 : Info: [eap] EAP Identity
Fri Mar 13 17:20:50 2015 : Info: [eap] processing type tls
Fri Mar 13 17:20:50 2015 : Info: [tls] Initiate
Fri Mar 13 17:20:50 2015 : Info: [tls] Start returned 1
Fri Mar 13 17:20:50 2015 : Info: ++[eap] returns handled
Sending Access-Challenge of id 2 to 10.xxxxxxxxx port 2049
EAP-Message = 0x010200061920
Message-Authenticator = 0x00000000000000000000000000000000
State = 0xfb6b7d37fb6964402eccde10530c1437
Fri Mar 13 17:20:50 2015 : Info: Finished request 3.
Fri Mar 13 17:20:50 2015 : Debug: Going to the next request
Fri Mar 13 17:20:50 2015 : Debug: Waking up in 4.9 seconds.
Fri Mar 13 17:20:55 2015 : Info: Cleaning up request 3 ID 2 with timestamp +18
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !! EAP session for state 0xfb6b7d37fb696440 did not finish!
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !! Please read http://wiki.freeradius.org/Certificate_Compatibility
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Fri Mar 13 17:20:55 2015 : Info: Ready to process requests.
Nach paar Sekunden beendet der Client die anfrage weil er keine Rückmeldung bekommt.
-xxx debugg
rad_recv: Access-Request packet from host 10.xxxxxxxxxx port 2049, id=2, length=125
User-Name = "xxxxxx"
NAS-IP-Address = 10.xxxxxxxxxx
Called-Station-Id = "001839ae6f5c"
Calling-Station-Id = "64a3cb76299e"
NAS-Identifier = "001839ae6f5c"
NAS-Port = 1
Framed-MTU = 1400
NAS-Port-Type = Wireless-802.11
EAP-Message = 0x0201000b01746573746572
Message-Authenticator = 0x40e7d8b670dd69b1ff7b9641c4f65d9e
Fri Mar 13 17:20:50 2015 : Info: # Executing section authorize from file /etc/raddb/sites-enabled/default
Fri Mar 13 17:20:50 2015 : Info: +- entering group authorize {...}
Fri Mar 13 17:20:50 2015 : Info: ++[preprocess] returns ok
Fri Mar 13 17:20:50 2015 : Info: ++[chap] returns noop
Fri Mar 13 17:20:50 2015 : Info: ++[mschap] returns noop
Fri Mar 13 17:20:50 2015 : Info: ++[digest] returns noop
Fri Mar 13 17:20:50 2015 : Info: [suffix] No '@' in User-Name = "tester", looking up realm NULL
Fri Mar 13 17:20:50 2015 : Info: [suffix] No such realm "NULL"
Fri Mar 13 17:20:50 2015 : Info: ++[suffix] returns noop
Fri Mar 13 17:20:50 2015 : Info: [eap] EAP packet type response id 1 length 11
Fri Mar 13 17:20:50 2015 : Info: [eap] No EAP Start, assuming it's an on-going EAP conversation
Fri Mar 13 17:20:50 2015 : Info: ++[eap] returns updated
Fri Mar 13 17:20:50 2015 : Info: [files] users: Matched entry tester at line 204
Fri Mar 13 17:20:50 2015 : Info: ++[files] returns ok
Fri Mar 13 17:20:50 2015 : Info: ++[expiration] returns noop
Fri Mar 13 17:20:50 2015 : Info: ++[logintime] returns noop
Fri Mar 13 17:20:50 2015 : Info: [pap] WARNING: Auth-Type already set. Not setting to PAP
Fri Mar 13 17:20:50 2015 : Info: ++[pap] returns noop
Fri Mar 13 17:20:50 2015 : Info: Found Auth-Type = EAP
Fri Mar 13 17:20:50 2015 : Info: # Executing group from file /etc/raddb/sites-enabled/default
Fri Mar 13 17:20:50 2015 : Info: +- entering group authenticate {...}
Fri Mar 13 17:20:50 2015 : Info: [eap] EAP Identity
Fri Mar 13 17:20:50 2015 : Info: [eap] processing type tls
Fri Mar 13 17:20:50 2015 : Info: [tls] Initiate
Fri Mar 13 17:20:50 2015 : Info: [tls] Start returned 1
Fri Mar 13 17:20:50 2015 : Info: ++[eap] returns handled
Sending Access-Challenge of id 2 to 10.xxxxxxxxx port 2049
EAP-Message = 0x010200061920
Message-Authenticator = 0x00000000000000000000000000000000
State = 0xfb6b7d37fb6964402eccde10530c1437
Fri Mar 13 17:20:50 2015 : Info: Finished request 3.
Fri Mar 13 17:20:50 2015 : Debug: Going to the next request
Fri Mar 13 17:20:50 2015 : Debug: Waking up in 4.9 seconds.
Fri Mar 13 17:20:55 2015 : Info: Cleaning up request 3 ID 2 with timestamp +18
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !! EAP session for state 0xfb6b7d37fb696440 did not finish!
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !! Please read http://wiki.freeradius.org/Certificate_Compatibility
Fri Mar 13 17:20:55 2015 : Debug: WARNING: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Fri Mar 13 17:20:55 2015 : Info: Ready to process requests.
N'Abend @all und Danke @aqui,
ich möchte auch die Linux-Welt ein wenig erkunden und deren Dienste nutzen : RADIUS
Ich habe also in einer VM das neueste SUSE aufgesetzt, Radius nachinstalliert, Firewall abgeschaltet (war gar nicht an :>))
und bin erstmal stupide Deiner Anleitung gefolgt.
Ein paar Fragen:
1. Sind die Leerzeichen vor und hinter der Zuweisung in 'clients.conf' [=] und 'users' [:=] zwingend notwendig?
2. Ist die 'eap.conf' aktuell im SUSE unter '/mods-avaible/eap' zu suchen?
Fehler hatte ich auch drin und habe versucht alles auszumerzen.
Der abschliessende Test mit 'NTRadPing.exe' brachte leider keinen Erfolg: 'response Access-Reject'.
Hier einmal
im ersten Abschnitt der Start des RADIUS-Dienstes,
im zweiten die DebugInfo einer Anmeldung,
im dritten die abweisende Antwort,
Von meinem Win7/64 wird doch Benutzer und Passwort sauber übergeben, so interpretiere ich die DEBUG-Info.
Warum wird der Zugang abgelehnt?
Bin für jede Hilfe dankbar, vor allem auch für das allgemeine Verständnis.
Danke Minion
ich möchte auch die Linux-Welt ein wenig erkunden und deren Dienste nutzen : RADIUS
Ich habe also in einer VM das neueste SUSE aufgesetzt, Radius nachinstalliert, Firewall abgeschaltet (war gar nicht an :>))
und bin erstmal stupide Deiner Anleitung gefolgt.
Ein paar Fragen:
1. Sind die Leerzeichen vor und hinter der Zuweisung in 'clients.conf' [=] und 'users' [:=] zwingend notwendig?
2. Ist die 'eap.conf' aktuell im SUSE unter '/mods-avaible/eap' zu suchen?
Fehler hatte ich auch drin und habe versucht alles auszumerzen.
Der abschliessende Test mit 'NTRadPing.exe' brachte leider keinen Erfolg: 'response Access-Reject'.
Hier einmal
im ersten Abschnitt der Start des RADIUS-Dienstes,
im zweiten die DebugInfo einer Anmeldung,
im dritten die abweisende Antwort,
Listening on auth address * port 1812 as server default
Listening on acct address * port 1813 as server default
Listening on auth address 127.0.0.1 port 18120 as server inner-tunnel
Opening new proxy socket 'proxy address * port 0'
Listening on proxy address * port 37143
Ready to process requests.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Received Access-Request Id 0 from 192.168.xxx.15:61708 to 192.168.xxx.244:1812 length 48
User-Name = 'Gastname'
User-Password = 'GastPW'
(0) # Executing section authorize from file /etc/raddb/sites-enabled/default
(0) authorize {
(0) filter_username filter_username {
(0) if (User-Name != "%{tolower:%{User-Name}}")
(0) EXPAND %{tolower:%{User-Name}}
(0) --> GastPW
(0) if (User-Name != "%{tolower:%{User-Name}}") -> TRUE
(0) if (User-Name != "%{tolower:%{User-Name}}") {
(0) [reject] = reject
(0) } # if (User-Name != "%{tolower:%{User-Name}}") = reject
(0) } # filter_username filter_username = reject
(0) } # authorize = reject
(0) Using Post-Auth-Type Reject
(0) # Executing group from file /etc/raddb/sites-enabled/default
(0) Post-Auth-Type REJECT {
(0) attr_filter.access_reject : EXPAND %{User-Name}
(0) attr_filter.access_reject : --> Gastname
(0) attr_filter.access_reject : Matched entry DEFAULT at line 11
(0) [attr_filter.access_reject] = updated
(0) eap : Request didn't contain an EAP-Message, not inserting EAP-Failure
(0) [eap] = noop
(0) remove_reply_message_if_eap remove_reply_message_if_eap {
(0) if (reply:EAP-Message && reply:Reply-Message)
(0) if (reply:EAP-Message && reply:Reply-Message) -> FALSE
(0) else else {
(0) [noop] = noop
(0) } # else else = noop
(0) } # remove_reply_message_if_eap remove_reply_message_if_eap = noop
(0) } # Post-Auth-Type REJECT = updated
(0) Delaying response for 1 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(0) Sending delayed response
Sending Access-Reject Id 0 from 192.168.XXX.244:1812 to 192.168.XXX.15:61708
Waking up in 3.9 seconds.
(0) Cleaning up request packet ID 0 with timestamp +11
Ready to process requests.
---------------------------------------------------------------------------------------------------------------------------------------------------------------
NTRadPing --> response Access-Reject
Von meinem Win7/64 wird doch Benutzer und Passwort sauber übergeben, so interpretiere ich die DEBUG-Info.
Warum wird der Zugang abgelehnt?
Bin für jede Hilfe dankbar, vor allem auch für das allgemeine Verständnis.
Danke Minion
Series: Netzwerk Grundlagen
Freeradius Management mit WebGUI (german)60Netzwerkverkehr mit NetFlow bzw. IPFIX visualisieren (german)1Link Aggregation (LAG) im Netzwerk (german)17Internet IP Adresse mit Windows Desktop Tool BGInfo anzeigen lassen (german)17Netzwerk Management Server mit Raspberry Pi (german)110Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch (german)96Sichere 802.1x WLAN-Benutzer Authentisierung über Radius (german)121VLANs über 802.1q Trunk auf Windows und Linux Rechnern realisieren (german)