aqui
Goto Top

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...


back-to-topAllgemeine 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 face-wink ) 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 !

back-to-topDer 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.
Apple Macs haben all das schon von sich aus an Bord ! Linux sowieso.
  • 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 !
Das Kommando "service sshd status" zeigt an ob der SSH Server aktiv ist. Ist er es nicht geht man ganz einfach in die Systemeinstellungen mit YAST und klickt System Services (Runlevel). Hier kann man den sshd Server dann automatisch starten lassen beim Systemstart.
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 !

back-to-topRadius 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.

e145ffaca9475d50ddf6a19774f48ac4

Dort klickt man dann in die Paketverwaltung....

22076a66c8aaf11e3ad6ceb4a91ae7ee

...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.

440f3a6487c2c7523d4250600047bda6

Wichtig ist ferner unbedingt noch das Paket make zum Erzeugen der Zertifikate !

62587ed6d5d930df0ad7e32139542ec5

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:

a47fa10829fa876004549e9355f25f21

back-to-topNetzwerk 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
}
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:
"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"  
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).

back-to-topRadius 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 ! face-smile
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

back-to-topRadius 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:

baaa24185af17444e7bd9f6e0c0c107b

...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 !

back-to-topAlternative 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:
ff5420461a5b91930421b78c0a9074b0
Das erspart die Installation eines dedizierten Servers oder einer VM.

back-to-topAlternative 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.
d210b70bd497f4336e31ecb982050199
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 !

back-to-topWLAN 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 !

4e3fbda53a1fbd09861f182398610d03
(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:
f7662b4d1049ecd1c7ae3f0b30c074cd
DD-WRT Variante (z.B. D-Link DIR-300 oder Linksys WRT54Gl etc.):
ff4e2b6f84d2b8e20b12b7119f73a228
AirLive AP-5460:
2470ad8da247dcb43109f41c3085ee41
Edimax EW-7416APn V2:

32c9c5b0e52ce9c89c663280b426ed6d

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 !

back-to-topWLAN 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:

18dda5035a62a147df654013765a6355

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:

11f1801150739494b4e21497d2a6ecc4

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:

d3357c5518a85c2767a506c685c926c6

b004a9bcf1894b8055ba29d08c78792a

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:

e6b5d8907e43626ea9704ffd73b52d84

Bei einem Apple Mac Book sind die Einstellungen ebenfalls analog. Wichtig ist hier nur die Authentifizierungsmethoden PEAP und EAP-TTLS zu erlauben !
4e9c332c8f6c9561080ea6cbb59bc4eb
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.

back-to-topPraxis 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 !


back-to-topWeiterfü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

Content-ID: 142241

Url: https://administrator.de/tutorial/sichere-802-1x-wlan-benutzer-authentisierung-ueber-radius-142241.html

Ausgedruckt am: 21.12.2024 um 12:12 Uhr

SamvanRatt
SamvanRatt 05.05.2010 um 22:29:34 Uhr
Goto Top
Super Anleitung; habe mich mit wrt und den radius server plugins nur mit enorm viel Zeitaufwand und wikipedia/foren durcharbeiten können. Aber man wird schlauer!
Gruß
Sam
mrtux
mrtux 05.05.2010 um 23:11:34 Uhr
Goto Top
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
AdmWomby
AdmWomby 06.05.2010 um 07:36:24 Uhr
Goto Top
Super Anleitung, Danke Aqui.
Du hast genau den Nerv getroffen.
Ich hoffe nur, dass dies sich einige Firmenadmins zu Herzen nehmen. Es gibt so viele Unternehmen die nichts von Sicherheit halten.
OK es muß ja nicht immer Linux sein, ist eben was für Spezialisten.
gruss
57675
57675 06.05.2010 um 13:01:15 Uhr
Goto Top
sehr schöne Anleitung. Vielen Dank für die Mühe.
aqui
aqui 06.05.2010 um 21:18:00 Uhr
Goto Top
@AdmWomby
Na ja, ein Spezialist muss man ja nicht sein um eine DVD ins Laufwerk zu stecken und 3 einfache Text Dateien zu editieren. Es sei denn jemand der das kann ist für dich dann schon ein Spezialist ?!
An der Einrichtung ist nichts kompliziert, so das auch Otto Normal Admin das problemlos hinbekommen sollte...
Ansonsten eine VmWare zu Demo kost nix, ein OpenSuSE auch nicht und nen ollen WLAN AP hat man noch rumliegen so das man auch erstmal ohne großen finanziellen Aufwand etwas heimlich üben kann zuhause face-wink
RowYea
RowYea 31.05.2010 um 08:47:46 Uhr
Goto Top
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).
aqui
aqui 31.05.2010 um 11:47:12 Uhr
Goto Top
Eine Zertifikats basierende Authentisierung ist immer Geräte spezifisch. Klappt also nur mit dem gerät das auch das Zertifikat installiert hat UND mit den entsprechenden Benutzer Daten...also eine doppelte Absicherung wenn du so willst. Ein doppeltes Login ist per se unterbunden damit.
Du verwechselst hier allerdings etwas und mischst wild 2 Verfahren... Ein "Voucher" Passwort ist ein sog. "Einmalpasswort" das nur ein einziges Mal gültig ist und nach Ablauf verfällt. So etwas ist üblich für Hotspots hat aber mit einer Zertifikats basierenden Authentifizierung nichts zu tun !
Mit der Monowall kannst du aber auch Captive Portal User UND WLAB Clients über den Radius authentifizieren. Zudem kannst du auch noch eine Mac Filterliste anlegen usw. usw. Kombinationen sind also denkbar.
Leider schmeisst du nur wirr mehrere Staements in den Raum definierst aber nicht klar was du eigentlich erreichen willst ?!
Wenn es dir nur ums doppelte Login geht, dann geht das so oder so mit einem Voucher Code gar nicht. Zudem kannst du bei der Monowall im Captive Portal Setup auch ganz klar einen Mehrfach Login unterbinden so das das ganz sicher ausgeschlossen ist. Stichwort concurrent login.
Kann es sein das du das Handbuch bzw. die Dokumentation des CP nicht gelesen hast ??? Sorry...
RowYea
RowYea 31.05.2010 um 12:48:27 Uhr
Goto Top
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.
aqui
aqui 31.05.2010, aktualisiert am 18.10.2012 um 18:42:22 Uhr
Goto Top
Ja, das ist ganz einfach indem du ganz schlicht einfach den Haken bei "Disable Concurrent Logins" setzt. Damit sind parallele Einwahlen ins Captive Portal generell untersagt. Besser noch: wenns parallel genutzt wird fliegt auch derjenige ders weitergegeben hat raus.
So kannst du also jeden Missbruch der Einwahldaten sofort sehen !!
Einfacher gehts ja nicht !

