Proxy and clear-text password

Marcel De Boer marcel.de_boer at alcatel-lucent.be
Tue Jul 3 08:58:36 CEST 2007


Hi!

> The secret key between nas and radius1 is right.
>
> In debug mode I receive a clear password:
>
> Sending Access-Request of id 0 to radius2 port 1645
>          User-Password = "estestA243"
> <...>
>   

This does not mean you receive a cleartext password, it only means that 
the shared secret between the nas and radius1 is correct. The password 
is always encrypted on the network, using the shared secret (try it, put 
a tcpdump between the nas and radius1). In debugging mode, FreeRADIUS 
doesn't print the packet literally as it is on the network, but it tries 
to decrypt the password first.

> rad_recv: Access-Reject packet from host radius2:1645, id=0, length=85
> Received Access-Reject packet from client radius2 port 1645 with invalid 
> signature (err=2)!  (Shared secret is incorrect.) Dropping packet 
> without response.
> Finished request 0
>
>
> But, with tcpdump, I only see garbage and radius2 receive garbage.
>   

As it should, because the password is _always_ encrypted on the wire. If 
radius2 gives a garbage password in its debug output, it means that it 
couldn't decode the password because the shared secrets between radius1 
and radius2 are not configured to be the same. The error above, which 
you receive on radius1 makes this very clear, because radius1 can 
immediately see from the reply that the shared secret is incorrect (this 
is not a guess, radius1 can be very sure about this: it calculates a 
checksum over the reply and the shared secret, if this checksum is not 
the same as the one radius2 sent in the packet, the shared secret is wrong)

The only other possibility is that one of your radius servers is so 
broken that it should never work with any other proxy or NAS because it 
doesn't calculate its checksums correctly. If both are FreeRADIUS, I 
really doubt that...

> And we have checked the secret key between radius1 and radius2 and it is 
> right. Radius2 detect the access-request as bad password request (it 
> receives grabage in the password)
>   

It's not. The _only_ way radius2 can see that the shared secret is 
correct in an Access-Request packet is if it is able to decode the 
password correctly. The password is garbage in the debug log, so radius2 
couldn't decode the password, ergo: the shared secret is wrong.

> There is others local users in radius1 working fine, using teh same nas 
> and shared secret.
>   

This only means that the shared secret between the NAS and radius1 is 
configured correctly, not that the one between radius1 and radius2 is 
correct. (Note, you didn't post any configuration files, but from what I 
could find here (don't have any proxy experience), the shared secret on 
radius2 is not the same as the one between the NAS and radius1. The 
shared secret between radius1 and radius2 should be configured in 
clients.conf on radius2 and in proxy.conf on radius1. Any comments on 
this from proxy-users are welcome...)

Gtnx
    Marcel




More information about the Freeradius-Users mailing list