[Netpass-users] important notes about latest NP bug fixes
Brought to you by:
jeffmurphy
|
From: Jeff M. <jcm...@os...> - 2005-08-31 18:54:41
|
I'm going to make some CVS commits today but before you use them, you'll
need to make a few manual adjustments.
- Audit report changes
The audit report will now attempt to connect to your other NP
servers (if any) and fetch audit history from those servers and then
coalesce it into the final report.
This was done because the audit table is not replicated amongst
the NP servers. That, in turn, was done because MySQL cluster is
limited by the amount of RAM in the machine, and the audit table
can grow quite large over time. So there was a need to fetch the
audit results from the various servers and present them in a
single report.
To make this happen, you need to grant access so that each server
can connect to the other. IPTables should already be configured
to allow this. Assuming you have two NP servers called "npw1"
and "npw2", MySQL must be configured as follows:
npw1% mysql -u root mysql
mysql> insert into user values ('npw2.cit.buffalo.edu', 'root', '',
'y','n','n','n','n','n','n','n','n','n','n','n','n','n','n',
'n','n','n','n','n','n','','','','',0,0,0);
npw1% mysqladmin -u root reload
npw2% mysql -u root mysql
mysql> insert into user values ('npw1.cit.buffalo.edu', 'root', '',
'y','n','n','n','n','n','n','n','n','n','n','n','n','n','n',
'n','n','n','n','n','n','','','','',0,0,0);
npw2% mysqladmin -u root reload
- Removal of reliance on cookies
During semester startup, we discovered an issue with cookies and IE
toolbars causing sessions to be corrupted. This caused the clients
to return to the login page repeatedly without ever fully completing
the registration process.
The root of the problem seems to be that the toolbars, not
surprisingly, share the same cookie store as IE itself. When you go
to, e.g., www.cnn.com, NetPass captures the session, displays its
welcome page and issues a cookie.
Next, the client authenticates by entering credentials and clicking
'I Accept...'. The transaction is posted to the NP server and the
session is then updated to reflect that they are authenticated.
Immediately following that, the toolbar (e.g. google toolbar) sends
the same URL to Google. NetPass captures that transaction and sends
it to Apache. Apache assigns the transaction to a random httpd
process. That process has a copy of the session, but lacks the
bit of information indicating that it's an authenticated session.
The welcome page is sent back to the toolbar (which ignores it)
and the session is stored, over-writing the state information
indicating that the other session is authenticated.
When the user finishes the scan, they get the welcome page instead
of the final or remediation pages.
We looked at a few different solutions to this, and the one that
required the least amount of changes, and therefor the least amount
of potential for introduction of bugs, was to stop using cookies
and instead move the session ID into the CGI POSTed information that
is sent by the client back to the web server.
To activate this, you must edit
/opt/netpass/lib/NetPass/WWW/Session.pm
and in the "new HTML::Mason::ApacheHandler" section, change
"session_use_cookie" to zero like this:
session_use_cookie => 0,
and also add this line:
session_args_param => 'npsess',
note the trailing comma (just check your edits for syntax).
Save your changes and do the "sudo make install" and everything
should continue to work. The session ID is embedded in the client
forms as a hidden field. For the Admin interface, it appears
as part of the URL.
Log into the Admin site and be sure to set COOKIE_DETECT to "no".
That final piece isn't critical, but the cookie detection is
pointless now, so you might as well disable it.
The installation procedure has these changes in it, although I haven't
yet trimmed out the portions of the code that deal with cookie
configuration.
|