f603b20cc08e33720014532f6158e7aa

Dieser Punkt hat aber mit dem o.a. Tutorial rein gar nichts zu tun, sondern eher was mit dem Hotspot_Tutorial !!!
Bitte also dieses Tutorial nicht mit "fachfremden Themen" aufblähen und weitere Schritte per PM oder einem extra Thread klären !!!
grandma
grandma 03.06.2010 um 11:08:23 Uhr
Goto Top
Aber ein Lobe Lobe ist noch drin oder? face-smile

Sehr schöner Artikel.

Gruß
omma
spacyfreak
spacyfreak 06.06.2010 um 11:05:42 Uhr
Goto Top
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.
aqui
aqui 06.06.2010 um 14:52:45 Uhr
Goto Top
Das ist richtig. Klappt sogar mit dem Home Server 2003 und ist im vorletzten ct' Heft 12/2010, Seite 180 mit dem Artikel "Fensterwächter" als Fortsetzung aufbauend auf das o.a. Tutorial detailiert beschrieben.
http://www.heise.de/ct/inhalt/2010/12/180/
aqui
aqui 03.12.2010 um 18:35:07 Uhr
Goto Top
Windows Schritt für Schritt Anleitung nun auch im Heise Kiosk zum Download:
http://www.heise.de/artikel-archiv/ct/2010/12/180_kiosk
felixcc
felixcc 02.03.2011 um 14:40:48 Uhr
Goto Top
Super formuliert, einfach zu verstehen und gut nachzuvollziehen,
vielen Dank für dieses tolle Tutorial!
wildy0815
wildy0815 30.03.2011 um 23:47:43 Uhr
Goto Top
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
aqui
aqui 31.03.2011 um 13:50:10 Uhr
Goto Top
Ist eigentlich nur möglich wenn du das Zertifikat auch irgendwie, irgendwann schon einmal auf dein Android übertragen hast. Ohne das ist es eigentlich unmöglich !
wildy0815
wildy0815 31.03.2011 um 17:11:09 Uhr
Goto Top
Genau dieser Punkt wurmt mich etwas. Dass dieses eigentlich unmögliche irgendwie geht. Ich habe kein einziges Zertifikat selbst auf dem Phone installiert.
aqui
aqui 31.03.2011 um 17:14:45 Uhr
Goto Top
Das sagen viele und vielleicht wurde es dennoch per Mail etc. automatisch installiert. Oder....dein verwendeter AP hat einen Macke und/oder eine buggy Firmware ?!
Sniffer den Traffic für die Android Authentifizierung doch einmal am Radius genau mit. Zusätzlich lässt du den Radius im Debugger Modus laufen. Da kannst du dann doch detailiert sehen was da abgeht mit dem grünen Android Männchen...
Saensation
Saensation 18.05.2011 um 11:23:27 Uhr
Goto Top
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
aqui
aqui 18.05.2011 um 16:33:20 Uhr
Goto Top
Das Problem ist deine Datei "Server.pem" die kann der Freeradius nicht lesen und scheitert dann an der Initialisierung des EAP Moduls.
Irgendwas läuft da also falsch mit der Generierung deiner Zertifikate.
Du musst nicht nur in der ca.cnf sondern auch zusätzlich in der server.cnf die Passwörter anpassen !
Das Tutorial ist wasserdicht geprüft und die Schritte fürehn sicher zum Erfolg. Es mag sein sofern du keinen SuSE Distripution benutzt und eine ander das das dortige FreeRadius Paket ohne SSL Support kompiliert wurde. Dann scheitert die Zertifikats Installation logischerweise.
Du müsstest es dann selber neu übersetzen oder man kann es auch nacchträglich noch einpflanzen wie bei Debian oder Ubuntu.
Wenn du mit "make" die neuen Zertifikate erzeugst, rennt das fehlerfrei durch ??
Hast du VORHER alle Dateien im Zertifikatsverzeichnis gelöscht wie angegeben ?
Das Kernproblem ist deine "Server.pe," entweder existiert die nicht oder die Zugriffsrechte stimmen nicht !!

P.S.: Du braucht keinen externen Bilderlink zu nutzen !! Das Forum hat eine komfortable "Bilder hochladen" Funktion !
Saensation
Saensation 19.05.2011 um 09:39:48 Uhr
Goto Top
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... face-smile

