burge550
Goto Top

Freeradius mit LDAP und 802.1x mit dynamische VLAN Zuweisung

Hallo zusammen! Wie ihr sehen könnt bin ich neu hier.
Ich hoffe, dass mir bei meinem Problem geholfen werden kann auch wenn es ein bisschen kompliziert und viel ist.

Also zu meinem Problem:

Ich möchte einen Radius Server, der an ein bestehendes OpenLDAP System angebunden wird, installieren. Außerdem soll mittels 802.1x eine VLAN Zuweisung stattfinden.

Hierfür habe ich den Freeradius aus dem Debian Repository installiert. Das hat auch gut geklappt und das Zusammenspiel mit dem OpenLDAP System funktioniert auch schon (radtest).

Meine Frage ist nun wie ich die weiteren Schritte am besten realisiere. Ich habe gelesen, wie man sich mittels Zertifikaten (802.1x) authentifiziert.


1. Frage: Wie läuft das genau ab? Ich muss doch Zertifikate erstellen und diese dann auf allen Client-Rechnern verteilen oder? Oder kann ich das auch mit dem LDAP steuern? Wie erstelle ich den die Zertifikate?

2. Frage: Ich habe AT Switche. Was muss ich da genau einstellen? Unterstützen tun sie alles was benötigt wird (laut AT HP)

3. Frage: Wie ist wenn alles funktioniert der genaue Ablauf? An was erkenne ich, dass es klappt? Oder wie kann ich es testen, dass ich mich am Radius anmelden kann (von nem Client und nicht nur vom radtest!!!)

4. Frage: Ich habe gelesen dass die VLAN Zuweisung entweder MAC basiert oder 802.1x basiert geht. Ich habe mir allerdings so ne Mischung vorgestellt. Also zuerst eine Authentifizierung mit Zertifikat und danach aufgrund der MAC Adresse das VLAN zugewießen.

Ich weiß, dass es sich bissel komisch anhört also bitte keine Kritik am Posting..... Liegt vllt auch daran, dass ich noch nicht so wirlich den Plan vom ganzen System habe. Vllt kann mir ja jemand mit einer qualifizierten Aussage helfen.

Gruß

Content-Key: 151033

Url: https://administrator.de/contentid/151033

Printed on: April 25, 2024 at 22:04 o'clock

Member: aqui
aqui Sep 15, 2010, updated at May 15, 2023 at 14:55:11 (UTC)
Goto Top
Guckst du hier:
Freeradius Management mit WebGUI
Dynamische VLAN-Zuweisung mit FreeRADIUS und Active Directory
bzw.
http://www.air09.net/air09_dokumentation.pdf
Vielleicht hilft das zusätzlich noch:
Dynamisches Vlan bei Freeradius mit Alcatel switch
Fragen zu NAS, Radius und verschiedenen Authentifizierungsmöglichkeiten
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
usw.
Auch eine Kombination Mac und 802.1x ist problemlos möglich, allerdings ist das dann eine Frage des Switches ! Der muss dieses Feature der Doppelauthentisierung supporten. Leider schreibst du dazu rein gar nichts weder ob dein Modell es kann noch das Modell selber face-sad
Member: burge550
burge550 Sep 15, 2010 at 07:57:29 (UTC)
Goto Top
Hallo
Erst mal danke für die Antwort

Die Doku von air09 habe ich ausprobiert. Finde ich nicht wirklich gut und die meisten Befehle funktionieren nicht. Außerdem wird hier auch nicht der genaue Ablauf eines fertig funktionierenden Systems erklärt

Mein Switch ist ein AT 8000GS/24. Kann dieser diese Doppelauthentisierung? Wie würde diese ablaufen?

Für 802.1X brauche ich doch Zertifikate oder? Wie installiere ich die auf den Clients und wie läuft dann der Authetifizierungs-Vorgang ab? Kommt ein Popup wenn ich mich an den Switch anschließe wo ich dann ein Passwort eingeben muss oder wie geht das?

Bitte nicht runter machen! Ich weiß, dass es teils dumme Fragen sind! Aber ich habe schon länger im netz gesucht und habe keine Antworten gefunden!

