Webalizer http://www.mrunix.net/webalizer/ is a very good application, there
are several others out there like Awstats http://awstats.sourceforge.net/
If you want to get stats on your users usage, set up a proxy (possibly
transparent) and use the logs from the proxy server to run your statistics.
Some of the commercial DHCP servers such as Cisco have interesting options
to help with the secure allocation of IP addresses. There are options to
give clients private IP addresses that only have access to an
authentication web server, once the clients authenticate to the web server