tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RFC: Going the LDAP/Kerberos way with NetBSD.



After Luke's mail on integrating OpenLDAP, I think it may be a good time to re-think how NetBSD works in both stand-alone and small network environment. I have some ideas here, please comment on them
for things I have missed :-)

Today:
- NetBSD has a few databases in /etc used in a standalone environment, but most stuff are in text files. For small networks, there is YP which provides a rudimentary directory service. YP today starts to be quite outdated; not especially secure and do not necessarily have the capabilities wanted.
 Also, there are fewer and fewer other sites using it.

Wanted environment:
- A default installation that can work as a good standalone machine.
From this position it should be simple to make it server for a few machines, to join it to an environment
 of other NetBSD machines or machines with other OSes.

Idea:
- NetBSD should have an infrastructure primary based on LDAP for directory services and Kerberos for authentication, which is used in all environments as feasible. Let the {s}pwd.db stuff die and
 retire ypserv.

...so, that sounds good, but how?

Setting up OpenLDAP is a quite complex task, it requires understanding of how LDAP works, how the security policies should be, config of backends, certificates etc. Even though it may be possible to setup a reasonable default configuration, I doubt it is good to require people trying/using NetBSD
to have to deal with it. LDAP is not as "lightweight" as required for this.

So, I went the other way and wrote a small LDAP server implementation, just to see how simple it can be if all bells and whistles are removed. And my prototype is small :-) To summary up (so that the mail do not get too long and people do not care to read it), I think
something like this:

- Deliver NetBSD with my small LDAP server, which can be a daemon that always runs on the machine. Let pwd_mkdb et al write the stuff directly into the LDAP database. (I assume that passwd can generate the Kerberos encryption keys as well, for eventual future kdc use?) Have a command similar to ypmake that put groups etc. in the LDAP directory as well. This is the default config for a newly-installed machine.

- If the machine is supposed to be used as a server in a small network, just run e.g. ypinit -s, which asks questions about Kerberos realm, populates LDAP with the required KDC keys and starts the KDC.

- If it is supposed to be a client in a NetBSD network, just run like ypinit -c <servername> which will fetch the config out of the LDAP and generate host keys for the target machine. Quite simple :-)

And, if someone wants to use more fancy features in an LDAP server, install OpenLDAP or iPlanet.
It should be trivial to just switch over.

Now, after a much too long mail, comments please? :-)

-- Ragge


Home | Main Index | Thread Index | Old Index