(RADIATOR) Radiator setup for dual authentication
Hugh Irvine
hugh at open.com.au
Wed Apr 6 03:10:04 CDT 2005
Hello Jon -
You are correct - a ReplyHook is the best way to do what you describe.
regards
Hugh
On 6 Apr 2005, at 05:12, Jonathan K wrote:
> Hi,
>
> We've got a bit of a tricky setup here which we've solved by using a
> ReplyHook but i'd like to run it by the list to see if it's the best
> method for what we're trying to achieve.
>
> We run a managed platform that handles authentication via radiator and
> a mysql backend, we have a new customer coming online who would like
> to have control over their user base via proxied RADIUS requests. This
> is all good, but because of the method that the client is using to
> synchronise their data from us, we need to also authenticate the user
> using our normal method (local sql database). The flow we are looking
> for is as follows:
>
> 1. Receive Access-Request from client
> 2. Proxy request to downstream RADIUS server
> 3a. If downstream server responds with Access-Reject, send
> Access-Reject to client
> 3b. If downstream server responds with Access-Accept, auth from local
> sql server
> 4a. If local auth fails, send Access-Reject to client
> 4b. If local auth succeeds, send Access-Accept to client
>
>
> I thought this would be a simple matter of having a handler with
> ContinueWhileAccept and two consecutive AuthBy's but what we've found
> when using this method is that Radiator sends duplicate packets back
> to the requesting NAS (in our testing, radpwtst). While radpwtst only
> receives the one packet (tcpdump shows that two are being sent), we're
> not sure (and don't want to test) how a NAS will respond to this, or
> what will happen if the wrong AuthBy sends the first reply, which
> doesn't have the correct info.
>
> Basically this is what happens:
>
> 1. Radiator gets Access-Request
> 2. First AuthBy (RADIUS) executes and proxies request to remote server
> 3. Second AuthBy (SQL) executes
> 4. Second AuthBy succeeds and sends Access-Accept back to client
> 5. Radiator receives reply from remote server and proxies
> Access-Accept back to client
>
> We've managed to get the required behaviour by setting the Synchronous
> flag but this isn't acceptable for our installation, we've also
> experimented with the Fork and Synchronous flags together which
> produces the same duplicate reply problem.
>
> What we've done is written an external hook based on
> "AllocateIPAddressOnReplyFromProxy" which evaluates the remote servers
> response and goes off and runs our local AuthBy then allocates the IP
> in the normal way or rejects the client. It does what we want.
>
> We have:
>
> <Handler /matches_for_customer/>
> AuthByPolicy ContinueWhileReject
> AuthBy CustomerAuth
> </Handler>
>
> <AuthBy RADIUS>
> Identifier CustomerAuth
> <Host 111.111.111.111>
> secret foo
> </Host>
> # Reply hook evaluates response from remote server
> # if success then points to our regular AuthBy SQL
> # then assigns address
> ReplyHook file:"%D/customer.hook"
> </AuthBy>
>
>
> So my question is, is this an optimal way of dealing with this? Can
> anyone see any room for improvement in our model? This customer has
> about 15,000 clients and we are looking at this solution for another
> client with a number of clients in the 1000's and need to know it
> scales.
>
> Thanks in advance.
>
> Jon
>
> --
> Archive at http://www.open.com.au/archives/radiator/
> Announcements on radiator-announce at open.com.au
> To unsubscribe, email 'majordomo at open.com.au' with
> 'unsubscribe radiator' in the body of the message.
>
>
NB: I am travelling this week, so there may be delays in our
correspondence.
--
Radiator: the most portable, flexible and configurable RADIUS server
anywhere. Available on *NIX, *BSD, Windows 95/98/2000, NT, MacOS X.
-
Nets: internetwork inventory and management - graphical, extensible,
flexible with hardware, software, platform and database independence.
-
CATool: Private Certificate Authority for Unix and Unix-like systems.
--
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list