(RADIATOR) How do you log proxy auth packets in a SQL dB or file?

Hugh Irvine hugh at open.com.au
Sun Aug 3 19:18:30 CDT 2003


Hello Mary Grace -

What you describe sounds like a session database.

You should add something like this to the end of your configuration 
file:

<SessionDatabase SQL>
	DBSource dbi:mysql:radius:1.2.3.4:3306
	DBUsername foobar
	DBAuth raboof
</SessionDatabase.

See section 6.7 in the Radiator 3.6 reference manual.

regards

Hugh


On Sunday, Aug 3, 2003, at 08:51 Australia/Melbourne, Mary Grace wrote:

> Hi everyone!
>
> We have a standard proxy radius setup going that successfully stores 
> accounting data received from an upstream radius server in our server 
> using AuthBy SQL, while proxying using AuthBy RADIUS the Auth requests 
> to a downstream RADIUS server.  The downstream then does the Auth, 
> sends back up through us the ACCEPT and keeps its own copy of the 
> Accounting info, and we proxy the ACCEPT packets back up to our 
> upstream's radius.
>
> The question has arisen as to how we can log or keep a copy also of 
> the upstream's Auth REQUEST packet info that we proxy down to our 
> downstream's radius server.  We would prefer to store it in a SQL 
> table using something like AcctColumnDefs, or at least in a password 
> log format and detail log format showing the actual Auth Req and Auth 
> Response packets that flow up and down through us from the upstream 
> radius to our downstream radius.
>
> The reason to do this is of course to have a basis for using SQL to 
> correct for false simultaneous login denials when a STOP packet gets 
> lost and a user who calls in (from the same Calling-Station ID as the 
> Calling-Station ID he is "currently" (due to the missed STOP packet) 
> assumed to be logged in to) is desired to be authenticated anyway.  
> One could detect such a condition, delete the prior session, and then 
> let him in directly with a hook.
>
> But, I don't know how to tell if that user with a live current START 
> record in our Accounting dB is asking to Auth again unless I can get 
> and store a copy of that second Auth Req packet, not just a new start 
> record that I will never see...... :-(
>
> Thanks in advance,
>
> Mary Grace
>
> *****************************************************************
> Foreground
> LogStdout
> Trace	5
> PidFile	C:radius\radiusd.pid
> BindAddress 1-2-3-4
> AuthPort	1645
> AcctPort	1646
> LogDir C:\radius\radlogs
> DbDir	C:\radius
> LogFile		%L/logfile-1-2-3-4-%Y%m%d.log
> DictionaryFile %D/dictionary
> <Client 4.3.2.1>
> 	Secret shhh!
> </Client>
> <Client 4.3.2.2>
> 	Secret shhh!
> </Client>
> <Realm test.net>
> RewriteUsername	tr/[A-Z]/[a-z]/
> AcctLogFileName	%L/detail-4-test%Y%m%d.log
> PasswordLogFileName %L/password-4-test%Y%m%d.log
> AuthByPolicy ContinueAlways
> <AuthBy SQL>
> DBSource dbi:mysql:radius:1.2.3.4:3306
> DBUsername foobar
> DBAuth raboof
> AuthSelect
> #AuthSelect select PASSWORD, CHECKATTR, REPLYATTR from 
> SUBSCRIBERS_TEST_NET
> # where USERNAME=%0
> #AuthColumnDef 0,Password,check
> #AuthColumnDef 1,GENERIC,check
> #AuthColumnDef 2,GENERIC,reply
> AccountingTable accttestnet%Y%m
> AcctColumnDef user_name,User-Name
> AcctColumnDef nas_ip_address,NAS-IP-Address
> AcctColumnDef nas_port,NAS-Port
> AcctColumnDef service_type,Service-Type
> AcctColumnDef framed_protocol,Framed-Protocol
> AcctColumnDef framed_ip_address,Framed-IP-Address
> AcctColumnDef class,Class
> AcctColumnDef called_station_id,Called-Station-Id
> AcctColumnDef calling_station_id,Calling-Station-Id
> AcctColumnDef acct_status_type,Acct-Status-Type
> AcctColumnDef acct_delay_time,Acct-Delay-Time
> AcctColumnDef acct_input_octets,Acct-Input-Octets
> AcctColumnDef acct_output_octets,Acct-Output-Octets
> AcctColumnDef acct_session_id,Acct-Session-Id
> AcctColumnDef acct_authentic,Acct-Authentic
> AcctColumnDef acct_session_time,Acct-Session-Time,integer
> #AcctColumnDef start_time,%b-%0{Acct-Session-Time},literal
> AcctColumnDef acct_input_packets,Acct-Input-Packets
> AcctColumnDef acct_output_packets,Acct-Output-Packets
> AcctColumnDef acct_terminate_cause,Acct-Terminate-Cause
> AcctColumnDef event_timestamp,Event-Timestamp,integer
> AcctColumnDef nas_port_type,NAS-Port-Type
> AcctColumnDef connect_info,Connect-Info
> AcctColumnDef ascend_pre_input_octets,Ascend-Pre-Input-Octets
> AcctColumnDef ascend_pre_output_octets,Ascend-Pre-Output-Octets
> AcctColumnDef ascend_pre_input_packets,Ascend-Pre-Input-Packets
> AcctColumnDef ascend_pre_output_packets,Ascend-Pre-Output-Packets
> AcctColumnDef ascend_disconnect_cause,Ascend-Disconnect-Cause
> AcctColumnDef ascend_connect_progress,Ascend-Connect-Progress
> AcctColumnDef ascend_data_rate,Ascend-Data-Rate
> AcctColumnDef ascend_presession_time,Ascend-PreSession-Time,integer
> AcctColumnDef ascend_xmit_rate,Ascend-Xmit-Rate
> AcctColumnDef timestamp,Timestamp,integer
> </AuthBy>
> <AuthBy RADIUS>
> Host 4.3.2.3
> Secret shhh!
> AuthPort 1645
> AcctPort 1646
> </AuthBy>
> </Realm>
> <Log FILE>
> Filename %L/backuplog4-3-2-1-%Y%m%d.log
> Trace 5
> </Log>
>
> ===
> 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: have you included a copy of your configuration file (no secrets),
together with a trace 4 debug showing what is happening?

-- 
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.

===
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