FreeRADIUS mit einem php Skript

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Oliver87
Beiträge: 5
Registriert: 03.11.2011 15:25:55

FreeRADIUS mit einem php Skript

Beitrag von Oliver87 » 29.10.2012 15:11:45

Hallo Community,

Ich möchte gern unsere Endgeräte, die sich über einen HP Switch am Netzwerk anmelden, über einen RADIUS-Server authentifizieren. Der Switch ist auch schon soweit konfiguriert und wenn ich einen Testclient in der users eintrage wird er auch mit VLAN authentifiziert.

Ich würde gern diese Authentifizierung und Zuweisung über ein PHP-Skript steuern und habe hier ein paar Probleme dass er nicht authentifiziert wird.

Meine Konifig sieht aktuell so aus:

Code: Alles auswählen

exec php{
        wait = yes
        program = "/usr/bin/php5 /usr/local/auth.php %{User-Name}"
        input_pairs = request
        output = reply
}

server switch {
listen {
        ipaddr = *
        port = 1809
        type = auth
        virtual_server = "switch"
}

authorize {
        php
        chap
}

authenticate {
        chap
}
}
Mein PHP-Skript sieht so aus (noch sehr einfach für Tests gehalten:

Code: Alles auswählen

<?php
$user = $argv[1];
echo $user." Cleartext-Password: ".$user."
        Tunnel-Type = 13,
        Tunnel-Medium-Type = 6,
        Tunnel-Private-Group-Id = 2";
?>
Jedoch bekomm ich immernoch den Folgenden Fehler:

Code: Alles auswählen

[chap] Cleartext-Password is required for authentication


Weiß zufällig jemand wo ich einen Denkfehler oder sogar etwas ganz vergessen haben könnte?

Danke für euer Feedback

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: FreeRADIUS mit einem php Skript

Beitrag von syssi » 29.10.2012 17:36:06

Koennte es sein, dass die Syntax eigentlich so aussieht:

Code: Alles auswählen

"alice" Cleartext-Password := "password"
Dein Skript liefert:

Code: Alles auswählen

username Cleartext-Password: username
        Tunnel-Type = 13,
        Tunnel-Medium-Type = 6,
        Tunnel-Private-Group-Id = 2
Man beachte den Doppelpunkt und ggf. sogar die Anfuehrungszeichen.

http://wiki.debuntu.org/wiki/Freeradius ... hout_MySQL

Gruss syssi

Oliver87
Beiträge: 5
Registriert: 03.11.2011 15:25:55

Re: FreeRADIUS mit einem php Skript

Beitrag von Oliver87 » 30.10.2012 09:30:07

Ok das war definitiv EIN Fehler. Den habe ich schon mal behoben nur leider bekomme ich beim anmelden immer noch die Meldung:

Code: Alles auswählen

[chap] Cleartext-Password is required for authentication

Code: Alles auswählen

# Executing section authorize from file /etc/freeradius/sites-enabled/switchport
+- entering group authorize {...}
[php] 	expand: %{User-Name} -> c8:2a:14:2c:b9:bf
Exec-Program output: "c8:2a:14:2c:b9:bf" Cleartext-Password := "c8:2a:14:2c:b9:bf"      	Tunnel-Type = 13,      	Tunnel-Medium-Type = 6,      	Tunnel-Private-Group-Id = 2
Exec-Program-Wait: plaintext: "c8:2a:14:2c:b9:bf" Cleartext-Password := "c8:2a:14:2c:b9:bf"      	Tunnel-Type = 13,      	Tunnel-Medium-Type = 6,      	Tunnel-Private-Group-Id = 2
Exec-Program: returned: 0
++[php] returns ok
++[expiration] returns noop
[chap] Setting 'Auth-Type := CHAP'
++[chap] returns ok
Found Auth-Type = CHAP
# Executing group from file /etc/freeradius/sites-enabled/switchport
+- entering group authenticate {...}
[chap] login attempt by "c8:2a:14:2c:b9:bf" with CHAP password
[chap] Cleartext-Password is required for authentication
++[chap] returns invalid
Failed to authenticate the user.
} # server switchport
Delaying reject of request 0 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 0
Sending Access-Reject of id 152 to 192.168.108.24 port 1812
Waking up in 4.9 seconds.
Cleaning up request 0 ID 152 with timestamp +9
Ready to process requests.

Ich habe eher das gefühl, das er die Rückgabe nicht berücksichtigt...

Antworten