Re: simultaneous use logging
Ah yes, I was doing that wrong, that seems to work much better now. Thank you. On Wed, Jun 17, 2009 at 10:28 AM, Alan DeKok wrote: > James Devine wrote: >> The authentication portion of the module returns ok, the session >> portion returns reject, as it should. > > No. > > The session portion should return "ok", and increment > request->simul_count. See rlm_radutmp for examples. > > This is because users may be tracked in multiple places (radutmp, sql, > etc.), *and* they have have Simultaneous-Use limits that are more than one. > > This allows the SQL module to say "I track one login", and the radutmp > module to say "I track a different login", with the admin allowing 2 > simultaneous logins. > > Alan DeKok. > - > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html > - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: simultaneous use logging
James Devine wrote: > The authentication portion of the module returns ok, the session > portion returns reject, as it should. No. The session portion should return "ok", and increment request->simul_count. See rlm_radutmp for examples. This is because users may be tracked in multiple places (radutmp, sql, etc.), *and* they have have Simultaneous-Use limits that are more than one. This allows the SQL module to say "I track one login", and the radutmp module to say "I track a different login", with the admin allowing 2 simultaneous logins. Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: simultaneous use logging
The authentication portion of the module returns ok, the session portion returns reject, as it should. On Wed, Jun 17, 2009 at 9:18 AM, Ivan Kalik wrote: >> Well, in debugging mode, it doesn't log anything to the file, but the >> debug output shows it being rejected. When I am not running in debug, >> I only get 'Login OK: [zdls02/p2182111] (from client allowed_clients >> port 536936642)' logged by the radius server, I am logging my own >> simultaneous use message, although this shows up prior to the login ok >> message in the logs. > > You authentication module is broken. > > ... >> Found Auth-Type = gwis >> +- entering group authenticate {...} >> ++[gwis] returns ok >> +- entering group session {...} >> [rlm_gwis 4a38f8a476ce4ac0b0 Error] Authentication failed due to >> simultaneous use: zdls02 >> ++[gwis] returns reject > ... > > It first returns ok, then rejects. So you get both login OK and reject. > Fix the module. > > Ivan Kalik > Kalik Informatika ISP > > - > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html > - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: simultaneous use logging
> Well, in debugging mode, it doesn't log anything to the file, but the > debug output shows it being rejected. When I am not running in debug, > I only get 'Login OK: [zdls02/p2182111] (from client allowed_clients > port 536936642)' logged by the radius server, I am logging my own > simultaneous use message, although this shows up prior to the login ok > message in the logs. You authentication module is broken. ... > Found Auth-Type = gwis > +- entering group authenticate {...} > ++[gwis] returns ok > +- entering group session {...} > [rlm_gwis 4a38f8a476ce4ac0b0 Error] Authentication failed due to > simultaneous use: zdls02 > ++[gwis] returns reject ... It first returns ok, then rejects. So you get both login OK and reject. Fix the module. Ivan Kalik Kalik Informatika ISP - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: simultaneous use logging
Well, in debugging mode, it doesn't log anything to the file, but the debug output shows it being rejected. When I am not running in debug, I only get 'Login OK: [zdls02/p2182111] (from client allowed_clients port 536936642)' logged by the radius server, I am logging my own simultaneous use message, although this shows up prior to the login ok message in the logs. Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on command file /var/run/radiusd/radiusd.sock Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 10.10.10.231 port 50895, id=25, length=97 User-Name = "zdls02" Service-Type = Framed-User NAS-IP-Address = 10.10.10.231 NAS-Port = 536936642 NAS-Port-Type = Virtual User-Password = "fred" Framed-Protocol = PPP NAS-Port-Id = "2/0/0/1.194" Service-Type = Framed-User +- entering group authorize {...} [preprocess] hints: Matched DEFAULT at 21 [preprocess] hints: Matched DEFAULT at 58 [preprocess] hints: Matched DEFAULT at 751 [preprocess] hints: Matched DEFAULT at 1180 ++[preprocess] returns ok ++[gwis] returns ok [files] users: Matched entry DEFAULT at line 316 ++[files] returns ok Found Auth-Type = gwis +- entering group authenticate {...} ++[gwis] returns ok +- entering group session {...} [rlm_gwis 4a38f8a476ce4ac0b0 Error] Authentication failed due to simultaneous use: zdls02 ++[gwis] returns reject Login OK: [zdls02/p2182111] (from client allowed_clients port 536936642) Using Post-Auth-Type Reject +- entering group REJECT {...} [attr_filter.access_reject] expand: %{User-Name} -> zdls02 attr_filter: Matched entry DEFAULT at line 11 ++[attr_filter.access_reject] returns updated Sending Access-Reject of id 25 to 10.10.10.231 port 50895 Finished request 0. Going to the next request Waking up in 4.9 seconds. Cleaning up request 0 ID 25 with timestamp +26 Ready to process requests. On Wed, Jun 17, 2009 at 3:08 AM, Ivan Kalik wrote: >> I have setup a custom module to do auth and acct. In debug mode >> everything appears correct, and responses appear correct. When I >> don't have radius running in debug mode, responses still appear >> correct, but if auth fails due to simultaneous use, radius is logging >> 'Auth: Login OK'. Authentication was successful, but the auth request >> failed due to simultaneous use, so it should be logging a failure I >> would think. Any idea what I might be doing wrong? > > If simultaneous checking rejected the user you will have an entry like: > > Multiple logins (max 1) : [username] > > in radius.log. > > > Ivan Kalik > Kalik Informatika ISP > > - > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html > - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: simultaneous use logging
> I have setup a custom module to do auth and acct. In debug mode > everything appears correct, and responses appear correct. When I > don't have radius running in debug mode, responses still appear > correct, but if auth fails due to simultaneous use, radius is logging > 'Auth: Login OK'. Authentication was successful, but the auth request > failed due to simultaneous use, so it should be logging a failure I > would think. Any idea what I might be doing wrong? If simultaneous checking rejected the user you will have an entry like: Multiple logins (max 1) : [username] in radius.log. Ivan Kalik Kalik Informatika ISP - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: simultaneous use logging
James Devine wrote: > I have setup a custom module to do auth and acct. In debug mode > everything appears correct, and responses appear correct. When I > don't have radius running in debug mode, responses still appear > correct, but if auth fails due to simultaneous use, radius is logging > 'Auth: Login OK'. Authentication was successful, but the auth request > failed due to simultaneous use, so it should be logging a failure I > would think. Any idea what I might be doing wrong? The "Login OK" message is produced only when it sends an Access-Accept back to the NAS. See src/main/auth.c. If a simultaneous-use check fails, it returns Access-Reject, and logs "You are already logged in..." The debug log you posted shows it receiving no packets, and therefore doing nothing. Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
simultaneous use logging
I have setup a custom module to do auth and acct. In debug mode everything appears correct, and responses appear correct. When I don't have radius running in debug mode, responses still appear correct, but if auth fails due to simultaneous use, radius is logging 'Auth: Login OK'. Authentication was successful, but the auth request failed due to simultaneous use, so it should be logging a failure I would think. Any idea what I might be doing wrong? FreeRADIUS Version 2.1.4, for host i386-portbld-freebsd7.1, built on May 7 2009 at 10:48:55 Copyright (C) 1999-2008 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /usr/local/etc/raddb/radiusd.conf including configuration file /usr/local/etc/raddb/proxy.conf including configuration file /usr/local/etc/raddb/clients.conf including files in directory /usr/local/etc/raddb/modules/ including configuration file /usr/local/etc/raddb/modules/wimax including configuration file /usr/local/etc/raddb/modules/always including configuration file /usr/local/etc/raddb/modules/attr_filter including configuration file /usr/local/etc/raddb/modules/attr_rewrite including configuration file /usr/local/etc/raddb/modules/chap including configuration file /usr/local/etc/raddb/modules/checkval including configuration file /usr/local/etc/raddb/modules/counter including configuration file /usr/local/etc/raddb/modules/detail including configuration file /usr/local/etc/raddb/modules/detail.example.com including configuration file /usr/local/etc/raddb/modules/detail.log including configuration file /usr/local/etc/raddb/modules/digest including configuration file /usr/local/etc/raddb/modules/echo including configuration file /usr/local/etc/raddb/modules/etc_group including configuration file /usr/local/etc/raddb/modules/exec including configuration file /usr/local/etc/raddb/modules/expiration including configuration file /usr/local/etc/raddb/modules/expr including configuration file /usr/local/etc/raddb/modules/files including configuration file /usr/local/etc/raddb/modules/inner-eap including configuration file /usr/local/etc/raddb/modules/ippool including configuration file /usr/local/etc/raddb/modules/krb5 including configuration file /usr/local/etc/raddb/modules/ldap including configuration file /usr/local/etc/raddb/modules/linelog including configuration file /usr/local/etc/raddb/modules/logintime including configuration file /usr/local/etc/raddb/modules/mac2ip including configuration file /usr/local/etc/raddb/modules/mac2vlan including configuration file /usr/local/etc/raddb/modules/mschap including configuration file /usr/local/etc/raddb/modules/otp including configuration file /usr/local/etc/raddb/modules/pam including configuration file /usr/local/etc/raddb/modules/pap including configuration file /usr/local/etc/raddb/modules/passwd including configuration file /usr/local/etc/raddb/modules/perl including configuration file /usr/local/etc/raddb/modules/policy including configuration file /usr/local/etc/raddb/modules/preprocess including configuration file /usr/local/etc/raddb/modules/radutmp including configuration file /usr/local/etc/raddb/modules/realm including configuration file /usr/local/etc/raddb/modules/smbpasswd including configuration file /usr/local/etc/raddb/modules/smsotp including configuration file /usr/local/etc/raddb/modules/sql_log including configuration file /usr/local/etc/raddb/modules/sqlcounter_expire_on_login including configuration file /usr/local/etc/raddb/modules/sradutmp including configuration file /usr/local/etc/raddb/modules/unix including configuration file /usr/local/etc/raddb/modules/acct_unique including configuration file /usr/local/etc/raddb/modules/gwis including configuration file /usr/local/etc/raddb/eap.conf including configuration file /usr/local/etc/raddb/sql.conf including configuration file /usr/local/etc/raddb/policy.conf including files in directory /usr/local/etc/raddb/sites-enabled/ including configuration file /usr/local/etc/raddb/sites-enabled/default including configuration file /usr/local/etc/raddb/sites-enabled/inner-tunnel including configuration file /usr/local/etc/raddb/sites-enabled/control-socket group = freeradius user = freeradius including dictionary file /usr/local/etc/raddb/dictionary main { prefix = "/usr/local" localstatedir = "/var" logdir = "/var/log" libdir = "/usr/local/lib/freeradius-2.1.4" radacctdir = "/var/log/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 4096 allow_core_dumps = no pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/local/sbin/checkrad" debug_level = 0 proxy_requests = yes log {