[TriLUG] need Radius suggestions/help

Aaron S. Joyner aaron at joyner.ws
Tue Dec 7 09:28:46 EST 2004


gregbrown at mindspring.com wrote:

>As a disclaimer I have never set up radius before.  Ever.   Okay, here where I find myself. <snip problem description>
>
First, there are a few things to understand about Radius.  Radius is 
nothing more than an authentication protocol.  "Radius", as an ephemeral 
concept, can not do any of the things you're asking of it.  On the other 
hand, Radius can be an enabling technology that allows your device (in 
this case monowall) to defer to a more intelligent back-end for 
determining who is, and who is not, authenticated.

The most common GPL'd radius server in use is FreeRadius, which can be 
found here: http://www.freeradius.org/  FreeRadius is capable of using 
lots of back-end authentication methods, including PAM, SQL, LDAP, and 
others.  It's probably easiest to configure FreeRadius to authenticate 
against a back-end you're comfortable manipulating, and then simply 
adjust the back end on a monthly basis (perhaps via a script), to 
accomplish your goals.

Consider this scenario: Monowall authenticates via Radius, against your 
FreeRadius server.  Your FreeRadius server is configured to authenticate 
against a MySQL table.  That table contains two columns and only one 
row, which define a valid username and password.  Every month, your end 
user comes to a password-protected web page which presents them with a 
box to enter a new password.  This page updates the 2nd column in the 
database, and then everyone has to use the new password that month.  
That's perhaps the easiest, path of least resistance, to solve your 
problem.  Other options include auth'ing against PAM, and then any valid 
user account would succeed.  You could restrict which accounts are valid 
for authentication, either in FreeRadius or possibly in PAM.  Then you 
would only need to change one user's password on a monthly basis.  You 
could also take either model and scale them up from the single-user idea 
you originally had in mind, and allow multiple users, and create / 
remove / edit them through any mechanism that modifies MySQL (or local 
user accounts) that you like (i.e. a PERL / PHP web front-end, which 
could make it easy to print out EULAs, etc).

Good luck in the world of Radius,
Aaron S. Joyner



More information about the TriLUG mailing list