Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

FreeRadius Dynamic Vlan mit zertifikatsbasierter Authentifizierung

Frage Linux Linux Netzwerk

Mitglied: TobiasD

TobiasD (Level 1) - Jetzt verbinden

30.07.2012, aktualisiert 12:19 Uhr, 5479 Aufrufe, 6 Kommentare

Hallo an all die klugen Köpfe da draußen,

für den Einsatz in unserem Unternehmen wurde ich beauftragt, alle unsere Workstations in unserm kabelgebundenen Netzwerk per 802.1x zu authentifizieren. Dies sollte über Zertifikate geschehen. Nun wäre es schön, wenn die Clients durch den RadiusServer gleich dem richtigen Vlan zugeordnet werden könnten. Laut meinen Rechcherchen wird dies von den verwendeten Extreme Summit x450e Switchen unterstützt.

Was bisher läuft:
- Freeradius v2.1.12 auf Debian
- RadiusClient: Extreme Summit x450e

Es wurden Zertifikate generiert und auf Testclients verteilt. Sobald ein Client versucht, sich mit dem Netzwerk zu verbinden, überprüft der Switch das Clientzertifikat am Freeradius und öffnet im Erfolgsfall den Port. Das Ganze habe ich im Debugmodus (freeradius -X -f) und NTRadPing erfrolgreich getestet.

Da die Authentifizierung über Zertifikate läuft, habe ich in der "users"-Datei noch keine Änderungen vorgenommen.
In der clients.conf habe ich den Switch eingertragen:

client 192.168.1.2/32 {
secret = radiustest123
shortname = ExtrSw
nastype = other
}


Nun meine Schwierigkeiten:
{GELÖST}
Ich habe mich hier im Forum bereits umgesehen und (so glaube ich) die entsprechende Konfiguration gefunden um ein gewünschtes VLAN durch den Freeradius propagieren zu lassen. Die folgenden Zeilen habe ich an das Ende meiner (bis Dato) unveränderten users gesetzt:

DEFAULT
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = 7

Sobald ich nun den Server mit "freeradius -X -f" im Debuggin-Mode starten möchte, erhalte ich folgenden Fehler:

/etc/freeradius/users[207]: Parse error (check) for entry Tunnel-Type: Unknown attribute "" requires a hex string, not "13"
Errors reading /etc/freeradius/users

Wenn ich nun diese zeile auskommentiere um schonmal das nächste Attribut zu prüfen, erhalte ich eine äquivalente Fehlermeldung. Offensichtlich ist FreeRadius mit keinem dieser Attribute zufrieden?

Ich habe es auch schon mit Strings versucht:

Tunnel-Medium-Type = IEEE-802,
Tunnel-Type = VLAN,
Tunnel-Private-Group-Id = "7"

Auch dies wird nicht akzeptiert.


{NICHT-GELÖST}
Das Problem, das dannach ansteht wäre:
Lässt sich diese Information über das zu verwendende VLAN mit dem Zertifikat verbinden, so dass nicht jeder Nutzer, für den bereits ein Zertifikat erstellt worden ist, auch noch in die User-Datei oder eine SQL Datenbank einzutragen ist, wobei dort für Ihn das VLAN definiert wird?

Mitglied: catachan
30.07.2012, aktualisiert um 11:26 Uhr
Hi

/etc/freeradius/users[207]: Parse error (check) for entry Tunnel-Type: Unknown attribute "" requires a hex string, not "13"

Was passiert wenn du statt 13 D schreibst ?

LG
Bitte warten ..
Mitglied: TobiasD
30.07.2012 um 11:43 Uhr
Zitat von catachan:
> /etc/freeradius/users[207]: Parse error (check) for entry Tunnel-Type: Unknown attribute "" requires a hex string,
not "13"
Was passiert wenn du statt 13 D schreibst ?


Hallo Catachan,

ich habe die users wie folgt editiert:

DEFAULT
Tunnel-Type = D,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = 3

Das Ergebnis ist unverändert:
/etc/freeradius/users[207]: Parse error (check) for entry Tunnel-Type: Unknown attribute "" requires a hex string, not "D"
Errors reading /etc/freeradius/users

