[RADIATOR] Client-Identifier doesn't match handler for Tacacs requests

Andrew D. Clark adc at umn.edu
Wed Nov 25 10:14:44 CST 2009


Here's one I use to do it:

# $Id: tacacs_client_identifier,v 1.3 2009/11/11 16:29:38 adc Exp $

# PreHandlerHook to pull the Identifier out of the client clause
# for TACACS+ clients.  The Identifier is then added to the request
# in the 'OSC-Client-Identifier' VSA

sub {
        my $p = ${$_[0]};
        my $hook_name = 'tacacs_client_identifier';

        &main::log($main::LOG_DEBUG, "Hook $hook_name called");

        my $client_addr = $p->get_attr('NAS-IP-Address');
        my $client = Radius::Client::findAddress($client_addr);

        &main::log($main::LOG_DEBUG, "Hook $hook_name searching for client 
<$client_addr>");
        &main::log($main::LOG_DEBUG, "Hook $hook_name got client ident 
<$client->{'Identifier'}>");

        $p->add_attr('OSC-Client-Identifier', $client->{'Identifier'});

        return;
}


On Wednesday 25 November 2009 04:49:57 Hugh Irvine wrote:
> Hello Alex -
> 
> You can add a simple PreHandlerHook in the ServerTACACSPLUS clause to look
>  up the Client and add an OSC-Client-Identifier to the request.
> 
> I'll talk to Mike tomorrow about the Service-Type.
> 
> regards
> 
> Hugh
> 
> On 25 Nov 2009, at 21:18, Alexander Hartmaier wrote:
> > Hi Hugh!
> >
> > Because the fake radius request originates from it?
> >
> > Can that behavior be changed to match that of Radius?
> > It makes more sense to be able to distinguish from which NAS the request
> > came than to know how the internals of Radiator work.
> >
> > Additionally we've found out that the request from the tacacs proxy
> > Radiator to the backend Radiator doesn't contain the info which
> > transforms to the Service-Type radius attribute, so
> > Service-Type=Administrative-User becomes Service-Type=Login-User.
> > I couldn't find the opposite of the service_to_service_type hash to fix
> > it myself.
> >
> >> Hello Alexander -
> >>
> >> The client for TACACS is the ServerTACACSPLUS clause.
> >>
> >> Ie.
> >>
> >> .....
> >>
> >> <ServerTACACSPLUS>
> >> 	Identifier ouridentifier
> >> 	.....
> >> </Server>
> >>
> >> <Handler Client-Identifier=ouridentifier, Service-Type=Login-User>
> >> 	.....
> >> </Handler>
> >>
> >> .....
> >>
> >> regards
> >>
> >> Hugh
> >>
> >> On 25 Nov 2009, at 01:25, Alexander Hartmaier wrote:
> >>> Hi!
> >>>
> >>> I've configured Radiator according to 5.5.16 Identifier in the 4.4.1
> >>> manual:
> >>>
> >>> <Client DEFAULT>
> >>>       Identifier ouridentifier
> >>>       TACACSPLUSKey oursecret
> >>>       DupInterval 60
> >>> </Client>
> >>>
> >>> But this handler doesn't match:
> >>>
> >>> <Handler Client-Identifier=outidentifier, Service-Type=Login-User>
> >>>
> >>> The fake radius packet looks like this:
> >>>
> >>> Attributes:
> >>>       NAS-IP-Address = 10.1.2.3
> >>>       NAS-Port-Id = "tty322"
> >>>       Calling-Station-Id = "1.2.3.4"
> >>>       Service-Type = Login-User
> >>>       User-Name = "username"
> >>>       User-Password = **obscured**
> >>>       OSC-Version-Identifier = "192"
> >>>
> >>> In ServerTACACSPLUS line 547 it seems this should work:
> >>>
> >>> $tp->{Client} = $self; # So you can use Client-Identifier check items
> >>>
> >>> Is this a bug or are I'm doing something wrong?
> >>>
> >>> --
> >>> Alexander Hartmaier <alexander.hartmaier at t-systems.at>
> >>> T-Systems Austria GesmbH
> >>>
> >>>
> >>>
> >>> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
> >>>"*"*"* T-Systems Austria GesmbH   Rennweg 97-99, 1030 Wien
> >>> Handelsgericht Wien, FN 79340b
> >>> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
> >>>"*"*"* Notice: This e-mail contains information that is confidential and
> >>> may be privileged. If you are not the intended recipient, please notify
> >>> the sender and then delete this e-mail immediately.
> >>> *"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
> >>>"*"*"* _______________________________________________
> >>> radiator mailing list
> >>> radiator at open.com.au
> >>> http://www.open.com.au/mailman/listinfo/radiator
> >>
> >> NB:
> >>
> >> Have you read the reference manual ("doc/ref.html")?
> >> Have you searched the mailing list archive
> >> (www.open.com.au/archives/radiator)? Have you had a quick look on Google
> >> (www.google.com)?
> >> Have you included a copy of your configuration file (no secrets),
> >> together with a trace 4 debug showing what is happening?
> 
> NB:
> 
> Have you read the reference manual ("doc/ref.html")?
> Have you searched the mailing list archive
>  (www.open.com.au/archives/radiator)? Have you had a quick look on Google
>  (www.google.com)?
> Have you included a copy of your configuration file (no secrets),
> together with a trace 4 debug showing what is happening?
> 

-- 
Andrew D. Clark
Network Operations Engineer
University of Minnesota, Networking/Telecom Services
2218 University Ave SE
Minneapolis, MN 55414-3029
Phone: 612-626-4880


More information about the radiator mailing list