Danke Dir!
aqui
aqui 19.05.2011 um 09:45:56 Uhr
Goto Top
Sorry, aber dann hast du dir, wie leider oft sehr viele hier, das Tutorial mal wieder nicht richtig durchgelesen... !
Originalzitat aus dem o.a. Tutorial: "Diesen Abschnitt [certificate_authority] wiederholt man mit exakt den gleichen Einträgen auch in der Datei server.cnf "
Der ct' Author hat es auch entsprechend so im Artikel. Also besser immer nochmal genau lesen bevor man solche Gerüchte in die Welt setzt...
Ein gutes hat es aber denn man kann das in der Tat übersehen so das das Tutorial textseitig nun etwas angepasst ist !
Hauptsache ist bei dir klappt nun alles !
Saensation
Saensation 19.05.2011 um 09:56:44 Uhr
Goto Top
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...
aqui
aqui 19.05.2011 um 10:02:23 Uhr
Goto Top
Tutorial ist nun textseitig angepasst, das solche Missverständnisse hoffentlich nicht mehr passieren. Insofern war das Feedback schon wichtig und gut !
Saensation
Saensation 21.07.2011 um 14:43:12 Uhr
Goto Top
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
aqui
aqui 21.07.2011 um 22:15:43 Uhr
Goto Top
Ja das ist möglich aber nicht ganz einfach weil das Radius Protokoll dafür nicht gemacht ist. Mit etwas Tipparbeit klappt es aber.
Die Lösung findest du hier in der FreeRadius Dokumentation:
http://freeradius.org/radiusd/doc/Simultaneous-Use
71988
71988 06.09.2011 um 23:51:51 Uhr
Goto Top
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
[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
Saensation
Saensation 07.09.2011 um 10:41:42 Uhr
Goto Top
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
71988
71988 07.09.2011 um 11:45:05 Uhr
Goto Top
Jep ich weiß, tuts aber nicht face-smile
aqui
aqui 09.09.2011 um 15:24:19 Uhr
Goto Top
Dann hast du irgendwas an deinem Windows verbogen ?! Das solltest du als allererstes wieder fixen.
Bist du dir sicher das du EAP/PEAP machst ?? Ggf. MD-5 in den Settings einstellen und damit versuchen. Obgleich oben die EAP Konfig ja im Debugging vermeldet das alles sauber durchgelaufen ist.
Bekommst du ein "Access accept" am Schluss vom Radius im Debug Output ?? Wenn ja dann liegt dein Problem an der Client Einstellung ! Benutzt du das das Windows eigene oder ggf. ein externes Tool der WLAN Hardware ?
71988
71988 09.09.2011 um 16:19:42 Uhr
Goto Top
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
aqui
aqui 09.09.2011 um 16:21:45 Uhr
Goto Top
...Mit normalen Zertifikaten per TLS klappt es auch... Ähem...wo ist denn dann dein Problem ?
71988
71988 09.09.2011 um 16:35:30 Uhr
Goto Top
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
aqui
aqui 09.09.2011 um 17:20:05 Uhr
Goto Top
Irgendwie ist deine Shift Taste defekt.... face-sad
MSChapv2 und das Server Cert. ist ja Standard und ja auch genau so oben im Tutorial beschrieben und klappt mit der o.a. Konfig absolut problemlos wenn man alles entsprechend im FreeRadius konfiguriert hat.
Bedenke das nur bei der SuSE Distro der Freeradius mit OpenSSL Support kompiliert ist. Die anderen Distros haben das NICHT !
Siehe hier am Beispiel Ubuntu/Debian:
http://www.heise.de/netze/artikel/WLAN-sichern-mit-Radius-1075339.html? ...
Da musst du das FreeRadius Paket manuell selber mit OpenSSL übersetzen oder das nachträglich reinbasteln. OpenSSL support ist zwingend erforderlich für die Cert. Prüfung ! Ohne das klappt es nicht.
71988
71988 09.09.2011 um 17:29:34 Uhr
Goto Top
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
aqui
aqui 09.09.2011 um 20:20:57 Uhr
Goto Top
Das ist richtig ! Wenn es mit einem Linux Client sauber funktioniert und nur bei MS nicht hast du de facto ein Client Problem..
71988
71988 09.09.2011 um 20:25:20 Uhr
Goto Top
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

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.
aqui
aqui 10.09.2011 um 11:52:45 Uhr
Goto Top
Richtig, da kommt gar kein PEAP an !! Hast du denn überhaupt PEAP freigeschaltet im Windows Client Setup wie oben im Tutorial beschrieben ??
Bitte die Diskussion per PM weiterführen um hier das Tutorial nicht unnötig aufzublähen ! Es reicht wenn wir die Lösung posten hier....
71988
71988 11.09.2011 um 14:01:19 Uhr
Goto Top
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
aqui
aqui 11.09.2011, aktualisiert am 18.10.2012 um 18:48:15 Uhr
Goto Top
OK, danke für den Tip, das werd ich anpassen. Das 802.1x Tutorial für LAN Switches hat es im Kontext stehen bei der .1x Client Einrichtung:
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Ich werde das aber hier auch noch übernehmen in den Text...
71988
71988 11.09.2011 um 17:36:47 Uhr
Goto Top
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 face-wink
aqui
aqui 12.09.2011 um 11:59:37 Uhr
Goto Top
Das muss man auch nicht, denn es erscheint automatisch beim Verbindungsaufbau. Es ist kein zusätzlicher Klick erforderlich. Sonst hast du da wieder was falsch gemacht bei deinem Client.
Eigentlich ist es auch komplett sinnlos, denn normalerweise lässt man automatisch die Login Daten des Users senden und aktiviert das Popup im .1x Client gar nicht erst. Wozu auch, denn es quält den Benutzer mit einem weiteren überflüssigen Fenster.
Sinnvoll ist es dann nur wenn die .1x Benutzerdaten von denen des Client PC unterschiedlich sind, was natürlichweise sehr selten vorkommt und ja eher meist ein Indiz für ein Sicherheitsproblem ist ?!
71988
71988 13.09.2011 um 15:57:14 Uhr
Goto Top
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.
aqui
aqui 14.09.2011 um 10:30:09 Uhr
Goto Top
Ja, das ist ein Problem deines Clients. Normalerweise poppt sofort das Login Fenster hoch wenn auf einem WLAN einen .1x basierte Abfrage kommt und du im Client Setup die Automatik abgeschaltet hast. Aber egal. Wenn du wechselnde User hast auf ein und demselben Rechner benötigst du ohne interne User Accounts dann diese interaktive Abfrage vor jedem Zugang natürlich...keine Frage.
Abgesehen davon wäre es dann aber sinnvoller auch diese User erst am Rechner wechseln zu lassen, dann sparst du dir das Popup Window. Es gibt aber viele Wege nach Rom....
Herbrich19
Herbrich19 08.11.2013 um 14:28:09 Uhr
Goto Top
Hallo,

Also ich habe es mit einen IAS eingerichtet (HEimnetzwerk), jetzt würde ich aber gerne mal Accounting Aktivieren. Er soll die Daten alle in eine MSSQL-Datenbanck schreiben oder am besten in ein Microsoft-CRM system verfügbar machen.

LG, herbrich
aqui
aqui 11.11.2013 um 16:25:37 Uhr
Goto Top
Das wäre ja relativ einfach. Man aktiviert dann Accounting im Radius Server aktivieren und gut ist…jedenfalls was die Netzwerk Seite und damit den Rahmen des Tutorials anbetrifft.
Für dich stellt sich dann die Aufgabe die Accounting Daten aus dem Radius Server in die SQL Datenbank zu bekommen was per se ein eigenes Thema ist und nicht direkt etwas mit dem Focus des o.a. Tutorials zusammenhängt.
FreeRadius und MySQL bieten dafür feste APIs die man lediglich im Setup aktivieren muss und damit ist das dann einsatzfähig. Ob das bei Winblows auch so ist musst du in deren Dokumentation prüfen.
Herbrich19
Herbrich19 12.11.2013 um 03:08:33 Uhr
Goto Top
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
aqui
aqui 13.11.2013 aktualisiert um 19:11:35 Uhr
Goto Top
Alles wird gut…. face-wink
goscho
goscho 13.11.2013 um 13:25:43 Uhr
Goto Top
Zitat von @aqui:
hi aqui
Bist du heute ein bisschen durcheinander?
Dies ist doch deine Anleitung, wie soll Herbrich die auf "gelöst" setzen?
aqui
aqui 13.11.2013 um 19:12:11 Uhr
Goto Top
Uhhh…Shame on me ! Recht hast du und ist schnell korrigiert face-smile
kingkong
kingkong 12.02.2014 aktualisiert um 15:02:42 Uhr
Goto Top
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.
aqui
aqui 12.02.2014 aktualisiert um 16:17:19 Uhr
Goto Top
Kann es sein, dass der 802.1X-Standard es den Herstellern offen lässt, welche RADIUS-Attribute unterstützt werden?
Jein.... Der Standard Attributsumfang sollte in jedem Falle supportet werden aber bei vielen Billigheimern und Consumer Endgeräten weiss man das oft nie ob dort einfach aus Kostengründen was weggelassen wird.
Wenn sie den Standard im Datenblatt erwähnen müssen sie ihn auch unterstützen. Bei Billigschrott aus China ist aber immer testen der sicherste Weg...
Bei WLAN wird in der Regel nur das Authentisierungs Subset benutzt. Radius kann auch eine IP Adresse zuweisen wie es z.B. bei PPPoE (DSL) ja millionenfach gemacht wird.
Wenn man dich richtig versteht oben dann weisst du die IP Adresse des Clients nicht per Radius zu sondern nutzt dafür Standard DHCP. Da ist es dann ganz klar das Radius diese IP niemals kennt...wie auch ? Das sind ja 2 unterschiedliche Prozesse.
Wenn dann müsstest du auch die IP Adresse per Radius zuweisen lassen damit das transparent ist.
http://wiki.freeradius.org/guide/Ippool%20and%20radius%20clients
Du erwähnst das oben ja auch. Der Edimax ist nicht das Problem der reicht ja nur durch und braucht diese IP auch gar nicht ! Relevant ist der Client, DER muss diesen Pool Offer erkennen.
Die dynamische VLAN Zuweisung mag sein. Wie du im o.a. Thread ja lesen kannst ist das durchaus Hersteller spezifisch was implementiert wird.
Beispiel Cisco's Billigserie, da ist die dyn. VLAN Zuweisung in den SG-200 Modellen nicht supportet in den SG-300er Modellen (und höher) aber schon.
Es ist also auch etwas Gerät- und Preispolicy bei den Herstellern. Ein genauer Blick ins Datenblatt ist hier also schon erforderlich.
.1x ist aber schon sehr eng an Radius gebunden: http://de.wikipedia.org/wiki/IEEE_802.1X
Es gibt fast keinerlei Installation die keinen Radius verwendet.
kingkong
kingkong 13.02.2014 aktualisiert um 09:04:57 Uhr
Goto Top
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?
aqui
aqui 13.02.2014 um 09:18:51 Uhr
Goto Top
das Access-Accept-Paket, das er vom RADIUS-Server erhält, selbst auswertet und relevante Bestandteile dann an den User weiterleitet.
Das ist auch so ! Wenn er als "Authenticator" das erhält, dann aktiviert er die Mac Adresse des Clients in der Forwarding Database des APs und damit können dann Client Pakete durch den AP passieren auf den LAN Port.
Was die IP Adresszuweisung anbetrifft hast du recht. Das geht m.E. nur mit Point to Point Protokollen und nicht im Rahmen von .1x Um ganz sicher zu gehen müsste ich das aber im RFC auch nochmal nachlesen.
Vieles spricht aber dafür. Kabel TV Provider die per DHCP zuweisen machen das auch nicht Radius basiert.
Looser27
Looser27 07.03.2014 aktualisiert um 11:59:37 Uhr
Goto Top
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!
sk-it83
sk-it83 11.06.2014 um 14:08:39 Uhr
Goto Top
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
aqui
aqui 12.06.2014 um 11:02:40 Uhr
Goto Top
Ich meine ja. Komisch, eigentlich sollte Debian und Ubuntu ja gleich sein.....?!
Hast du mal in die Debian Anleitung gesehen (Raspberry Pi) ??
Netzwerk Management Server mit Raspberry Pi
Dort sind die entsprechenden Verzeichnisse aufgeführt. Das sollte dann eigentlich auch bei Ubuntu klappen.
sk-it83
sk-it83 12.06.2014 um 14:06:30 Uhr
Goto Top
Nee leider sind die Verzeichnisse nicht identisch, naja halb so wild, ich habe es auch so dann hinbekommen face-smile

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.
aqui
aqui 13.06.2014 aktualisiert um 15:33:13 Uhr
Goto Top
Das stammt von hier, richtig ?
Hätt' man grafisch ja noch etwas schöner machen können face-wink
Danke aber fürs Feedback. Hilft sicher den Ubuntu Usern hier.
sk-it83
sk-it83 13.06.2014 um 15:49:00 Uhr
Goto Top
Jap erwischt face-smile muss ich das noch als Quelle angeben?

Ich füg es noch ein und am Montag editiere ich das auch noch nach.

Bis dahin ein schönes WE

VG
aqui
aqui 13.06.2014 um 16:01:38 Uhr
Goto Top
Nöö, musst du nicht steht ja jetzt da schon als Quelle face-wink
superhannes93
superhannes93 14.02.2015 um 18:04:00 Uhr
Goto Top
Hey, ich komme leider nicht weiter face-sad

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
aqui
aqui 14.02.2015 um 18:51:17 Uhr
Goto Top
Leider gibt es bei mir keine eap.conf.
Such einfach mal danach mit find / -name eap.conf -print ! Wird die gefunden ?!

Die Fehlermeldung beruht darauf das du schlicht und einfach KEINEN Key (Zertifikat) erzeugt hast und der Server deshalb nicht startet !!
Hast du vergessen den Key zu generieren oder ist was schief gelaufen dabei ??
superhannes93
superhannes93 14.02.2015 um 19:12:37 Uhr
Goto Top
das mit dem find / werd ich nachher mal ausprobieren.
server.key ist im Verzeichnis raddb/certs angezeigt
aqui
aqui 15.02.2015 um 16:49:13 Uhr
Goto Top
Die Frage war ob du das hier auch alles ausgeführt hast nach der Radius Installation:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
superhannes93
superhannes93 15.02.2015 um 19:30:17 Uhr
Goto Top
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ß
aqui
aqui 16.02.2015 aktualisiert um 12:13:58 Uhr
Goto Top
gibt es bei mir keine Passwörter, also denke ich, dass ich die "req"-passwörter nehmen soll.
Ja, das ist richtig ! Achte unbedingt darauf das diese Passwörter (input / output) in beiden .cnf Dateien also ca.cnf und server.cnf absolut identisch sind ! Auch alle inträge die du unter Country, Email Common Name usw. machst.

Sieh dir mal bitte die entsprechenden Schritte bei einer Debian basierten Konfiguration des FreeRadius an.
Das dürfte bei dir identisch sein:
Netzwerk Management Server mit Raspberry Pi

Wenn du danach vorgehst sollte es eigentlich klappen ?!
DrAlcome
DrAlcome 25.02.2015 um 14:26:41 Uhr
Goto Top
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 face-wink

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! face-big-smile
aqui
aqui 26.02.2015 aktualisiert um 22:23:03 Uhr
Goto Top
Zeugt davon das Linux so einfach verständlich ist wie Winblows...nur das man mehr Möglichkeiten hat.
Danke für die Blumen bzgl. der Anleitung face-wink
Tip für das Zertifikat bei Smartphones: Einfach per Email senden, dann kann man es kinderleicht importieren face-wink
P.S. Ein kleiner RasPi tuts übrigens auch als Server: Netzwerk Management Server mit Raspberry Pi
Wobei in deinem Falle die Lösung mit der VM natürlich eleganter und sinnvoller ist...
Looser27
Looser27 27.02.2015 aktualisiert um 10:06:40 Uhr
Goto Top
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
aqui
aqui 27.02.2015 aktualisiert um 11:55:08 Uhr
Goto Top
Was für ein AD hast du ? Windows, LDAP. Bei Windows könntest du dir das auch sparen und dann gleich den NPS nehmen...?!
OK, langweilig da keine Herausforderung und Klicki Bunti, wäre aber ne Option face-smile
Google sonst mal nach Windows AD Freeradius da gibt es Anleitungen zuhauf !
Looser27
Looser27 02.03.2015 um 14:19:30 Uhr
Goto Top
Einfach kann schließlich jeder.... face-wink

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
aqui
aqui 02.03.2015 um 14:22:12 Uhr
Goto Top
Ich hätte den Radius halt gerne ausserhalb der Windows Welt.
Ist auch generell richtig, keine Frage !
über ntradping ist die Antwort leider immer noch: response: Access-Reject
Zeigt das du noch einen Fehler in der Radius Konf hast !!
WAS sagt der Debug Output dann wenn du FreeRadius mit -X startest ?!
Looser27
Looser27 02.03.2015 aktualisiert um 17:51:39 Uhr
Goto Top
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.
aqui
aqui 02.03.2015 um 22:00:05 Uhr
Goto Top
Ready to process requests.
Das sagt ja das alles wunderbar in Ordung ist und er auf eingehende Authentisierungen wartet.
Du musst schon mal auf die Debug Konsole sehen wenn du bei ntradping auf "Los" klickst was dann die Debug Konsole ausgibt !!!
Nicht erst warten und dananch dann wieder sein "rerady" sehen.
dass die noch falsch konfigurierten Handys versuchen eine Verbindung aufzubauen, aber wegen falschem Usernamen und Passwort und Zertifikat abgewiesen werden.
Ääähhh ja und dann ist das Verhalten ja doch normal, oder ? Falsches Zertifikat, keine Authentisierung !
darf wohl keine Sonderzeichen enthalten
Oh man...eine goldene Grundregel in der IT ! keine üöäß
Looser27
Looser27 03.03.2015 aktualisiert um 09:32:17 Uhr
Goto Top
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}face-surprise0} --nt-response=%{%{mschap:NT-Response}face-surprise0}"
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.....
aqui
aqui 03.03.2015 aktualisiert um 10:41:03 Uhr
Goto Top
Ist es dieser eingehende Request vom Endgerät 192.168.10.68 ??
rad_recv: Access-Request packet from host 192.168.10.68 port 49902, id=2, length=55
User-Name = "info@MEINEDOMAIN"
CHAP-Password = 0xa8fe65011d00365d287358a826feb05149

