I'm in the process of reading up on documentation and setting up OpenLDAP to handle authentication throughout my network, for email, web services, user accounts, any anything else that I could throw at it. It's not going to be anything SUPER big, but I want it to feel live, since I'm doing it in my home lab.
What are some good things to keep in mind or something to make sure I always remember when setting up OpenLDAP? Should I make sure that I always travel over SSL? Should I use Kerbeos? Anything would be appreciated to keep in mind.
A partial list in no particular order:
cn=config
(seeman slapd-config
).uidNumber
andgidNumber
).ldapseach -x -H $URI
is a an anonymous search. (ldapwhoami -x -H $URI
).nscd
(self access vialdapi:///
).memberof
is very handy for group membership.Probably important:
Understand the documentation. It's not everything you need, but it sure helps.
SSL Libraries
Debian(and thus Ubuntu) package OpenLDAP compiled against gnuTLS instead of OpenSSL. This is fine for playing around, but gnuTLS has been significantly slower on our network. I always rebuild the Ubuntu package compiled against OpenSSL.
Other distros may do the same or different.
Kerberos
Kerberos doesn't really seem useful in my environment(~200 linux workstations, ~40 macs, nfs servers, imap, smtp, web server). None of our common client applications support kerberos authentication(Firefox, Thunderbird). It would just be used on a host level for NFS and as a PAM module for authentication. I think SSL can do just as good a job at keeping passwords secret.
If you do use kerberos, you should use Heimdal for integration with the OpenLDAP smbk5pwd overlay.
Client Libraries
The default library for nss from PADL is a bit bloated and troublesome. I recommend you try SSS or nss-pam-ldapd. They both work very well in my environment.
SSS does so much more than PADL's libraries. It includes caching, so you don't need nscd.
nss-pam-ldapd is a rewrite of the PADL libraries made to be much more efficient.
Managing your data
I am a big fan of phpLDAPAdmin. It makes it very easy to view your schemas and modify individual entries.
Other LDAP Servers
They may be slower, but they have more advanced features.
You might want to try ApacheDS since it has builtin kerberos.
This question is really too broad to answer, and any answer would be heavily dependent on your environment.
Some things I would consider are:
(authorization would be things like
sudoers
)(If you say "yes" here you really need to use AD as the LDAP server)