[tac_plus] Re: Let's discuss some new features

john heasley heas at shrubbery.net
Fri May 2 17:02:53 UTC 2008


Wed, Apr 30, 2008 at 10:54:14AM +0200, Kiss Gabor (Bitman):
> Dear folks,
> 
> I plan to do some enhancements of tac_plus daemon.
> It would be lovely if network manager can assign individual
> attributes based not only on username but
> - host (NAS) address/name

Are you implying DNS?  I do not think that DNS/names and security work well
together.  I also think that authentication daemons should not be dependant
upon DNS, which may be broken.

> - terminal line (console, async/modem, vty etc.)

this too seems dodgy, afaik there is not standard way of representing these
by name and and two implementations (or versions) could be different.

> - connection time (workdays, weekend, day and night etc.)
> 
> However this requires more sophisticated database backend practically
> speaking a relational database. Sqlite seems to be a good choice.
> Configure script would accept --with-sqlite option on systems
> where libsqlite is available. At startup or when catching HUP signal
> daemon read the usual configuration file and fills database
> with approprate record. Database could be in memory entirely (i.e. no
> external file) so daemon would be acting as a black box that
> cannot be distinguish from the current one.

I prefer not sqllite.  berkeley db is a better choice IMO, since it does
rely on any additional sources.  though i suppose it could be distributed
with tacacs.  at least sqlite's license is digestible.

> Lookout is the same but there is a V8 engine under the hood. :-)
> 
> Moreover I wish to keep backward compaibility of config file.
> So I'm thinking on some new syntax elements that could describe
> the above functionality.

as for the config file, i'd like to see the parser rewritten in yacc/lex,
but i have nothing working yet.

> I mean somethink like this:
> 
> -----------------------------------
> acl = local_net_acl {
> 	permit = ^172\.16\.192\.
> }
> 
> user = melany_local {
> 	ifhost = local_net_acl {
> 		service = exec {
> 			priv-lvl = 15
> 		}
> 	}
> 	service = exec {
> 		priv-lvl = 2
> 	}
> 	member = working_girl
> }
> 
> time = business_hours {
> 	permit = Mo-Fr,8-15:30
> }
> 
> group = working_girl {
> 	iftime = business_hours {
> 		default service = permit
> 	}
> 	default service = deny
> }
> -----------------------------------
> 
> What is your opinion?
> 
> Gabor
> _______________________________________________
> tac_plus mailing list
> tac_plus at shrubbery.net
> http://www.shrubbery.net/mailman/listinfo.cgi/tac_plus


More information about the tac_plus mailing list