Cross-platform Password Management? 328
Martin Blank writes "I work in a NOC, and one of the debates you will find in any strongly-mixed environment like this is preferred OS. We have people who prefer Windows, some who like Linux, and some who do almost everything on Solaris boxes. However, this also means that much software is not available over all three. With all of the servers, routers, and various other protected systems we have, the sheer quantity of passwords is mind-bogglingly difficult to keep track of in a secure fashion. Are there any packages out there right now running on at least Windows and Linux, and preferably also Solaris, that can access a central password file?"
Doesn't that defeat the purpose? (Score:2, Insightful)
Re:Doesn't that defeat the purpose? (Score:4, Insightful)
use your Thumb and Retina ! (Score:2, Interesting)
if this third number correspond, give access.
Retina + Thumb scan supported under Linux (Unixs) and Windows.
Just a bit steep on the budget part, but damn efficient.
Oh yes. Get at least TWO redundant password / verification servers, if possible one offsite.
Why ? Gess 8) a whole company unable to connect because one poor server went dead
Re:Doesn't that defeat the purpose? (Score:2, Insightful)
Passphrases for things like signing keys and such are often kept in a bank vault. Passwords like those are very long though and nearly impossible to remember. The ideal solution is for no unauthorized parties to have the password, but that can't be guaranteed just because it's a long random memorized password. Usually the best you can do is make it so your password can't be found without you knowing about it, and that can be done with written passwords that aren't left laying around.
My method is to have the password in written form in my wallet for about 10-20 uses, after which I'm confident I won't forget it and then I eat or burn the paper.
The Passphrase Method (Score:4, Interesting)
Use a phrase to generate a suitable password. Try and use a phrase that has something to do with the system. For example, a server at a company office. "This building has 8 floors and 3 elevators" could generate "tbh8fa3e". Not bad. We can improve it by adding caps and some substitution: "TBh8f&3e". Now we have a password with mixed case, alpha-numerics, and non-alpha-numeric characters with a random appearance. And it has meaning to the user in the form of a phrase that can be remembered and repeated to regerate the password.
Re:Doesn't that defeat the purpose? (Score:2)
What makes you say that? A correctly encrypted password management system makes security better because it allows you to choose lots of different good passwords for different accounts.
Re:Doesn't that defeat the purpose? (Score:2)
For cross platform password management, chech out Novell's NDS. It is light years ahead of their competitors and you don't even need to run Netware. You can host it on Linux only if you are a web hosting service or ecommerce site. They have been developing it since 1992, I think, so it is a very mature product and free for developers too.
Kerberos (Score:3, Informative)
putty (Score:2, Informative)
LDAP and Novell (Score:5, Informative)
Might be worth a look. They use PAM on Linux, and Novell client on Windows, and the mac.
Re:LDAP and Novell (Score:2, Informative)
IBM Redbooks (Score:3, Informative)
Well, I shouldn't complain, since you helped me find the Redbook web site [ibm.com]. But you have to admit you're just barely on-topic. And it would have been more useful to point to the main page for this Redbook [ibm.com], which includes various useful links, including an HTML version, the FTP directory for related files, a place to submit review comments, and other good stuff.
Meta-meta .... (Score:2)
Re:LDAP and Novell (Score:3, Informative)
The most common passwords, you will constantly use and not need the key for. The less common passwords, however will always be in your pocket, one USB connection and decryption away.
I didn't see any other mention of hardware implemented solutions so I figured I would throw this one out.
-irony nazi
The best method might be simple ... (Score:4, Interesting)
On the logging tables in the database, make sure they aren't readable or writeable by the web-user. They should only allow INSERT queries.
This might be the best way.
x
Re:The best method might be simple ... (Score:3, Informative)
Re:The best method might be simple ... (Score:3, Funny)
Re:The best method might be simple ... (Score:2, Funny)
Not sure, but you use one as a credit-card-number server by telnetting to port 1521 and typing "system/manager".
Re:The best method might be simple ... (Score:3, Informative)
LDAP (Score:5, Informative)
Have fun.
Pat
Re:LDAP (Score:5, Interesting)
I think Pat Jensen has really got some good advice here. At SST, we're slowing moving to a "universal login" system for our Web sites. There are about 5 internal & external sites, each requiring different usernames & passwords. Our solution is to set up a MySQL database with login data and nothing more, and then each Web site will check for a cookie (MD5 hash with IP addy, so the cookie is difficult to spoof). Since all our sites operate under sst.com, they should all be able to view the cookie and verify it.
However, and as an inevitable side-effect, people are now asking why we can't use that same system for NT logins and Outlook and yadda yadda. If we had chosen LDAP, this would have solved the issue, as LDAP can be plugged into a bit more than MySQL can. We will still do this, it just means we have to revise, revise, revise. I have yet to look into how well PHP and ASP support LDAP, and just how much LDAP can do, but it appears to be much more in line with our needs. Can anyone speak definitively about what PHP and ASP and NT and Outlook can do with LDAP?
Re:LDAP (Score:2)
Kerberos, Plain and simple. (Score:3, Informative)
The only thing I've found missing from kerberos, is simplified high-level documentation in a cook-book format for different ways of implementing and administering the KDC and the realms.
Fortunately I'm working on such documentation, and it may become part of the FAQ. After I make some adjustments, maybe it will.
kerberos (Score:5, Informative)
As a user I find it pretty convenient. I think it's pretty straightforward from an admin standpoint too, but I wouldn't know from experience.
I completely agree (Score:2)
I'm now at U-Illinois Urbana-Champaign, and for being such a well regarded school in computer science, I can't believe how many different identities/passwords it takes to get by here...it's a really big hassle. I pray for Kerberos
Re:I completely agree (Score:5, Funny)
The way I understand it, UIUC is skipping Kerberos in favor of a new authentication system that they're developing. It is based on an advanced, self-aware AI technology, and it uses a voice-only interface.
It was supposed to be deployed last year, but they are having problems with the beta systems; one system that controls pod bay doors has been especially trouble prone.
Re:kerberos and development (Score:2)
http://www.lsa.umich.edu/lsait/default.asp [umich.edu]
Do you have anymore?
Smartcard systems? (Score:3, Interesting)
I realise it isn't very pratical adding smart card readers to every machine..but im just starting to look into smartcards on *nix and the msucle project seems to suggest that you can roll smartcard verification into your login procedure.
http://www.linuxnet.com/apps.html
I'm just psyched that i got my citbank serial port smartcard reader up and running under the pscsd smart card daemon. Now i can play around with this very idea.
-jef
Re:Smartcard systems? (Score:3, Interesting)
read muscle frontpage
http://www.linuxnet.com/
Linux is the targeted development platform....but the goal is have a framework portable across the unix based OSes: Linux, MacOS X and Solaris are all mentioned right up front....they even offer binaries for Solaris 8 on sparc for the base pscs software.
The license for the pcsc-lite package that they offer is a BSD variant i believe....perfect for a reference implementation across ALL the unix based OSes out there.
I think the windows world already has a large collection of cardreader software supplied by vendors...so taking care of the windows boxen would probably not need any software like this at all..since you probably get the cardreeader software for windows with the device.
-jef
Re:Smartcard systems? (Score:3, Interesting)
And are those usb devices supported on Solaris?
I think smartcard/usb-keychain decisions come down to price-feature ratio. If you want real portable storage for files and what not the usb devices are the way to go...if you just want to keep passwords or cyptokeys/sigs then smartcards might be cheaper to implement.
I'd also be concerned about support for the usb devices on the Unixes...
But i havent seriously looked into it...since I dont have a real need for this stuff personally.
My citibank smartcard reader was FREE. so getting it working under linux was a nice bonus.
-jef
Single Sign-On (Score:3, Informative)
Suprisingly, it seems that almost everything out there has Kerberos support these days. I'm going to start an experiment soon to see how well this works with Windows, but some of the websites seem to indicate that there is a reasonable amount of cross-functionality.
Does anyone else have actual experience implementing Kerberos in a mixed Unix/Windows environment?
Samba (Score:2, Informative)
Low-tech solution (Score:2)
moe.xy3,3IkshX476
larry.xy3,3IkshX476
curly.x
Some might argue this is inherently insecure...but I maintain if a password is sufficiently "secure" in terms of randomness, then this method would be no less secure than generating three other random passwords.
The drawback, of course, is that if one password is cracked, you've left yourself wide open...so start with a password you're convinced is secure!
Of course, the better way is some sort of authentication scheme using something like ssh and PKI, which is available on the platforms you mention. But now, you have to worry about securing your private key...to me, it's 6 of one half dozen of the other. Either secure your password or secure your key, because either one stands to be compromized.
Re:Low-tech solution (Score:2)
Re:Low-tech solution (Score:2, Insightful)
randomness != security
Why?
1. Your typical user (read incompetant) has a tough time either typing or remembering a random password, especially if change frequently.
2. If they can't type it easily they will hunt and peck, and type the password in slowly, which any malicious user can pick up easily.
3. If they can't remeber it they most likely will write it down, and equally as likely put it on a post it note on their monitor.
Solution?
Use long passwords (over 8 characters) with alphanumeric replacement that alternate between hands ie dismantlement (the longest alternating qwerty word) could be dism4ntl3m3nt. And no.. that is not my password on Slashdot or anything else for that matter
RSA SecurID (Score:5, Informative)
Within an hour of arriving back at my hotel room, I had the software up and running (had to download the Win2K agent from the RSA website), and my login to my laptop was secured via SecurID. Once I arrived home last night, I set up the server on my home network, and now all of my workstations and server (Linux included!) are using RSA SecurID login.
You can run the server on NT/AIX/Solaris (probably more by now because I have an old kit), and there are agents out there for just about any operating system. In addition, you can have routers access the server as if it were a TACACS+ or RADIUS server.
Check the RSA website [rsasecurity.com] for more information. The part you'll care most about are the agents (client side of the equation), and I know for sure that there are agents available for Windows, Linux, and Solaris.
Good Luck!
Re:RSA SecurID (Score:3, Informative)
Re:RSA SecurID (Score:2)
Look at the activecard tags, we switched to them because they are half the price of SecureID and more reliable to boot.
LDAP is very cross-platform (Score:4, Informative)
It is extremely cross-platform compatible [emailman.com]
Sig: What Happened To The Censorware Project (censorware.org) [sethf.com]
NIS/YP..Take your pick. (Score:5, Informative)
The thing your looking for is called NIS. A vastly oversimplifed explanation of NIS goes something like this: An NIS-capable host is a system where passwd and group information is kept, and subsequently "pushed" to other hosts. Users log into local machines, the local machines reference their latest NIS maps, and log you in based on that. Its not difficult to set up or maintain, no more difficult than handling localized passwords, at least. Look into it.
NIS is what Sun used to call YP, or Yellow Pages. Pick up a book on NIS administration, and knock yourself out.
I'm sorta surprised this ended up on Slashdot. You'de think that a predominantly Unix-reading crowd would have rejected this one flat out due to it being so obvious.
Re:NIS/YP..Take your pick. (Score:2, Informative)
http://www.linuxfocus.org/English/July2001/articl
http://www.isi.edu/~govindan/cs558/nis/ [isi.edu] is a good basic overview.
NIS is a solution that will work on linux, solaris, and windows 2000 - so it is perfect for your application.
So how do you... (Score:2)
I guess NIS is an obvious choice if you have a lot of Unix/Linux boxes -- especially servers. But what's the drill for enabling NIS network logins on Windows? Does it work if you have NT servers too?
Re:NIS/YP..Take your pick. (Score:2)
General Motors (my former employer) uses NIS. They have a mixed environment with Solaris, HP-UX, AIX, IRIX, and Windows 2000 boxes. They have everything tied to the NIS servers so that your login on your Windows 2000 EC2K box is the same as your Solaris CEe seat.
Re:NIS/YP..Take your pick. (Score:2, Insightful)
NIS is simple to set up, but any user on one of your systems can run ypcat passwd (or ypcat shadow, depending on how you've set things up) and see everyone's encrypted passwords.
Another problem with NIS is that is distributes the complete maps every time a change is made. If you're looking for an enterprise solution, you'll have a passwd map with thousands of entries, and you don't need to be pushing that whole thing around the network every time a user changes his password.
NIS+ solves both of these problems, but is more complicated. But more importantly, Sun plans to remove NIS+ from Solaris after Solaris 9 [sun.com]. They're encouraging everyone to switch to LDAP.
Aaaaarggghhhhhhh!!!!! (Score:2)
Oooohhhhhhhh, the undead are rising.......
Re:NIS/YP..Secure? (Score:2)
If it's krb5, what holes are you referring to?
Re:NIS/YP..Secure? (Score:2)
NIS+ is not as vulnerable, but not as widespread either.
LDAP (Score:2)
Re:LDAP (Score:3, Informative)
Linux and Solaris are pretty easy to accomodate with PAM.
Microsoft also makes a product called "Services for Unix" which will (among other things) make your Active Directory Domain controller act like an NIS server so you can setup Linux/Solaris boxen as slaves.
Just make sure NOTHING transmits password across the wire in clear text. If everything uses the same username/password, a simple packet sniff can conpromise the whole works!
PGP (Score:3, Interesting)
It exists..... (Score:2)
Most servers are all *nix based with the majority being sun servers. When a user changes their password anywhere, it gets distributed across the entire system.
I apologize for the lack of details but I don't know any of the specifics on whether or not it is a central password file or different servers all keep a current copy of the same file.
Re:It exists..... (Score:3, Informative)
They use a program called actmaint, which I think is custom written. What happens is when you change your password using passwd at a unix prompt, it activates actmaint to go and propagate your password though all the Sun systems, all the Windows NT domains, all the Windows 2000 domains, and the custom NIS authentication (how do they authenticate the Macs to a Sun box, hmmm?) and other Unix systems across campus (like the engineering machines) that are linked to your password. This allows the regular Purdue network to be kept separately maintained from say, the engineering systems, but allows you to have a common password for conveinence. How does PC-RDist fit into this? It doesn't as far as I know; it is activated when a reboot is initiated to keep the hard drive data in a consistent fashion (i.e., all data you added is removed, all data you changed / deleted since login is replaced). Try the new WinXP stations to prove this; you have to login to a domain controller before it can auth you to a Sun box. _That_ may be using kerberos, but as fas as actmaint goes, it's not using kerberos tickets cause there are a significant number of Windows NT 4 machines out there (like the ones running student services...) that the passwords have to sync to, and kerberos didn't come out till Win2k.
But like I said, I think actmaint is an in-house custom written program, so your argument is moot
kerberos (Score:2)
Takes a little more legwork on windows I believe but it does work. And any unix system that can compile can use it too.
Functions pretty much transparently, once you rebuild the few binaries (which the kerberos distro does for you as well) it becomes a drop in replacement as far as the clients are concerned.
RE: Parallel network... (Score:2)
Novell eDirectory (Score:4, Insightful)
Collective Technologies Does This (Score:3, Informative)
1. Win2k password server running Active Directory (which is really LDAP, with a twist) and the M$ bastardized version of Kerberos. Collective Technologies extended the Win2k password file with Active Directory to contain the usual UNIX password fields and the ACLs for each application.
2. Solaris and RedHat Linux boxes running Kerberos, PAM, and LDAP.
3. NT and Win2k boxes running either NTLM or the newer Win2k Authentication client.
Once a user logged into any session on the Collective Network, they had instant, secure access to all the resources they were supposed to have, and no other.
The only downsides to this entire setup I could see were:
1. The authentication server ran on Win2k and not UNIX.
2. The weak link in this chain was the Win2k authentication server. Collective Technologies suggested that their implementation relied on physically securing this one box in a locked server room.
I was unable to find information on the Collective Technologies web site about this presentation. Please contact me if you would like more information and I'll try to dig up the documentation provided by Collective Technologies.
Re:Collective Technologies Does This (Score:2)
Re:Collective Technologies Does This (Score:2)
side of the coin from my earlier post in this
thread. SSH is essential for network
communication. It is the single cross-platform
standard that interoperates perfectly, without
any realistic competition (certainly not Kerberos,
which has vast administrative overhead by
comparison). Any solution that does not address
SSH does not provide single or even uniform login,
as far as I am concerned.
Our Noc (Score:3, Informative)
We do regular updates to passwords on routers/servers/etc. So we just update the file. Our NOC doesnt have root on the servers, they log into with a program that controls the permissions, kinda like sudo with server based auth. I dont want to mention the name of the program on slashdot...
For our engineers, we use a program for windows called "WinSafe" that loads a shared
Basically, a client program that reads an encrypted password file on an authenticated non-shared resource over an encrypted channel.
-
I have left orders to be awakened at any time in case of national emergency, even if I'm in a cabinet meeting. - Ronald Reagan
Paper. (Score:2)
Now, you say that security is important. Always remember that if it wasn't you can always relocate the stickies to the sides of your monitor for easier access.
Human readable databases are needed too (Score:2, Insightful)
Directories like LDAP, Kerberos and NIS can reduce the number of passwords on a network and make maintenance easier (normal users can have one password for all systems they access) but there will still be many passwords. It's a very bad idea to give every workstation and server the same root password, for example.
Ordinary users can get by with one universal password for their network identity, but for system administrators it can be a nightmare. I've got about 130 passwords to keep track of.
The best solution I've come up with so far is to use cheap Palm PDAs to store the passwords, encrypted and locked with a good password itself, on special password storage apps. Each sysadmin can have a PDA with just their passwords on it. For about £80 each it isn't cheap, but it's a lot better than using password potected Word files, which I've seen other companies using. Don't use the Palm's own "secure" storage, it's useless for things that need to be really secure.
I'm still looking for a better solution - some way to store the passwords centrally and distribute them to each PDA depending on the requirements of each sysadmin would be great.
Of course, the way that passwords become so cumbersome in large quantities just shows how flawed passwords are. Hopefully Kerberos will catch on more - the advanced features of Kerberos help reduce the number of passwords needed.
There are many ways of doing this.... (Score:2)
On the other hand, if you're forced to use Windows on the server (maybe Samba doesn't quite do the domain tricks you want it to), then there is a PAM module distributed with the samba project called pam_smb. It should work on any PAM enabled UNIX and should allow you to log into UNIX machines using domain usernames (as long as samba is installed on the unix machine and configured to be part of the domain).
Yuppers: LDAP can do this. (Score:2)
cfengine also (Score:2)
Here's my take... LDAP in my opinion is not ready for prime time. It's going to be a great solution, but right now different implementations don't always play nice. For example, solaris includes LDAPv3 but not ssl support (which, ssl is part of the v3 spec...). Who knows how nice these things play with NT/2000 as well.
Kerberos is great, however it's also somewhat complex and has the added problem of needing users to switch to kerberized versions of applications (or setting up some tricks to use normal access methods but having the servers authenticate against kerberos). It's worth investigating, but it's non trivial in my opinion.
NIS, well, let's not go there.
So what we do is use cfengine (http://www.gnu.org/software/cfengine), which is basically a client/daemon system to sync configurations across different machines on a network. We keep our real password file seperate, and then use cfengine to copy it around to all clients when it changes. Of course the real benefit to cfengine is that it allows you to do much much more (for example, we keep all modified config files and programs in a cfengine tree and when we install a new machine, just run cfengine and it's customized automatically).
For the windows machines, you can throw a samba server out there to act as a PDC/authentication machine.
really, seriously look at eDirectory (Score:3, Insightful)
LDAP is a great idea, but it's only half of the problem - it specifies the cross-platform interface, but not the database to store that information in. OpenLDAP sounds like a step in the right direction.
MS has their ActiveDirectory that fully supports LDAP, but the database is very Windows-centric and you'd be taking on all of Microsoft's security issues related to hosting ANYTHING on a Win2K server.
Really, seriously, definitely have a look at Novell eDirectory (a.k.a. NDS) as your foundation - replicas of NDS partitions can be *hosted* on Solaris, RedHat Linux, Netware, NT and Win2K (note: you do NOT NEED A NETWARE SERVER ON YOUR NETWORK TO RUN eDIRECTORY! :) You can use the proprietary Novell client software for various OSes to access this information, or make standard LDAP calls to it.
NDS (the database part) is dynamically extensible, totally replicated (for performance and auto failover) & almost completely automatic... very little maintenance is required. It supports hooks for almost all OSes for authentication (look at Novell Account Manager for Linux & Solaris, for example) and directly supports smartcards/biometric/SecurID/etc. It's "light" meaning you wouldn't have to dedicate entire servers to host the information. The security is awesome and the you get very fine-grained control over everything. It's relatively inexpensive these days, too. (You can practically get it for free if you're a developer - check the website for a free eval copy, too)
These days, Novell also has all sorts of whiz-bang products (i.e. DirXML) that integrate with eDirectory - do bulk-loads or automatic synchronization of other proprietary directories using your own XML interfaces. They even have a bunch of tools & apps that let you take existing apps and set them up as "single sign on" so you don't have to keep track of multiple passwords for multiple databases.
The other advantage is that Novell has about ten years of lead time over everyone else's directory implementation right now.. I'm lucky enough to have had a chance to play with NDS on several large networks and continue to be amazed at the technology behind it.
more info: http://www.novell.com/edirectory [novell.com]
what about delegation? (Score:2)
I work in the Advanced Computing Lab. We get the list of usernames and passwords from a university-wide LDAP directory.
However, only a subset of the university-wide accounts should be able to log into the Advanced Computing Lab (this is mandate from the department head). We don't want to have to modify some property in the global directory to make this distinction, we need to be able to locally define this subset.
From what I can tell, the only way to implement this functionality is to use the LDAP concept of "chaining," however OpenLDAP doesn't seem to support this yet.
This seems like a very common situation, why is there no easy way to accomplish this??
Authentication vs. Authorization (Score:3, Informative)
When the user tries to log in, they'll be authenticated from the central servers, and authorizated to use the servers based on whether or not they're in the group.
Re:Authentication vs. Authorization (Score:2)
Let me see if I understand what you mean. I'll call our local LDAP server A and the global LDAP server B.
Someone tries to log onto a computer in the Advanced Computing Lab. The LDAP authentication module sends the username and password to server A. A looks only at the username, if it's not in the local group of approved users it denies access, if it IS in the local group of approved users, it refers the client to server B, saying "if the password matches, approve it."
Is that right? Would OpenLDAP support the server side of this? Would most LDAP clients support the client side?
Re:Authentication vs. Authorization (Score:2)
Say you have a LDAP hierarchy like:
o=Foo,dc=example,dc=com
And you have your organizational unit:
ou=Bar,o=Foo,dc=example,dc=com
Your local servers (A) handle this suffix, and refer everything else to the main LDAP servers (B) that handle the root suffix further above. A client (your OS, C) would make a request like this:
Step 1: Authorization
C -> B* (who's uid=example?)
B -> C (dunno, let's ask A)
C -> A (who's uid=example?)
A -> C (it's uid=example,ou=Users,o=...)
C -> A (I'd like to bind as uid=example..)
A -> C (OK, the password was right)
The OS now knows that the user claiming to be 'example' really is 'example'. But we still don't know if the user is allowed on this system.
Step 2: Authorization
C -> B* (is 'example' in the group cn=Authorized Users,ou=Bar,o=...?)
B -> C (yep.)
The OS now knows that the user is allowed to use the system.
Realistically, if you have your referrals set up correctly, where you send unknown requests to the main server, and the main server knows to delegate that LDAP suffix to *your* server, the initial request can go to either your local servers or the main LDAP servers, it doesn't matter. (In theory, it's like DNS, where your resolver can hit the local name servers, but realistically it can hit any name server in the world and it'll get referred to the right place eventually.)
There are other ways you can do your authorization, though. My main point was that you needed to break these two concepts apart. Let your main LDAP servers do the authentication, and do authorization in a second step.
Re:what about delegation? (Score:2)
Sorry, I wasn't using "delegation" in a technical sense, but in a political one. I want the global directory to define the list of usernames and passwords, but I want the decision of which accounts to recognize to be politically delegated to me as admin of the local server.
Instead, what about using LDAP for authentication and identity mapping, and then writing your own application permissions map
(perhaps even using LDAP, but using the app to link the two, not chaining) with an admin interface? More work but it will be much
easier to administer.
If I understand what you're saying, we would have to write client code to support this. Since there would be a diverse mix of clients, I want to keep as much of the intelligence in the server as possible, so that client-side LDAP authentication modules will work out of the box. The alternative is maintaining 5 different versions of the client-side code.
Single Sign On (Score:2)
eg: one of our apps requires this;
log onto box (nt/unix whatever) -> log into application -> app logs into db server (as400/db2) -> app also logs into 2nd db server (essbase).
there is 4 passwords righ there!
making inhouse apps support LDAP is easy, making 3rd party apps support it is hard. lucky our tivoli servers, essbase, as400's, nt boxes can all support ldap.
I suggest you do a lot of research befor jumping into any one solution.
(and dont buy into passport as an SSO option! licensing is $$$$ for passport.)
good luck (Score:5, Interesting)
Then again, this is a university where we basically provide services that faculty request and we don't have the luxury of not using software x because it uses authentication scheme y and we only support authentication scheme z. If you have a situation like this, it isn't that difficult to come up with the glue you need.
Re:good luck (Score:2)
Re:good luck (Score:2)
Basically what we do is use a data warehouse that contains faculty & staff data from human resources plucked from peoplesoft, and from CICS for students. We treat that as the definitive list of who should have accounts (at least on the high volume everyone-has-an-account machines). The vast majority of our machines rely on LDAP, Kerberos, Active Directory, and NIS. So on the relevant boxes we have some perl scripts that run daily and pull a list of users from the database that should have accounts, as well as a list of users using that particular authentication scheme. From those two sets we can trivially create and delete the various accounts that should be created/deleted.
Changing passwords on all these systems is pretty simple too. The users hit an ssl webpage which authenticates through kerberos and then goes out and hits various machines using whatever hook is appropriate (some use Net::SSH::Perl and login to a box and call some sudoed program, some use Radius, some dump an md5 digest into a table, etc.).
Admittedly, if a user changes their password on one machine e.g. via passwd it's not going to propagate out to every other machine, but we also don't want to *force* users to use a single sign on either.
I don't think this is the *best* scheme out there, but it works a lot better than I would have ever imagined when I wrote it. The big pluses as I see them: it's easy to integrate new software into the scheme that doesn't use ldap, kerberos, active directory, etc. (stuff I've done recently: imp/horde web based student mail, blackboard courseinfo), if a domain controller or kdc or whatever goes down your whole authentication scheme doesn't go down the tubes until it's fixed, and last but not least just about everything uses ldap, kerberos, active directory and nis. Take your pick.
Re:good luck (Score:2)
Fucking economy.
Anyone hiring?
Re:good luck (Score:2)
Or Ganymede [utexas.edu], which is designed for the same purpose.
Two that might work! (Score:2)
Dont use passwords.... (Score:4, Interesting)
SSH with RSA keys. Change the management problem into the simpler (and more scalable) one of managing RSA public keys on the boxes (which can be automated).
Job jobbed.
Re:Dont use passwords.... (Score:2)
the central problem as posed, however, which is
to gain access to a system via it's primary
interface, not via network-only interfaces. You
can't use ssh to authenticate for windows 2000
login, for example, nor to authenticate to a web
page. I wish that you could. SSH is essential.
Any system that doesn't address SSH authentication
is partial at best -- as for example, LDAP.
it's a losing battle (Score:3, Interesting)
Novell eDirectory (Score:2, Insightful)
It runs native on Windows NT4, 2000, Linux, Solaris, AIX and Netware 4, 5 & 6.
It also is LDAP 3.0 compliant and is managed through a Java-based console that will run on any platform with a JVM.
It also has flexible Authentication extensions and Account Management for Windows, Linux & Netware that enable administration of file system shares.
And for all that developers can bundle a 250,000 user version of eDirectory with their Apps for free (http://developer.novell.com/edirectory/)
Although its not open-source it should be bundled with Linux distributions targeted at large organisations to provide a scalable, cross-platform secure directory system
NIS... (Score:2, Interesting)
we used to authenticate via NIS+(before we were purchased and told we were going to LDAP, still waiting after three years, but that's another story...) and i loved it! we were a prepress company with 6 seperate locations and several dozen servers scattered thru out the enterprise serving appletalk, email, home directories, and data collection. no matter which location you were at, you could use your single login/passwd to login to any other server, mount you home dir, and go about your business.
it took a bit of end user training(users wanting to save their mail on local drives instead of home directories, among other issues) but it was well adopted, and easy to maintain thru sun's solstice frontend.
the environment was hetrogeneous(solaris, aix, irix, linux, nt, macintosh) and all machines authenticated nicely, with the exception of earlier windows machines. had we deployed samba we would have had an easier time.
beware the difference of NIS and NIS+: NIS+ was sun's "updated" version of NIS. NIS is far more open and friendlier than NIS+... the irix and linux boxes preferred plain NIS.
the best benefit was the ease of administering the end users. one entry change propogated thru all machines... no more rushing from box to box when someone was getting canned. user can't remember email and filesharing password? no problem.
wan to migrate to LDAP cause NIS doesn't have everything you need? no problem with that too, tools exist for easy migration.
Samba (Score:3, Informative)
With Unix password sync, you are likely to be tempted to use NIS to distribute your passwords to your Linux and Solaris clients. While that would work just fine, NIS is known for its lack of security (search for my other post on this subject). If you use NIS initially (potentially to integrate with your existing NIS environment), consider shifting over to LDAP. Samba 2.2.x has had significant work done to provide integration with LDAP. Check the docs for the latest release and the samba mailing lists [samba.org] for details.
PasswordCourier (Score:3, Informative)
SeOS (Score:2, Informative)
It's not bad and it allows such functionality like allowing certain groups and users trusted su capibility. Performs scheduled required password changes and other fun stuff..
P-Synch (Score:2, Informative)
M-Tech [m-tech.ab.ca], a Calgary company makes P-Synch [psynch.com], a cross-platform password management system. P-Synch supports over 60 types of systems including: Unix servers, Windows NT, Windows 2000 active directory, OS390 / MVS mainframes, LDAP directories, email, groupware and popular ERP applications, such as SAP and PeopleSoft.
M-Tech showed P-Sync off to the Calgary Unix Users Group [cuug.ab.ca] last year. When I saw your story, I immediately thought if them.
Try this (Score:2, Informative)
Cross-Platform Password Database (Score:2)
To backup, simply hit [COPY] on the copying machine! Want security you say? Simply buy a safe and install your database there.
LDAP + non-PAMified systems (Score:2)
But there are exceptions. Like BSD systems, that don't provide nss_* hooks (unlike Solaris and Linux). PAM isn't enough. PAM only provides authentication. It doesn't provide home directory, shell, gecos, etc.
Does anyone know of a library (that you preload with LD_PRELOAD) that replaces getpw*() functions with LDAP lookups, and that would work on BSD systems?
Ganymede (Score:2)
Take a look at Ganymede [utexas.edu].
Ganymede is designed to provide a single multithreaded network directory store for (among other things) password information, then to write out datafiles and runs scripts to propagate your directory information into your environment whenever a user commits a transaction to change anything.
Ganymede is useful for people who want to unify differing directory mechanisms, and who don't need a full hierarchical domain structure like those supported by Active Directory or Novell's eDirectory products.
We use Ganymede to synchronize passwords across UNIX NIS, Windows NT, Samba, Apache, and more. We have a userKit that provides for password management across NIS, NT, and Samba 'out-of-the-box'.
That said, Ganymede is mostly useful for people who can't force-fit all their clients to use one network authentication system, although it does provide a very high level of convenience and hand-holding for your users.. Ganymede has support for setting expiration dates on accounts, and for sending email when an account is about to expire, etc. It also maintains full auditing trails for everything, and allows controlled delegation of permissions to administrators.
If you can live within the limitations of its orientation around a flat namespace, Ganymede's flexibility makes it hard to beat.
P-Synch allows cross-platform password synching (Score:2, Informative)
http://www.linuxjournal.com/article.php?sid=3040
The company is M-Tech http://www.m-tech.ab.ca/, and they have a product called P-Synch that allows you to do cross-platform password syncing.
I've never used p-synch. We use openldap instead of a commercial product, but we don't use it for root passwords. Seems to me to be a security risk to have root the same on all boxes. You might be better served by having some sort of password scheme/algorithm rather than a common login, especially if the issue is being able to remember the password, rather than ease of mass changing/syncing of passwords.
Did anyone read the article? (Score:2)
There were a few on topic replies suggesting web servers etc, unfortunately they were never modded high enough, and unfortunately I have no mod points at the moment.
Re:Did anyone read the article? (Score:2)
Re:NIS? (Score:3, Informative)
Maybe it will solve the single logon problem, but it's a nightmare from a security POV.
Type "ypcat passwd" on a NIS enabled box, you will see what I mean...
CU Micha
Shadowed password maps (Score:2)
helldraw:x:20750:200:Lucifer Java Drawer:/home/mathcs/users/fall00/helldraw:/bin/tc
linvilaw@dogbert-/~-16:22%
It's not so bad with if you use shadowed password maps...
Re:NIS? (Score:2, Insightful)
Re:Use the same password for everything (Score:2)
Re:Use the same password for everything (Score:2)
As long as all of your password-authenticated services are controlled by the same authority (i.e., the same company), there is no problem with having a single password for all of them. It may even be more secure to have a single properly administered password database than to have each application managing its own database.
The reason security experts always tell you not to use the same password for everything is that most people have passwords for services from many different organisations, each with its own password database. If any of these databases is compromised, then someone may have access to all of your accounts.
As long as you have one identity in a single security domain, there is (usually) no reason to have multiple passwords.
Re:Use a fricken database (Score:3, Informative)
However, directory services are better suited than classical RDBMSes, because they are optimized for fast lookups. An RDBMS in contrast focuses on concurrent updates - all this ACID stuff is basically not needed if all you want to do is providing authentication services (as long as you don't frequently try to update your password from 10000 workstations at once).
Re:Another "Ask Google" question? (Score:2)