Auch das Setzen von Attributsname und/oder Wert in "", wie ich es in anderen Beiträgen beobachtet habe, schafft hier keine Veränderung. Auch Werte wie "1" oder "0x01" werden zurückgewiesen.

Bei letzterem (0x01) erhalte ich eine etwas andere Fehlermeldung:
/etc/freeradius/users[207]: Parse error (check) for entry Tunnel-Type: Invalid vendor name in attribute name ""
Errors reading /etc/freeradius/users

Über deren Bedeutung bin ich mir allerdings noch nicht im klaren.

LG
Bitte warten ..
Mitglied: TobiasD
30.07.2012 um 12:16 Uhr
Ok.. Das Problem mit dem nicht akzeptierten Attribut habe ich wohl soeben selbst gelöst. Scheinbar mein Fehler. Es lag daran, dass die Attribute nicht mit TAB eingerückt waren.

Der Eintrag in der Users sieht nun wie folgt aus:

DEFAULT
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = 3


Dies funktioniert in ersten Tests mit NTRadPing und die VLANid 3 wird wie gewünscht übertragen. Nun muss ich noch testen ob dies wie gewünscht vom Switch bearbeitet wird.

Meine nächste Frage wäre nun:
Wie kann ich diese Definition eines gewünschten VLANs an ein Zertifikat binden? Geht dies OHNE alle User, für die ein Zertifikat erstellt wurde, in die users-datei oder eine SQL Datenbank aufzunehmen?
Bitte warten ..
Mitglied: aqui
30.07.2012 um 12:55 Uhr
Das entsprechende Tutorial dazu hier im Forum zu dem Thema:
http://www.administrator.de/contentid/154402
hast du gelesen ??
Bitte warten ..
Mitglied: TobiasD
31.07.2012 um 14:18 Uhr
Danke, das habe ich mittlerweile durchgearbeitet.

Ich habe Freeradius nun mit MySQL-Anbindung konfiguriert und die folgenden Tabellen angelegt.

mysql> select * from radcheck;
+----+-----------------+--------------------+----+-----------+
| id | username | attribute | op | value |
+----+-----------------+--------------------+----+-----------+
| 1 | workstation1 | Cleartext-Password | := | testpass1 |
| 2 | workstation2 | Cleartext-Password | := | testpass2 |
+----+-----------------+--------------------+----+-----------+
2 rows in set (0.00 sec)

mysql> select * from radusergroup;
+---------------+-------------+----------+
| username | groupname | priority |
+---------------+-------------+----------+
| workstation1 | projekt1 | 1 |
| workstation2 | projekt2 | 1 |
+---------------+-------------+----------+
2 rows in set (0.00 sec)

mysql> select * from radgroupreply;
+----+-------------+-------------------------+----+-------+
| id | groupname | attribute | op | value |
+----+-------------+-------------------------+----+-------+
| 1 | projekt1 | Tunnel-Type | = | 13 |
| 2 | projekt1 | Tunnel-Medium-Type | = | 6 |
| 3 | projekt1 | Tunnel-Private-Group-Id | = | 3 |
| 4 | projekt2 | Tunnel-Type | = | 13 |
| 5 | projekt2 | Tunnel-Medium-Type | = | 6 |
| 6 | projekt2 | Tunnel-Private-Group-Id | = | 4 |
+----+-------------+-------------------------+----+-------+
6 rows in set (0.00 sec)


Wenn ich mit NTRadPing die Benutzerdaten "workstation1/testpass1" verwende, wird der Zugriff gewährt und die VLan ID 3 übermittelt. Soweit alles in Ordnung.