Wenn ja dann gibt es kein eingetragenes Passwort für diesen User:
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.
Looser27
Looser27 03.03.2015 aktualisiert um 11:02:10 Uhr
Goto Top
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
aqui
aqui 03.03.2015 um 10:58:43 Uhr
Goto Top
Es ist das Domain-Passwort des Users eingetragen.
Das scheint falsch zu sein oder hat Sonderzeichen oder sowas ?!
Hast du die chap.conf entsprechend angepasst ?
Looser27
Looser27 03.03.2015 aktualisiert um 12:05:02 Uhr
Goto Top
Wenn Du die mschap meinst, ja. Die habe ich nach Anleitung angepaßt.
Das Userpasswort habe ich extra ohne irgenwelche Sonderzeichen angelegt, also nur Buchstaben und Zahlen.
aqui
aqui 03.03.2015 um 23:02:28 Uhr
Goto Top
Fakt ist aber das der Radius das Passwort nicht hat oder nicht abholt und deshalb die Authentisierung verweigert !
Hast du mal in die Radius Logs gesehen ob dort noch mehr steht ?
Kannst du denn den User so authentisieren am Linux System ?
Looser27
Looser27 04.03.2015 um 10:10:01 Uhr
Goto Top
Das ist ja das seltsame:

Ich kann einen Domain-User am Server anmelden.
Vielleicht ist auch hier was in den Paketen von Ubuntu faul.
Ich setze noch mal neu auf mit OpenSuse und versuch es nochmal.
Wir ham' ja Zeit.... face-wink
B-W-D-I
B-W-D-I 04.03.2015 um 16:06:23 Uhr
Goto Top
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"
  1. Executing section authorize from file /etc/raddb/sites-enabled/default
