Problem with external authentication script
Stefan Kuegler
freeradius at kuegler.org
Mon Jun 15 21:18:00 CEST 2009
Hi Ivan.
>> exec motp {
>> wait = yes
>> program = "/usr/local/bin/otpverify.sh %{User-Name}
>> %{User-Password} %{reply:Secret} %{reply:PIN} %{reply:Offset}"
>> input_pairs = request
>> output_pairs = config
>> }
>>
>
> You have changed them to reply items ...
>
>> /etc/freeradius/users:
>> DEFAULT Auth-Type = Accept
>> Exec-Program-Wait = "/usr/local/bin/otpverify.sh '%{User-Name}'
>> '%{User-Password}' '%{reply:Secret}' '%{reply:PIN}' '%{reply:Offset}'",
>> Fall-Through = Yes
>>
>> user1 Secret:=143a5c6fa125ac1f, PIN:=1234, Offset:=0
>>
>
> ... but configured them as check items. Revert to original exec line and
> place user entry *above* DEFAULT entry.
>
Thanks for your advice.
I configured the users-file described above, but it didn't work. Now I
can see, that freeradius never calls the external script.
It seems, that freeradius never uses the "MOTP"-Auth-type:
[...]
Ready to process requests.
rad_recv: Access-Request packet from host 192.168.82.40 port 1026,
id=109, length=78
User-Name = "user1"
User-Password = "secret"
Service-Type = Authenticate-Only
NAS-Identifier = "debian.local"
NAS-IP-Address = 192.168.82.40
+- entering group authorize
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
rlm_realm: No '@' in User-Name = "user1", looking up realm NULL
rlm_realm: No such realm "NULL"
++[suffix] returns noop
rlm_eap: No EAP-Message, not doing EAP
++[eap] returns noop
++[unix] returns updated
users: Matched entry user1 at line 3
++[files] returns ok
++[expiration] returns noop
++[logintime] returns noop
++[pap] returns updated
rad_check_password: Found Auth-Type
auth: type "PAP"
+- entering group PAP
rlm_pap: login attempt with password "secret"
rlm_pap: Using CRYPT encryption.
rlm_pap: Passwords don't match
++[pap] returns reject
auth: Failed to validate the user.
Login incorrect (rlm_pap: CRYPT password check failed): [user1/secret]
(from client 192.168.82.40 port 0)
Found Post-Auth-Type Reject
+- entering group REJECT
expand: %{User-Name} -> user1
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.
rad_recv: Access-Request packet from host 192.168.82.40 port 1026,
id=109, length=78
Waiting to send Access-Reject to client 192.168.82.40 port 1026 - ID: 109
Sending delayed reject for request 0
Sending Access-Reject of id 109 to 192.168.82.40 port 1026
Waking up in 4.9 seconds.
Cleaning up request 0 ID 109 with timestamp +17
Ready to process requests.
Do I need to configure something in the authorize-section or somewhere
else ??
Thank you for your help.
Stefan
More information about the Freeradius-Users
mailing list