Um mein nächstes Anliegen verständlich rüberzubringen, hier nochmals eine kurze Info zur Organisation:
-Es gibt viele Projekte.
-Jedes Projekt hat einen eigenen Subnetzbereich und damit verbunden, ein eigenes VLAN.
-Jedes Projekt besitzt Workstations. Diese Workstations sollen immer die gleiche VLAN ID erhalten. Egal wer daran angemeldet ist und egal an welchen Switchport sie angeschlossen werden.
-Die Workstations verwenden MS XP SP3 und sind in einer Domäne.
-Die Workstations sollen sich mit einem Zertifikat authentifizieren, dass auf die jeweilige Workstation ausgestellt ist. Nicht auf Benutzer. Denn diese spielen für die VLAN-Zuweisung keine Rolle.

Mein Problem ist nun, dass sich meine Test-Workstation immer mit Domäne/Benutzername authentifizieren möchte. Wünschenswert wäre hier der Computername (=WorkstationX), oder der Name des Benutzers auf den das Clientzertifikat ausgestellt wurde (=WorkstationX).

Ich grübel nun schon eine ganze Weile darüber und hab das gesamte Tutorial schon mehrfach gelesen ohne eine Lösung gefunden zu haben.

LG
Bitte warten ..
Mitglied: TobiasD
01.08.2012 um 13:06 Uhr
Auch nach einem weiteren Tag, an dem ich das Tutorial und alle möglichen Beträge zum FreeRadius studiert habe, hänge ich immer noch bei der Authentifizierung mit dem Zertifikat fest