Gruß
Member: burge550
burge550 Sep 15, 2010 at 08:15:16 (UTC)
Goto Top
Noch ein kleiner Nachtrag:

Du schreibst am 21.7.2008:


willi Auth-Type := EAP, User-Password == "test"

Tunnel-Type = 13,

Tunnel-Medium-Type = 6,

Tunnel-Private-Group-Id = 3

#
Wenn ich die user und die Passwörter aus meinem LDAP haben möchte, wie schreibe ich das dann hier rein?

Danke und gruß
Member: aqui
aqui Sep 15, 2010 at 10:40:09 (UTC)
Goto Top
.Mein Switch ist ein AT 8000GS/24.... Ob der das kann sagt dir sein Handbuch oder die Hotline des Herstellers ! Wir können das Handbuch aber gerne nochmal hier für dich lesen sofern es Online downloadbar ist...
Infos zum .1x Prozess und dessen Funktion findest du hier:
http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/rele ...
http://www.cisco.com/en/US/docs/ios/12_4t/12_4t11/ht_8021x.html#wp10250 ...
http://de.wikipedia.org/wiki/IEEE_802.1X
http://de.wikipedia.org/wiki/EAPOL
Die Daten musst du ins LDAP übertragen. Der o.a. .1x Thread hat ein URL auf ein LDAP Integrations Whitepaper im Internet !
Und nein, für .1x benötigst du nicht unbedingt Zertifikate. Eine simple User/Passwort Authentisierung funktioniert damit genauso ! (Bei der Mac Authentisierung mit .1x ist es ja genauso, dort wird als User/Passwort Kombination immer die Mac Adresse des Clients verwendet !!
Bei User/Pass erscheint ein Popup zur Eingabe, bei den Zertifikaten nicht, da kann es z.B. zusammen mit einem Domain Login geschehen !
Member: burge550
burge550 Sep 15, 2010 at 10:56:19 (UTC)
Goto Top
Die URL auf die LDAP Integration finde ich nicht, wo soll die sein?

Also wie gesagt, RADIUS und LDAP funktionieren! Was schlägst du vor, wie ich jetzt weiter machen soll?

Zertifikate erstellen? Brauche ich ja dann für jeden LDAP User oder? Geht das mit OpenSSL?

Kann man dir vllt mal anrufen oder hast du ICQ, Skype oder so?

Ich habe ecjt keine Ahnung wie das weiter geht
Member: aqui
aqui Sep 15, 2010 at 14:01:38 (UTC)
Goto Top
.
http://www.rrze.uni-erlangen.de/dienste/arbeiten-rechnen/linux/howtos/l ...
http://wiki.freeradius.org/LDAP
http://vuksan.com/linux/dot1x/802-1x-LDAP.html
http://www.svenhartge.de/blog/archives/68-WPA+TTLS-mit-Freeradius-und-L ...
usw. usw. usw.
Ja, Zertifikate kannst du mit OpenSSL erstellen (Siehe Tutorial) und das müssen die User einspielen oder bekommen es automatisch bei einem Domänen Login wenns Winblows Clients sind.
Im ersten Schritt testest du deine Radius mit LDAP mit NTRadping oder einem Switch erstmal mit einem banalen CLI Zugang erstmal ganz ohne Zertifikate und VLAN Zuweisung.
Wenn das alles klappt (und das ist die Grundvoraussetzung) dann sehen wir mal weiter hier in Teil 2
Member: burge550
burge550 Sep 15, 2010 at 15:09:19 (UTC)
Goto Top
Ok also das mit dem NTradping klappt. Auch im Zusammmenspiel mit LDAP

Ich habe jetzt gerade mal mit meinem Projekt Leiter geredet.

Er meinte er hätte gerne, dass man sich mittels Zertifikat beim Radius "anmeldet" und dass aufgrund der gemeldeten Informationen das VLAN zugewiesen wird. Ist das möglich? Oder muss man das dann in 2 Schritten machen. Zuerst Zertifikat zur Authentifizierung und danach noch eine Benutzer/Passwort Abfrage zur Zuweisung?

Also auf jeden Fall brauche ich Zertifikate.... Ich benötige doch ein Root Zertifikat und für jeden Benutzer aus dem LDAP ein Client Zertifikat oder sehe ich das Falsch?
Wenn ich im Netz danach suche, finde ich nur wie man Root (also Serverzertifikate) selbst erstellt. Wie macht man das bei den Clients? Und wie spiele ich die Zertifikate dann auf den Clientrechnern ein? Habe Windows, MACOSX und Debian zu versorgen.

Die ganzen Links kenne ich schon, bin damit aber nicht zurecht gekommen weil es nicht wirklich das erklärt was ich suche.

Wichtig wäre jetzt glaube ich, dass ich mal 1 Server Zertifikat erstelle und 2 Client Zertifikate und danach mal weiter schauen!

Was ich auch nicht verstehe, du hast vorhin geschrieben, "Die Daten musst du ins LDAP übertragen" bei der Geschichte mit:

willi Auth-Type := EAP, User-Password == "test"
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = 3

Wie soll ich das ins LDAP übertragen? Ich will doch dass der User und das Passwort aus dem LDAP heraus kommen, da der USER dort schon existiert

Gibt es den keine Möglichkeit dich mal anderst zu erreichen? Bitte..... wäre echt wichtig und ich würde es mir auch was kosten lassen
Member: aqui
aqui Sep 16, 2010, updated at Oct 18, 2012 at 16:43:31 (UTC)
Goto Top
Die dynamische Zuweisung funktioniert auch mit Zertifikaten...klar !
Wie du die Zertifikate einrichtest und auf den Endgeräten installierst bei Freeradius sagt dir dieses Tutorial:
Sichere 802.1x WLAN-Benutzer Authentisierung über Radius
Der Rest mit den dyn. VLANs ist identisch.
Member: burge550
burge550 Sep 16, 2010 at 11:12:08 (UTC)
Goto Top
2 Sachen:

1. make all funktioniert auf meinem Debian System nicht um die Zertifikate zu erstellen
2. Ich habe keine ca.cnf, habe ich dann mit den von dir angegebenen Attributen erzeugt

Wie erstelle ich dann für jeden user aus meinem LDAP ein Zertifikat und wie gebe ich darin die VLAN Zuweisung an?

Ist es den unmöglich mal mit dir zu telefonieren oder zu chatten????

DANKE
Member: burge550
burge550 Sep 17, 2010 at 07:50:16 (UTC)
Goto Top
Servus

Ich habe die ganze Zeit mit Radtest und NTradPing getestet und da geht alles. Wenn ich jetzt den Server auf einen geeigneten Switch (im andbuch nachgelesen) hänge und dem Port, an dem ich dann meinen Testclient anschließen möchte für Radius konfiguriere, danach an dem Port den Client anschließe und freeradius -x eingebe, sehe ich keinen Authetifizierungsvorgang aber mein Client bekommt trotzdem Zugang zum Netz. Woran liegt das?

Eigentlich sollte ich doch dann auf dem Server einen Authentifizierungsvorgang sehen und auf dem Client eine PW Abfrage oder irre ich mich da?

Konfiguriert habe ich den Port so:

aaa authentication dot1x default radius
radius-server host 192.168.0.100 auth-port 1812 acct-port 1813 authentication-only key geheim dot1x
Member: aqui
aqui Sep 17, 2010 at 15:20:33 (UTC)
Goto Top
..."1. make all funktioniert auf meinem Debian System nicht um die Zertifikate zu erstellen"
A.: Ja das ist bekannt, denn bei Debian ist leider fehlerhaft die SSL Extension nicht ins Freeradius Paket eincompiliert worden wie es bei SuSE der Fall ist. Der ct' Artikel
http://www.heise.de/kiosk/archiv/ct/2010/10/180_kiosk
beschreibt wie man das nachträglich ins Debian reinfriemelt. Alternativ kannst du das FreeRadius Paket selber neu übersetzen und setzt den SSL Schalter in der makeconfig Datei.
Ist ein Nachteil der Debian Distro. Bei SuSE passiert das nicht !
Bei Zertifikaten benötigst du die SSL Extension im FreeRadius !
Member: burge550
burge550 Sep 20, 2010 at 07:56:41 (UTC)
Goto Top
Hey Aqui.
Ich glaube du hast dich in der CT Nummer geirrt. In der CT die du mir angeben hast steht: "Wer den Debian-Weg gehen will, muss sich deshalb das Paket selbst bauen. Wie das geht, beschreiben wir in einem der nächsten Hefte"

Kannst du mir sagen in welchem?


Gruß Markus
Member: burge550
burge550 Sep 20, 2010 at 15:37:32 (UTC)
Goto Top
So mal den neuen Status:

Ich habe jetzt den Auth Type EAP abgeschaltet und benutze jetzt nur noch LDAP. Mit dem NTRadPing funktioniert das auch einwandfrei, sobald ich mich aber mit einem Client über das Netzwerk anmelden will bekomme ich:

rad_check_password: Found Auth-Type LDAP
auth: type "LDAP"
+- entering group LDAP
rlm_ldap: - authenticate
rlm_ldap: Attribute "User-Password" is required for authentication.
You seem to have set "Auth-Type := LDAP" somewhere.
THAT CONFIGURATION IS WRONG. DELETE IT.
YOU ARE PREVENTING THE SERVER FROM WORKING PROPERLY.
++[ldap1] returns invalid
auth: Failed to validate the user.
Login incorrect: [icaluser/<via Auth-Type = LDAP>] (from client IT-Netz port 2)
Found Post-Auth-Type Reject
+- entering group REJECT

Ich habe jetzt raus gefunden, dass da an der folgend section liegt:

update control {
Auth-Type := LDAP
}

in der Datei sites-enabled/default. Wenn ich jetzt diesen Teil auskommentiere, dann bekomme ich:

rlm_ldap: user icaluser authorized to use remote access
rlm_ldap: ldap_release_conn: Release Id: 0
++[ldap1] returns ok
++[expiration] returns noop
++[logintime] returns noop
rlm_pap: WARNING! No "known good" password found for the user. Authentication may fail because of this.
++[pap] returns noop
auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.
Login incorrect: [icaluser/<no User-Password attribute>] (from client IT-Netz port 2)

Wieso ist das so, dass RadTestPing funktioniert und Clientanmeldung nicht? Mache ich was falsch? Bitte um Hilfe.....
Member: burge550
burge550 Sep 21, 2010 at 09:03:09 (UTC)
Goto Top
Ah..mein Client an dem ich teste ist ein MAC-Book. Unter dem Reiter 802.1x habe ich ein Profil Test mit meinem User und dem dazu gehörenden PW angegeben. Als Identifizierung habe ich alle Protokolle schon ausprobiert, auch die Möglichkeit, dass ich alle Häckchen raus mache - also ohne Identifizierung (will ich ja über LDAP machen) - ergab kein Erfolg.

Jemand eine Idee????
Member: burge550
burge550 Oct 04, 2010 at 14:34:42 (UTC)
Goto Top
So nochmal ich!
Ich habe jetzt mal alles über den Haufen geworfen und habe nochmal ganz langsam von vorne angefangen.

Zuerst habe ich den Radius mittels selbst erstellen, SSL fähigen Debian Paketen erstellt. Danach habe ich ich den AT Switch mit Hilfe des AT 8000S Handbuchs konfiguriert. Der jetzige Stand ist, dass ich mich mittels MAC Adresse am Radius Server automatisch beim anstöpseln des Clients anmelden kann (diesen Vorgang sieht man beim Radius in freeradius -x) und der Client auch eines unserer 30 VLANs zugewiesen bekommt.

So nun weiter.....2 Fragen?

1. Ist es möglich die VLAN Zuweisung mittels LDAP zu machen, also dem User im LDAP die VLAN ID zuzuordnen oder geht das nur im Radius? Wenns im LDAP geht wie?

2. In diesem Zusammenhang: Für was ist das LDAP Schema von Freeradius? Was habe ich davon bzw. was macht es?

Am Schluss soll es so aussehen, dass ich mittels Zertifikat einen Mitarbeiter anmelde und danach das passende VLAN zugewiesen bekomme. ( Wenn die VLAN Zuweisung nur im Radius gehen würde -weiß ich ja noch nicht-, muss ich bei einer Neuanstellung eines Mitarbeiters ihn ja im LDAP und im Radius eintragen... Geht das nicht auch, dass ich es alles im LDAP einstellen kann?
Member: burge550
burge550 Oct 05, 2010 at 14:22:29 (UTC)
Goto Top
Kleines Update:

Beiden Fragen beantwortet. LDAP Schema bring die Möglichkeit, sich übers LDAP die VLAN ID zuweisen zu lassen. Dann muss man nicht mehr im Radiusserver den Benutzer mit VLAN eintragen. Geht alles im OPEN LDAP.

Automatische MAC Authentifizierung + USER/PW Anmeldung über LDAP geht auch beides auf einmal.

Wenn ich mich aber über MACOSX anmelden will bekomme ich folgende Meldung und ich kann mich nicht anmelden:

rad_recv: Access-Request packet from host 192.168.4.131 port 49154, id=0, length=140
Cleaning up request 6 ID 0 with timestamp +26
NAS-IP-Address = 192.168.4.131
NAS-Port-Type = Ethernet
NAS-Port = 9
User-Name = "burge550"
Acct-Session-Id = "050002EF"
State = 0x8a304d828a21498f40760bcffdea20ec
EAP-Message = 0x02110025041008bfe7ae762d0c37a376b8bcd0d116656d61726b75732e6275726768617274
Message-Authenticator = 0x16add405a2cb498f8ba9b752dd9a0f63
+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
[suffix] No '@' in User-Name = "burge550", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] EAP packet type response id 17 length 37
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
++[unix] returns notfound
++[files] returns noop
[ldap] performing user authorization for burge550
[ldap] WARNING: Deprecated conditional expansion ":-". See "man unlang" for details
[ldap] ... expanding second conditional
[ldap] expand: %{User-Name} -> burge550
[ldap] expand: (uid=%{Stripped-User-Name:-%{User-Name}}) -> (uid=burge550)
[ldap] expand: dc=mobotix, dc=net -> dc=mobotix, dc=net
[ldap] ldap_get_conn: Checking Id: 0
[ldap] ldap_get_conn: Got Id: 0
[ldap] performing search in dc=mobotix, dc=net, with filter (uid=burge550)
[ldap] No default NMAS login sequence
[ldap] looking for check items in directory...
[ldap] looking for reply items in directory...
[ldap] radiusTunnelPrivateGroupId -> Tunnel-Private-Group-Id:0 = "104"
[ldap] radiusTunnelMediumType -> Tunnel-Medium-Type:0 = IEEE-802
[ldap] radiusTunnelType -> Tunnel-Type:0 = VLAN
WARNING: No "known good" password was found in LDAP. Are you sure that the user is configured correctly?
[ldap] user burge550 authorized to use remote access
[ldap] ldap_release_conn: Release Id: 0
++[ldap] returns ok
++[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
Found Auth-Type = EAP
+- entering group authenticate {...}
[eap] Request found, released from the list
[eap] EAP/md5
[eap] processing type md5
rlm_eap_md5: Cleartext-Password is required for EAP-MD5 authentication
[eap] Handler failed in EAP/md5
[eap] Failed in EAP select
++[eap] returns invalid
Failed to authenticate the user.
Using Post-Auth-Type Reject
+- entering group REJECT {...}
[attr_filter.access_reject] expand: %{User-Name} -> burge550
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 7 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 7
Sending Access-Reject of id 0 to 192.168.4.131 port 49154
EAP-Message = 0x04110004
Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 4.9 seconds.

Jemand eine Idee voran es liegen könnte?
Gruß Burge550
Member: burge550
burge550 Oct 07, 2010 at 10:10:22 (UTC)
Goto Top
So ihr Helden, es funktioniert jetzt alles.
Danke für eure großartige Unterstützung und hilfreichen Tipps.