+- entering group authorize {...}
++[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
  1. Executing group from file /etc/raddb/sites-enabled/default
+- entering group 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?
aqui
aqui 04.03.2015 um 16:22:08 Uhr
Goto Top
Ganz einfach: Für den User mit dem Usernamen "102f6b-b19bd0" ist kein Passwort in der user Datei eingetragen.
B-W-D-I
B-W-D-I 04.03.2015 um 16:31:53 Uhr
Goto Top
Das verstehe ich nicht, bei der WLAN Verbindung sage ich "Verbinden mit Benutzer Name + Kennwort" und dort gebe ich den usernamen "tester" und das dazu gehörige Kennwort ein. Der user existiert in der user Datei, mit meinem Notebook und NTRadPing klappt es mit den Zugangs Daten.
aqui
aqui 04.03.2015 aktualisiert um 16:38:08 Uhr
Goto Top
Du siehst am obigen Debug Output aber ganz klar das dort ein Authentication Request eben NICHT mit dem Usernamen tester ankommt sondern:
rad_recv: Access-Request packet from host 10.xxxx port 45099, id=4, length=65
User-Name = "102f6b-b19bd0"

Da sieht man rein gar nix von einem User tester ?!
B-W-D-I
B-W-D-I 04.03.2015 um 16:45:09 Uhr
Goto Top
Die frage ist warum der nicht User "tester" nimmt sondern User-Name = "102f6b-b19bd0".

102f6b-b19bd0 habe ich aufjedenfall nirgendwo eingetragen.
aqui
aqui 04.03.2015 um 16:52:16 Uhr
Goto Top
Das solltest du denn mal dein Endgerät fragen... face-smile
Es kommt ja zweifelsohne mit dieser Userbezeichnung beim Radius an wie du ja aus dem Debug erkennen kannst.
Trag den User doch spaßeshalber mal ein ! Wenn der dann durchkommt weisst du das er wirklich diesen Usernamen benutzt face-wink
Könnte irgendwie die Mac Adresse oder Teile der Mac Adresse des Gerätes sein ?!
B-W-D-I
B-W-D-I 04.03.2015 aktualisiert um 17:02:44 Uhr
Goto Top
Tatsache es ist die MAC Adresse des Handys. Habe es jetzt mit einem iPhone und einem Windows phone Probiert. Bei beiden kommt als username die Mac Adresse an, nicht "tester" wie ich es eingetragen habe.
B-W-D-I
B-W-D-I 04.03.2015 um 17:11:32 Uhr
Goto Top
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.
daywalker14
daywalker14 05.03.2015 um 09:01:53 Uhr
Goto Top
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!
Looser27
Looser27 05.03.2015 um 09:13:53 Uhr
Goto Top
Wo hast Du denn das Zertifikat installiert?
Unter Android musst Du dem Handy sagen, dass das cert für WiFi ist und nicht, wie im standard für VPN.

Gruß

Looser
B-W-D-I
B-W-D-I 05.03.2015 um 10:16:58 Uhr
Goto Top
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.
aqui
aqui 05.03.2015 um 11:29:54 Uhr
Goto Top
Kann man das root Zertifikat auch irgendwie automatisch an Clients schicken wenn sie sich verbinden wollen?
Ja, bei Windows Clients ist das in einer Doamin Umgebun g problemlos möglich beim Domain Login.
Bei Smartphones ist es am einfachsten man verschickt es per Mail, dann reicht ein Mausklick (oder Fingerklick) auf das Mail und das Zertifikat ist installiert.
daywalker14
daywalker14 05.03.2015 um 15:26:49 Uhr
Goto Top
Danke aqui! Kannst du mir auch bei den anderen Fragen weiterhelfen?
aqui
aqui 05.03.2015 um 15:31:52 Uhr
Goto Top
Schwer, denn WAS ein Endgerät als Usernamen bei .1x mitsendet ist allein vom Endgerät und dessen Konfig abhängig. Da hilft dann nur das Handbuch zum .1x onboard Client.
daywalker14
daywalker14 05.03.2015 um 15:55:20 Uhr
Goto Top
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.
aqui
aqui 05.03.2015 um 17:17:19 Uhr
Goto Top
Bei uns an der Uni hat es gericht einen usernamen und ein Passwort einzugeben.
Weil man euch anders das Server Zertifikat untergeschoben hat (Es ist übrigens NICHT das Root Zertifikat der CA, das wäre fatal !)
Eine Abfrage ohne das Radius Server Zertifikat wäre Blödsinn, denn dann kann jeder beliebige im Netz einen Radius Server reinhängen der Authentifizierungen macht.
Damit wäre dann der Radius Server logischerweise vollkommen ad absurdum geführt und überflüssig.
Das das eben nicht geschieht bewirkt das man die Authentizität des Radius mit einem Zertifikat überprüft.
Ob nur ein Zertifikat oder User / Pass bei .1x verwendet wird konfigurierst du ausschliesslich am Client, nicht am Radius Server.
daywalker14
daywalker14 05.03.2015 um 21:19:07 Uhr
Goto Top
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?
aqui
aqui 06.03.2015 um 09:16:33 Uhr
Goto Top
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.
Ja, das wäre denkbar aber Unsinn. Wenn man nur Zertifikat Authentisierung macht und jemand versucht sich mit User / Pass zu authentisieren geht das ins Leere logischerweise.
Derjenige muss am Client dann umstellen das er nur Zertifikate verwendet und natürlich das Client Zertifikat importieren.
Andersrum funktionierts genau so.
Kann ich nicht festlegen das der Radius Server nur Authentifizierungen die nach Methode XYZ erfolgt sind annimmt?!
Ja, indem an die eine oder andere Methode eben nicht konfiguriert.
B-W-D-I
B-W-D-I 06.03.2015 aktualisiert um 16:57:52 Uhr
Goto Top
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).
aqui
aqui 06.03.2015 um 19:27:55 Uhr
Goto Top
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?
Wenn du gar keinen WPA2 Enterprise fähigen AP hast, dann hat der niemals irgendeine Art von Radius Authentisierung gemacht ! Wie auch denn APs die das nicht können können ja nur pre shared Passwörter.
Vermutlich machen deine Endgeräte dann ein Fallback oder sowas, was aber sehr verwunderlich und auch gefährlich wäre, denn das darf niemals sein wenn deren WLAN Client so eingestellt ist das nur Radius möglich ist.
Was aber auch sein kann ist das du mehrere APs im Netz hast mit und ohne Radius. Die dann kein Radius machen nutzen normal preshared und damit nimmt dann das Unglück seinen Lauf.
Der Fehler liegt dann schlicht an dir und der fehlerhaften Bestückung bzw. Konfiguration des WLANs.
Gegen solche humanoiden Probleme hilft natürlich die beste HW nichts.
Das ist so wenn du ein mit Radius wasserdicht gesichertes WLAN Netz hast dann aber jemand beim Blödmarkt einen 20 Euro Accesspoint kauft und den mit einem preshared Key, oder schlimmer noch offen, ins Netz hängt....
B-W-D-I
B-W-D-I 06.03.2015 um 22:52:20 Uhr
Goto Top
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.
aqui
aqui 07.03.2015 aktualisiert um 11:25:02 Uhr
Goto Top
Habe auch nur diesen einen AP hier stehen. Also daran liegt es nicht.
OK, um da wasserdichte Transparenz zu schaffen und genau zu sehen WAS der AP da macht klemme einen Wireshark an den AP und sniffer mit WAS der an den Radius sendet...oder ob der überhaupt was sendet und du keinen Konfig Fehler gemacht hast !