Nachdem ich alle hier (http://www.administrator.de/wissen/Netzwerk-Zugangskontrolle-mit-802.1x ...) beschrieben Konfigurationseinstellungen bis ins kleinste Detail befolgt habe, weigert sich der Radiusserver nach wie vor, die EAP Authentifizierung zu akzeptieren. Einzig das Serverzertifikat lasse ich aufgrund der Schwierigkeiten zunächst nicht auch noch überprüfen.

Hier scheint er in der SQL-Tabelle den User erst zu finden, nachdem ich den User "P2510=5Cwsvisu" hinzugefügt habe. Vorher hat er den user nicht gefunden. Warum er dies so seltsam formatiert ist mir schleierhaft. Weiterhin verstehe ich die Aussage des Warnings "WARNING: Auth-Type already set. Not setting to PAP" nicht?
01.
[ntdomain] Looking up realm "P2510" for User-Name = "P2510\wsvisu" 
02.
[ntdomain] No such realm "P2510" 
03.
++[ntdomain] returns noop 
04.
[eap] EAP packet type response id 116 length 17 
05.
[eap] No EAP Start, assuming it's an on-going EAP conversation 
06.
++[eap] returns updated 
07.
[sql]   expand: %{User-Name} -> P2510\wsvisu 
08.
[sql] sql_set_user escaped user --> 'P2510\wsvisu' 
09.
rlm_sql (sql): Reserving sql socket id: 4 
10.
[sql]   expand: SELECT id, username, attribute, value, op           FROM radcheck           WHERE username = '%{SQL-User-Name}'           ORDER BY id -> SELECT id, username, attribute, value, op           FROM radcheck           WHERE username = 'P2510=5Cwsvisu'           ORDER BY id 
11.
[sql] User found in radcheck table 
12.
[sql]   expand: SELECT id, username, attribute, value, op           FROM radreply           WHERE username = '%{SQL-User-Name}'           ORDER BY id -> SELECT id, username, attribute, value, op           FROM radreply           WHERE username = 'P2510=5Cwsvisu'           ORDER BY id 
13.
[sql]   expand: SELECT groupname           FROM radusergroup           WHERE username = '%{SQL-User-Name}'           ORDER BY priority -> SELECT groupname           FROM radusergroup           WHERE username = 'P2510=5Cwsvisu'           ORDER BY priority 
14.
rlm_sql (sql): Released sql socket id: 4 
15.
++[sql] returns ok 
16.
++[expiration] returns noop 
17.
++[logintime] returns noop 
18.
[pap] WARNING: Auth-Type already set.  Not setting to PAP 
19.
++[pap] returns noop 
20.
Found Auth-Type = EAP
Die User-Tabelle sieht wie folgt aus. Hier habe ich den Benutzernamen anfänglich in vielen Varianten eingetragen. In den zuerst gemachten Einträgen "wsvisu" und "P2510\wsvisu" erkannte FreeRadius keine Übereinstimmung mit dem User. Erst seit ich "P2510=5Cwsvisu" hinzugefügt habe, findet er den Benutzer auch. "certpass" ist das im Clientzertifikat hinterlegte input- und outputpasswort.
01.
mysql> select * from radcheck; 
02.
+----+-----------------+--------------------+----+----------+ 
03.
| id | username        | attribute          | op | value    | 
04.
+----+-----------------+--------------------+----+----------+ 
05.
|  1 | P2510wsvisu     | Auth-Type          | := | EAP      | 
06.
|  2 | P2510           | Auth-Type          | := | EAP      | 
07.
|  3 | wsvisu          | Auth-Type          | := | EAP      | 
08.
|  4 | P2510\wsvisu    | Auth-Type          | := | EAP      | 
09.
|  5 | Testworkstaion1 | Auth-Type          | := | EAP      | 
10.
|  6 | P2510           | Cleartext-Password | := | certpass | 
11.
|  7 | wsvisu          | Cleartext-Password | := | certpass | 
12.
|  8 | P2510wsvisu     | Cleartext-Password | := | certpass | 
13.
|  9 | P2510wsvisu     | Cleartext-Password | := | certpass | 
14.
| 10 | Testworkstaion1 | Cleartext-Password | := | certpass | 
15.
| 11 | P2510=5Cwsvisu  | Auth-Type          | := | EAP      | 
16.
| 12 | P2510\wsvisu    | Auth-Type          | := | EAP      | 
17.
| 13 | P2510=5Cwsvisu  | Cleartext-Password | := | certpass | 
18.
| 14 | P2510\wsvisu    | Cleartext-Password | := | certpass | 
19.
+----+-----------------+--------------------+----+----------+
Weiter unten im Log missfällt mschap eine fehlende Übereinstimmung beim Usernamen. Soweit ich verstanden habe, sollte die in modules/mschap gemachte Änderung "with_ntdomain_hack = yes" dies eigentlich richten?
01.
Found Auth-Type = EAP 
02.
# Executing group from file /etc/freeradius/sites-enabled/inner-tunnel 
03.
+- entering group authenticate {...} 
04.
[eap] Request found, released from the list 
05.
[eap] EAP/mschapv2 
06.
[eap] processing type mschapv2 
07.
[mschapv2] # Executing group from file /etc/freeradius/sites-enabled/inner-tunnel 
08.
[mschapv2] +- entering group MS-CHAP {...} 
09.
[mschap] No Cleartext-Password configured.  Cannot create LM-Password. 
10.
[mschap] No Cleartext-Password configured.  Cannot create NT-Password. 
11.
[mschap] ERROR: User-Name (P2510\wsvisu) is not the same as MS-CHAP Name (wsvisu) from EAP-MSCHAPv2 
12.
++[mschap] returns reject 
13.
[eap] Freeing handler 
14.
++[eap] returns reject 
15.
Failed to authenticate the user. 
16.
} # server inner-tunnel 
17.
[peap] Got tunneled reply code 3 
18.
        EAP-Message = 0x04fe0004 
19.
        Message-Authenticator = 0x00000000000000000000000000000000 
20.
[peap] Got tunneled reply RADIUS code 3 
21.
        EAP-Message = 0x04fe0004 
22.
        Message-Authenticator = 0x00000000000000000000000000000000 
23.
[peap] Tunneled authentication was rejected. 
24.
[peap] FAILURE
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
LAN, WAN, Wireless
Frage zum Erzeugen eines portbasiertem VLAN (7)

Frage von presto-18 zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
gelöst 802.1x Authentifizierung - NPS - RADIUS MAC (4)

Frage von LKaderavek zum Thema LAN, WAN, Wireless ...

Router & Routing
gelöst VLAN Routing mit Netgear GS724Tv4 (7)

Frage von stpb10 zum Thema Router & Routing ...

LAN, WAN, Wireless
gelöst Neuplanung Netzwerk mit VLAN, VOIP, Gästenetz (4)

Frage von GKKKAT zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...