Quanah Gibson-Mount a écrit :

Well, I see ldap servers expose data to the world all the time. Pretty much any university I send random queries to does so.

This is university ecosystem. In business ecosystem, trust me, they don't !!! (of course they do, just because security is something strange and not understood very well, because it costs money, and cost killer are really efficient at killing efficient administrators...:)

@ Stanford, we allow users to affect the "visibility" of their data, with 3 settings:

"world" -- Avaliable to anyone, including anonymous
"stanford" -- Available only to those people who have authenticated as being from Stanford "private" -- Not visible to anyone by normal means (specific applications get by this)

Seems fair.

Since there is a fair amount of data then available to anyone who wants to run a query because of policy, I do try my best to do due diligence and cut down on spam harvesting runs. We do have a result limit on the server, but the people I've run across are savvy enough to use batched queries of different ranges to effectively get around that in at least part.

This is also a reason why companies don't want to expose data : to avoid those kind of bastards trying to overload the server.

People also like to be able to use their email clients to get information from the directory servers, and very few of them (only one that I've found) support SASL/GSSAPI binds, which is the only authentication method we allow (no username/password).

Yeah, that's true. Other option is ssl tunneling. Obviously a good solution, when not supporting SASL/GSSAPI.

well, in production, loading a server ris not something you do very
often. You may need to restore a crashed database, or reload a database
which structure has change, but this is definitively not a real concern.
Load once, use many.

I think that's a good thought in theory, and is what I thought too. However, I run 4 environments (dev, test, uat, and production).

I was used to work for client with 5 env : add a pre-prod. Only two of those env have a fully loaded base, prod and pre-prod. It does not change every single day. Dev, test and uat usually have a subset of the prod base.

We have a custom schema that we modify a few times a year, and those modifications are usually large enough to warrant a complete reload of the data that is generated from our RDBMS for the ldap servers.

Funny ! Schema are not supposed to change, but they *do*. They just do... I worked for a company that changed its schema every month "Oh, we have forgot that attribute... Could you add this class? ... Btw, the previous attribute is useless...". In those case, metadirectory comes to the rescue. Not a good solution, anyway. However, for a 1M entries LDap serve, schema changes should not occurs that often, and in this case, you have plenty of time to do the migration, as you go through 4 envs before going production. My 70M entries client use pre-prod for that. When the server is loaded, the swap pre-prod and prod. Et voilà !

As a part of that process, dev may be reloaded several times as bugs are fixed, etc, and the same goes for test. So I actually reload my servers a bit. ;)

Should not be a burden in dev, if you use a subset of the database.

3Gb is really nothing. A 15K Rpm SCSI disk is now 36 Gb minimum and cost
aroung 200$. Not a big deal. Better spend money of memory sticks rather
that on high performance disks :)


Yeah, my concerns here may be more specific to OpenLDAP and the use of BDB. When bulk loading, it is quickest to have enough BDB cache as the entire size of your database (3.8GB in the case above). On Solaris SPARC, I found that the only good way to get performance was to use a shared memory region (Linux doesn't require that), which means that I have to have as much memory available as BDB cache on the system, and memory is sadly not so cheap as disk.

Fair enough. I incline towards the opinion that that the best Ldap database is the database which is totally cached in memory. It's not always possible ( again, for my 70M client...) But I will say that 99,99 % of all ldap servers in the world are using less than 100 entries :). However, we will see an extension to Ldap server usage in the next few years, and I won't be surprised if we have servers where the number of entries is two or three orders of magnitude higher (think about WebServices, RFID, etc).


Man, this is an interesting discussion ! Could last for hours... Worth a couple of beers :)

regards,
Emmanuel



--Quanah

--
Quanah Gibson-Mount
Principal Software Developer
ITS/Shared Application Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html


Reply via email to