Was Windows Phone da macht ist krank. Na ja wer kauft sich auch wider besseres Wissen so ein übles Smartphone OS. Zeigt das Windows noch weit weit weg ist von der Smartphone Realität. Eigentlich kann man da nur sagen selber Schuld wer sowas kauft obwohl es erheblich bessere Alternativen gibt. Die ganze Welt weiss ja das Windows im Smartphone Bereich hoffnungslos hinterherhängt und diese Kröte man schlucken muss wenn man nicht die Finger davon lassen kann...
Es liegt ja de facto einzig am Client und dessen falschen Verhalten...
B-W-D-I
B-W-D-I 07.03.2015 aktualisiert um 12:40:09 Uhr
Goto Top
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?
aqui
aqui 07.03.2015 um 13:06:36 Uhr
Goto Top
Nicht unbedingt...kommt drauf an WELCHE Android Version du hast und ob das gerootet ist oder nicht.
Wenn du EAP-TLS erzwingst, dann muss er das Zertifikat checken:
http://networklessons.com/wireless/eap-tls-certificates-for-wireless-on ...
B-W-D-I
B-W-D-I 07.03.2015 um 14:56:48 Uhr
Goto Top
bei EAP-TLS brauche ich aber ein user Zertifikat. Das stört mich ein wenig. Da hat man mehr administrativen aufwand.

