Single Sign-On for Integrated Open-Source Apps? 28
maiden_taiwan asks: "We're constructing a free groupware application by integrating well-known
open source components:
apache webserver,
inn news server,
ircd chat,
scp for file transfer, etc.
Unfortunately, each app has its own incompatible concept of a
'user identity.' Apache has the
htpasswd
module, IRC has nicknames,
scp has public keys, NetNews has the poster's email
address, and so forth. Has anyone managed to integrate a similar
suite of apps using a single sign-on model, where a user has a single
identity that is understood and carried through all these apps?"
Try this combo: (Score:3, Interesting)
OpenLDAP supports GSS-API natively
iPlanet / Sun One Directory supports GSS-API with a plugin.
Do a couple searches on google. Lotsa good info on this arangement.
ldap (Score:1)
Just a thought...
What are you trying to do? (Score:3, Informative)
Re:What are you trying to do? (Score:2)
I don't see how phpGroupWare (which is a great project, by the way) solves the single sign on problem. It only adds another thing you have to sign on to.
Maybe this is relevant: DotGNU VIS (Score:1, Informative)
a lot is unclear about the DotGNU Common Virtual Identity System (DCVIS or
simply VIS). And with the current amount of active auth coders that's not likely
to change soon. The VIS needs however to be integrated into the DotGNU System. I
therefore propose the following:
* We should create a specification of the VIS.
* These specifications should be used to implement a minimal feature reference
VIS server.
The way I see things there are a number of things to be put into the VIS spec:
* How the VIS server communicates with a webservice
* How a Virtual Identity must be structured (note that this only applies to the
VI send over the connection with the webservice, the VIS server's internal
structure of a VI is unspecified).
* What fields of a VI are mandatory (a field like name should be in all VI's)
After the VIS spec is put up a very basic reference implementation can be
created. The reference implementation can then be used as a testing aid for the
Arch and Auth coders.
We're sorta doing this, but not exactly... (Score:4, Informative)
Apache has a mod_auth_mysql which will auth based on a MySQL database already... (http://sourceforge.net/projects/modauthmysql/)
That's trivial... They have a pam_mysql module as well that we use - it works... (http://sourceforge.net/projects/pam-mysql)...
Next on your list is inn, which I have no experience with. You'd most likely need to hack some form of parsing by e-mail address or IP (or password on a secured server) to verify/force identity...
ircd would be very easy to do... Shell account running a slightly modded "dircproxy" (http://www.dircproxy.net) would force identity based on a password, and would "proxy" the connection to the server transparantly.
Scp, if you're not using keys, could just use regular pam, with pam_mysql. Anyway, hope this helps.
LDAP may be a better solution, but I know for a fact this is possible (we're using these tools across apache, proftpd, scp, Courier-pop3/imap, and Exim for an MTA... we run a full ISP off these tools. Best of luck!
LDAP (Score:3, Interesting)
virtually everything you mentioned can be plugged up with LDAP one way or another.
Yes... (Score:1, Funny)
Re:hmmm (Score:1)
Another for the LDAP camp... (Score:4, Interesting)
Unfortunately back then, the software wasn't up to snuff, we had limited development experience to improve the existing tools, and we went bankrupt, and handed the project off to some other NGOs.
I've been recently laid off (Different company), and have been researching this project again. I'm amazed at the amount of progress that has been made since 2 years ago. It seems like LDAP is a good solution for single signon projects.
Apache 2.0 has added native support [apache.org] for LDAP, ldap; and there are several low-profile INN+LDAP projects out there (No large formal projects). I hear it's a good solution for remote-transfer users, like your 'scp' project.
Definately check out LDAP.
WebISO? (Score:2)
Liberty Alliance (Score:2)
Lots of people will sing songs about you if you contribute Liberty Alliance support to all those projects.
Don't forget about (Score:3, Interesting)
Today, LDAP. Tomorrow, Liberty or Passport (Score:4, Informative)
I have, right now, the following systems integrated using LDAP for authentication:
Linux (anything that uses PAM - ssh, ftp, X)
AIX 5.1
Apache (mod_ldap)
IBM HTTP Server (mod_ibm_ldap)
Several internal apps (PHP, Perl, C/C++)
MS Active Directory & Exchange
Lotus SameTime, and Lotus QuickPlace
Nortel Contivity VPN systems
And probably one or two things I've forgotten. So it's probably simple enough to add in the bits (IRC mainly) for the rest.
Secstore / Factotum - plan9 (Score:4, Interesting)
One particular aspect that other operating systems may wish to adopt is our single-signon solution. A process called factotum is used to hold credentials like passwords and public/private keypairs and perform cryptographic operations. Factotum allows clients to speak a variety of cryptographic protocols and therefore legacy application servers can participate in our single-signon system without change and without even knowing it exists.
The factotum has no direct permanent storage, but rather fetches credentials at startup from a secstore server on the network. To authenticate safely with the secstore, Password Authenticated Key-exchange is used; this implies that the user just has to remember and type one password and passive eavsdroppers or even active malicious intermediaries can not launch even a dictionary attack against the system. The credentials are encrypted for storage on secstore, so even an administrator there would have difficulty reading them.
To see the code for all this, download the Plan 9 distribution and look in
Queries to ehg@lucent.com.
Copyright © 2002 Lucent Technologies. All rights reserved.
PAM? (Score:1)
Is this not the exact problem PAM was designed to fix? Most applications today can be made PAM-aware, then you can any method you want to store security information (names passwords, priviladges, etc.)
from MIT (Score:2)
Re:from MIT (Score:2)
PAM (Score:2)
Already integrated into solaris and linux.
Lots of apps supports it.
It also support many scheme of authentication, from simple passwd file to NT logon / SecureID / biometrics (ugh).
SingleSign On (Score:3)
Single Sign On refers to a system that allows a user to log in once and then have access to a number of subsystems. For instance, I'm an intern at UAB's Academic Computing department. Currently, we have our Bug management system (bugzilla), a CMS (phpWebSite) and a Task management system that all can be used by only logging in once. All applications except the simplest will need modifications to use Pubcookie.
The software we are using is called PubCookie and is developed by the University of Washington. Pubcookie is one of the tools being reviewed by the NSF's Middleware Initiative.
Single Sign On is a very popular and difficult problem right now, especially inter-realm SSO.
On the otherhand, if all you need is a unified username/password for your systems, you are in better luck. Many systems do support LDAP for authentication. Bugzilla has some beta LDAP support, PAM provides LDAP authentication for logging in, some CMS systems are starting to support it. Aside from that I am not sure what your options are.
PKIX (X.509 certificates) (Score:2)
Now if only ssh would use conventional certs....
Another vote for LDAP (Score:2)
Sendmail >>> e-mail routing
maildap >>> E-mail group expansion
Cyrus >>> IMAP mail/news servers
SAMBA >>> Windows File sharing
Netatalk >>> Apple File sharing
FreeRADIUS >>> RAS and VPN authentication
BackupPC >>> End-user workstation backups
Apache >>> Intranet