[RADIATOR] Preventing Computer/Machine Authentication in AuthBy NTLM
Michael Rodrigues
mrodrigues at education.ucsb.edu
Mon Apr 21 15:15:31 CDT 2014
Hi Heikki,
So if I have three AuthBys in the outer Handler (INTERNAL first for
renaming, then two FILEs for checking MAC address and Username) am I
correct in assuming that the two AuthBy FILEs will be operating on the
request as altered by the initial AuthBy INTERNAL?
I made the suggested modification to the hook and it appears to execute,
however, it seems to be replacing the username with a blank string ("")
during Access-Challeng, and the subsequent AuthBy FILE sections are
still using the "anonymous outer identity" when checking against the
blacklist files I have.
I've included some sample output, the User-Name I expect to see (at
least after GetInnerUsername runs) is "mrodrigues", but only the
"anonymous outer identity" ( gagagagagagagagagag) is visible. I also
never manage to get an Access-Accept, which I do get if I comment out
the GetInnerUsername Authby.
Code: Access-Request
Identifier: 42
Authentic: ]'<227><149><18>8)"j-<175>-<25><4><182>]
Attributes:
User-Name = "gagagagagagagagagag"
NAS-IP-Address = 10.99.1.250
NAS-Port = 66
Framed-MTU = 1400
Called-Station-Id = "00:04:96:3a:da:eb"
Calling-Station-Id = "78:d6:f0:97:f7:d3"
NAS-Port-Type = Wireless-IEEE-802-11
NAS-Identifier = "AD-Auth-Dev"
EAP-Message = <2><0><0><24><1>gagagagagagagagagag
Message-Authenticator =
<220><31>A/!6^<185><203>n<224><168>(<230>l<208>
Mon Apr 21 12:56:42 2014: DEBUG: Handling request with Handler '',
Identifier ''
Mon Apr 21 12:56:42 2014: DEBUG: Deleting session for
gagagagagagagagagag, 10.99.1.250, 66
Mon Apr 21 12:56:42 2014: DEBUG: Handling with Radius::AuthGROUP:
Mon Apr 21 12:56:42 2014: DEBUG: Handling with AuthINTERNAL:
GetInnerUsername
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthGROUP: GetInnerUsername
result: ACCEPT, testing the hook
Mon Apr 21 12:56:42 2014: DEBUG: Handling with Radius::AuthFILE:
CheckMacAddressBlacklist
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthFILE looks for match with
78:d6:f0:97:f7:d3 [gagagagagagagagagag]
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthFILE REJECT: No such user:
78:d6:f0:97:f7:d3 [gagagagagagagagagag]
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthGROUP:
CheckMacAddressBlacklist result: ACCEPT,
Mon Apr 21 12:56:42 2014: DEBUG: Handling with Radius::AuthFILE:
CheckUserBlacklist
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthFILE looks for match with
gagagagagagagagagag [gagagagagagagagagag]
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthFILE REJECT: No such user:
gagagagagagagagagag [gagagagagagagagagag]
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthGROUP: CheckUserBlacklist
result: ACCEPT,
Mon Apr 21 12:56:42 2014: DEBUG: Handling with Radius::AuthNTLM:
Mon Apr 21 12:56:42 2014: DEBUG: Handling with EAP: code 2, 0, 24, 1
Mon Apr 21 12:56:42 2014: DEBUG: Response type 1
Mon Apr 21 12:56:42 2014: DEBUG: EAP result: 3, EAP PEAP Challenge
Mon Apr 21 12:56:42 2014: DEBUG: Radius::AuthGROUP: result: CHALLENGE,
EAP PEAP Challenge
Mon Apr 21 12:56:42 2014: DEBUG: AuthBy GROUP result: CHALLENGE, EAP
PEAP Challenge
Mon Apr 21 12:56:42 2014: DEBUG: Access challenged for
gagagagagagagagagag: EAP PEAP Challenge
Mon Apr 21 12:56:42 2014: DEBUG: Packet dump:
*** Sending to 10.99.1.250 port 51888 ....
Packet length = 48
0b 2a 00 30 2a 6f 55 9b 22 ba 50 16 82 c7 f0 aa
47 92 22 b9 01 02 4f 08 01 01 00 06 19 20 50 12
bd c9 eb a2 b2 cd 56 77 df 9a 3b 5a e1 d9 e7 0b
Code: Access-Challenge
Identifier: 42
Authentic: *oU<155>"<186>P<22><130><199><240><170>G<146>"<185>
Attributes:
User-Name = ""
EAP-Message = <1><1><0><6><25>
Message-Authenticator =
<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>
On 4/21/2014 10:25 AM, Heikki Vatiainen wrote:
> On 04/18/2014 07:31 PM, Michael Rodrigues wrote:
>
>> I tried adding an AuthBy INTERNAL to the outer handler, using the perl
>> snippet you had suggested with RequestHook. I get a hook error whenever
>> it is called. I'm not a perl guru but I tried changing "${$_[1]}" to
>> just "$_[1]" and got rid of the SCALAR error, but I was still getting a
>> "Hook error" with no specific information.
> Hello Michael,
>
> your hook needs a couple of small changes. Try this.
>
> RequestHook sub { my $rp = $_[1];
> $rp->changeUserName($rp->{inner_identity}); return $main::ACCEPT;}
>
> The hook parameter types depend on the hook. With RequestHook the Hook
> gets passed a reference, not a reference to a reference like it does for
> some Hooks. Also, you need to return a suitable return value because
> AuthBy INTERNAL checks what the hook returns.
>
> Thanks,
> Heikki
>
--
Michael Rodrigues
Technical Support Services Manager
Gevirtz Graduate School of Education
Education Building 4203
(805) 893-8031
help at education.ucsb.edu
More information about the radiator
mailing list