Am besten wäre es halt wenn er bei PEAP so wie beim iPhone mit allen Smartphones umgeht. Aber naja wenn meine Androids und WP8's das so aushandeln dann kann man auch nix machen.
aqui
aqui 07.03.2015 um 15:20:37 Uhr
Goto Top
Du kannst die Überprüfung des Zertifikats nur im Client verhindern. Wenn deine Endgeräte das schon so im Default machen hast du keinen Wahl.
Das ist sehr unglücklich, denn diesen Geräten könnte man so jeden beliebigen Radius Server unterschieben face-sad
108012
108012 07.03.2015 um 15:33:29 Uhr
Goto Top
Hallo,

hat man mehr administrativen aufwand.
Aber wenn mal ein Smartphone abhanden kommt ist es
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
B-W-D-I
B-W-D-I 07.03.2015 um 18:27:50 Uhr
Goto Top
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".
108012
108012 07.03.2015 um 19:26:28 Uhr
Goto Top
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
B-W-D-I
B-W-D-I 08.03.2015 aktualisiert um 13:55:00 Uhr
Goto Top
Werden Informationen eigentlich unverschlüsselt übertragen wenn ich in der Radius config. explizit PEAP als Authentifizierungsmethode angegeben habe, das WP8 und das Android Gerät sich aber ohne installiertes Stammzertifikat mit dem AP verbinden?
aqui
aqui 08.03.2015 um 15:54:15 Uhr
Goto Top
Nein, natürlich nicht und das wäre ja auch fatal wenn du mal drüber nachdenkst. Wenn das einer mitsniffert hat er die Login Informationen.
Klar das ein Authentisierungsprotokoll so einen Unsinn nicht macht face-wink
Sowohl der Request an den Radius ist verschlüsselt als auch dessen Reply.
B-W-D-I
B-W-D-I 12.03.2015 aktualisiert um 18:40:34 Uhr
Goto Top
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
  1. Executing section authorize from file /etc/raddb/sites-enabled/default
