Strange behaviour (?) on Windows authentication

Arnaud Forster arnaud.forster at mwprog.ch
Thu May 17 08:23:21 CEST 2018


Hello all,

I requested a few months ago some help about allowing some specific 
users being able to connect on specific wifi systems. A received some 
great help by adding a test to check if the user belongs to the specific 
group. This works like a charm for computers *not *belonging to the ldap 
domain.Today, I've another problem with that authentication for a 
computer belonging to the ldap domain. I made a log and there's 
something I don't understand.

the username is there and correc (MyUserName)  but suddenly, before 
checking if it belongs to the group 'Enseignants' here, the text '*5c5c' 
*is added to my username. It seems that this is the text 5c5cMyUserName 
that is checked instead of MyUserName.

Can someone understand that ? I've no idea from where comes this '5c5c' 
text and why this works for computers not belonging to the domain...

Really thanks for your help ;)

Arnaud


(1) Received Access-Request Id 193 from <a wifi system> length 219
(1)   User-Name = "MyDomain\\MyUserName"
(1)   NAS-IP-Address = 10.20.32.34
(1)   Called-Station-Id = "00-19-3B-10-8C-00:MyDomain"
(1)   NAS-Port-Type = Wireless-802.11
(1)   Service-Type = Framed-User
(1)   Calling-Station-Id = "DC-53-60-A5-19-50"
(1)   Connect-Info = "CONNECT 0Mbps 802.11b"
(1)   Acct-Session-Id = "929C1E7D46CDEAD7"
(1)   Acct-Multi-Session-Id = "D8478D373078FF2E"
(1)   WLAN-Pairwise-Cipher = 1027076
(1)   WLAN-Group-Cipher = 1027074
(1)   WLAN-AKM-Suite = 1027073
(1)   Framed-MTU = 1400
(1)   EAP-Message = 0x02a800130145534d415c6c656f6e617264696d
(1)   Message-Authenticator = 0xa790b757b6ea900d68132242a39287d3
(1) # Executing section authorize from file /etc/raddb/sites-enabled/default
(1)   authorize {
(1)     policy rewrite_called_station_id {
(1)       if (&Called-Station-Id && (&Called-Station-Id =~ 
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})([^0-9a-f](.+))?$/i)) 
{
(1)       if (&Called-Station-Id && (&Called-Station-Id =~ 
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})([^0-9a-f](.+))?$/i)) 
-> TRUE
(1)       if (&Called-Station-Id && (&Called-Station-Id =~ 
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})([^0-9a-f](.+))?$/i)) 
{
(1)         update request {
(1)           EXPAND %{toupper:%{1}-%{2}-%{3}-%{4}-%{5}-%{6}}
(1)              --> 00-19-3B-10-8C-00
(1)           &Called-Station-Id := 00-19-3B-10-8C-00
(1)         } # update request = noop
(1)         if ("%{8}") {
(1)         EXPAND %{8}
(1)            --> MyDomain
(1)         if ("%{8}")  -> TRUE
(1)         if ("%{8}")  {
(1)           update request {
(1)             EXPAND %{8}
(1)                --> MyDomain
(1)             &Called-Station-SSID := MyDomain
(1)           } # update request = noop
(1)         } # if ("%{8}")  = noop
(1)         [updated] = updated
(1)       } # if (&Called-Station-Id && (&Called-Station-Id =~ 
/^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})([^0-9a-f](.+))?$/i)) 
= updated
(1)       ... skipping else: Preceding "if" was taken
(1)     } # policy rewrite_called_station_id = updated
(1)     switch &Called-Station-SSID {
(1)       case MyDomain{
(1)         if (&LDAP-Group != "Enseignants") {
(1)         Searching for user in group "Enseignants"
rlm_ldap (ldap): Reserved connection (1)
(1)         EXPAND (uid=%{%{Stripped-User-Name}:-%{User-Name}})
(1) *--> (uid=**MyDomain**\**5c5c**MyUsername**)*
(1)         Performing search in "dc=MyDomain,dc=lan" with filter 
"(*uid=**MyDomain**\**5c5c**MyUserName*)", scope "sub"
(1)         Waiting for search result...
(1)         Search returned no results
rlm_ldap (ldap): Released connection (1)
(1)         if (&LDAP-Group != "Enseignants")  -> TRUE
(1)         if (&LDAP-Group != "Enseignants")  {
(1)           [reject] = reject
(1)         } # if (&LDAP-Group != "Enseignants")  = reject
(1)       } # case MyDomain= reject
(1)     } # switch &Called-Station-SSID = reject
(1)   } # authorize = reject
(1) Using Post-Auth-Type Reject
(1) # Executing group from file /etc/raddb/sites-enabled/default
(1)   Post-Auth-Type REJECT {
(1) attr_filter.access_reject: EXPAND %{User-Name}
(1)*attr_filter.access_reject:    --> **MyDomain**\\**MyUserName*
(1) attr_filter.access_reject: Matched entry DEFAULT at line 11
(1)     [attr_filter.access_reject] = updated
(1) eap: Request was previously rejected, inserting EAP-Failure
(1) eap: Sending EAP Failure (code 4) ID 168 length 4
(1)     [eap] = updated
(1)     policy remove_reply_message_if_eap {
(1)       if (&reply:EAP-Message && &reply:Reply-Message) {
(1)       if (&reply:EAP-Message && &reply:Reply-Message)  -> FALSE
(1)       else {
(1)         [noop] = noop
(1)       } # else = noop
(1)     } # policy remove_reply_message_if_eap = noop
(1)   } # Post-Auth-Type REJECT = updated
(1) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
Waking up in 0.6 seconds.
(1) Sending delayed response
(1) Sent Access-Reject Id 193 from 10.20.32.11:1812 to 10.20.32.34:36521 
length 44
(1)   EAP-Message = 0x04a80004
(1)   Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 1.3 seconds.
(0) Cleaning up request packet ID 192 with timestamp +3



More information about the Freeradius-Users mailing list