+- entering group authorize {...}
++[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
  1. Executing group from file /etc/raddb/sites-enabled/default
+- entering group authenticate {...}
[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.
Looser27
Looser27 12.03.2015 um 18:03:10 Uhr
Goto Top
Ich denke das Problem ist das Zertifikat. Hat Du die Zertifikate mal so erzeugt, wie in der Anleitung beschrieben?
Mach mal nen DEBUG mit freeradius -XXX (da sieht man noch mehr in der Ausgabe).

Gruß

Looser
B-W-D-I
B-W-D-I 13.03.2015 aktualisiert um 17:23:39 Uhr
Goto Top
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.
aqui
aqui 14.03.2015 um 08:17:18 Uhr
Goto Top
der Server sendet die ganze zeit Access-Challanges die wohl irgendwie nicht beim Klient ankommt.
Ist das wirklich der Fall ?? Hast du das mit einem Wireshark Sniffer mal verifiziert ?
Sollte das tatsächlich stimmen, dann muss du gar nicht weitermachen, denn dann kann der Client ja niemals funktionieren wenn der gar nicht mit dem Radius kommunizieren kann !
Das hört sich so an also ob dein Radius irgendwie in einem anderen netzwerk Segment ist und dessen eigene lokale Firewall oder eine externe Firewall da Traffic blockt.
DAS musst du logischerweise zuerst fixen bevor du weitermachst...!
daywalker14
daywalker14 16.03.2015 um 17:26:49 Uhr
Goto Top
Was ist eigentlich die exakte Begründung das ein Root (Stamm)Zertifikat an die Clients verteilt wird? Ist das nicht sicherheitstechnisch etwas ungeschickt gelöst?
aqui
aqui 17.03.2015 um 09:25:33 Uhr
Goto Top
Muss es auch nicht ! Ohne das fragt der Client nur immer nach, was manche halt nervt.
Es ist aber kein Muss das zu installieren.
73234
73234 22.01.2016 um 23:16:21 Uhr
Goto Top
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,

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
aqui
aqui 23.01.2016 um 18:06:59 Uhr
Goto Top
ch habe also in einer VM das neueste SUSE aufgesetzt, Radius nachinstalliert,
Du kannst auch einen kleinen Raspberry Pi nehmen mit Debian: face-wink
Netzwerk Management Server mit Raspberry Pi
Zu den Fragen:
1.)
Nein, geht auch direkt ist nur der Übersicht halber. Mach es doch einfach mal und starte den Radius im Debug Mode, dann kannst du sehen ob er dir ne Fehlermeldung ausspuckt wenn er es nicht mag face-wink
2.)
Kann sein das das ein neues Verzeichnis hat Die Distro im Tutorial ist ja schon älter. Im Zweifel einfach mal mit find / -name eap.conf -print danach suchen face-wink
Der abschliessende Test mit 'NTRadPing.exe' brachte leider keinen Erfolg: 'response Access-Reject'.
Ooops...dann rennt noch etwas schief bzw. du hast einen fehler in der Konfig ?!
"Request didn't contain an EAP-Message,"
Du machst vermutlich gar kein EAP !