Slashdot Mirror


Directory Service Implementation From Scratch?

An anonymous reader writes "I work at a small but growing startup company. Currently, our directory and authentication information is scattered across many systems and wikis, and is becoming increasingly difficult to manage. We are looking at centralizing this information in a directory service to minimize administrative overhead as we continue to grow. The service must support basic directory searches, as well as user authentication for Linux and Windows hosts. Although we are primarily a Linux shop, there are a handful of Windows systems that will be on a Windows Active Directory domain. Most directory servers seem to support integration with other directory servers, however it seems like it may be easiest to just use Active Directory for everything. Are there any pitfalls with this approach? If you had the chance to redesign your enterprise directory service without regard for legacy services, how would you do it?"

41 of 149 comments (clear)

  1. Easy by ChadAmberg · · Score: 2, Informative

    Use AD.
    Even though folks will fuss and whine about AD being not pure LDAP, for all intents and purposes it is, and we've got lots of Linux and other *nix boxes using it for authentication. And remember, you can always extend AD for your custom applications easy enough. It's simple enough that MCSEs can run it.

    1. Re:Easy by fahrvergnugen · · Score: 3, Informative

      This. AD's management tools are brutally efficient and understandable. The newest versions of Samba+KB5 make it trivial to authenticate *nix systems against it and have fully integrated, cross-platform user & privilege management with consistent uid's/gid's across all hosts. Assuming you throw the right amount of resources at it (at least 2 AD servers per tree in the forest, per site), and take advantage of the DDNS services, you'll have a really scalable, easily managed infrastructure for years to come.

      --
      Even Jesus hates listening to Creed.
    2. Re:Easy by GPLDAN · · Score: 3, Informative

      Likewise, Centrify, Quest and others (Centrify especially) provide tools for all flavors of Linux, JBOSS Servers, Apache servers, and Oracle databases to all use AD for directory services. Centrify has tools for audit and command control that piggyback on restricted shell.

      It's hard to argue against AD - even in your situation where the Microsoft boxes comprise the minority of systems.

    3. Re:Easy by Savage-Rabbit · · Score: 4, Insightful

      Use AD.
      Even though folks will fuss and whine about AD being not pure LDAP...

      You're not a developer, are you? Whether or not AD is a dream to work with depends heavily on what your job description is. If you are simply an administrator plugging random Windows or even Linux and *nix boxes into AD you might find it comparatively easy. If on the other hand you expect to have to develop custom applications of your own on non-Microsoft platforms that authenticate against AD or convert existing ones to use AD then it can be a painful experience to use AD. It's not an unsolvable problem mind you, just a really annoying one.

      ... It's simple enough that MCSEs can run it.

      So is RHDS / Fedora Directory Server. I knew exactly nothing about LDAP or directory servers when I got my first directory server related project years ago. I still I got the thing set up and running inside of a couple of hours. Even an MCSE should be able to manage setting it up, hardening it and administrating it in a very short period of time.

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
    4. Re:Easy by Ralish · · Score: 2, Informative

      It's worth noting that Microsoft also has Services for Unix (applicable for Windows 2000 through Windows Server 2003) and Identity Management for Unix (applicable for Windows Vista through Windows Server 2008).

      While Unix boxes can authenticate to an Active Directory domain through the use of Samba and derivatives, the advantage of these services is that they can extend the LDAP schema with NIS attributes to provide native NIS authentication, and also, extend SMB sharing with NFS support to provide native NFS sharing. In both cases, the NIS/NFS support is fully integrated with the native Windows support, and data shared between the two; that is, Windows AD objects can be immediately used with NIS and NFS, they co-exist. I've personally found this a huge convenience as most Unix/Linux distros can authenticate to the domain out-of-the-box and with an absolute minimal amount of configuration, often during the initial installation without even having to dive into configuration files to get the basics done. With some extra work, you can also enable password synchronization in the Unix -> NIS direction and/or the Windows -> NIS direction through the use of a (closed-source) PAM module (the reason for this being that as far as the Unix boxes are concerned they are using NIS, but behind the scenes, it is fundamentally AD with a NIS front-end, and the intricacies of password management and the updating of are very different.)

      As admittedly distasteful as it is that Microsoft has an inherent competitive advantage here in that much of their implementation is proprietary and their competitors is not, leaving them free to support NIS/NFS but not necessarily the other way around, my experience is that they have done their implementation quite well. Word to the wise: I've had a FAR better experience with IDMU on Server 2008 than SFU for Server 2003. The former requires a separate download for SFU while the latter has IDMU included as part of the OS and can be installed at any time as an optional component alongside AD/SMB, either at initial installation of those components or as a future addition post-installation. The result is a tighter coupling of the respective services: it feels like communication between the Unix support division and the Windows tech division was far better for Server 2008; I had to spend many hours getting NIS/NFS to work on 2003, but had it up and working perfectly in under an hour on 2008. That being said, both can be made to work fine and will get the job done well, my experience is purely limited to ease of setup and initial impression on the polish and integration of each, functionality wise, they are both almost identical.

      Both are free of charge, provided of course you have a Windows licence, with IDMU effectively being a renamed and improved SFU.

    5. Re:Easy by ogrius · · Score: 3, Interesting

      The other thing you can consider is whether to split the directory services and the authentication.

      At my last job we did the following:

      - Use Windows AD for all windows machines
      - Use NIS for passwd, group, automounter maps... everything but authentication.
      - And then key the Linux machines to use Kerberos off the Active Directory

      Now if I was doing it again, I'd do the following:

      - Use Windows AD for all windows machines
      - Setup up a UNIX/Linux based Kerberos domain that "trusted" by the AD Kerberos
      - Use NIS, NIS+ or LDAP from Windows AD for directory services for UNIX/Linux

      - Setup all the UNIX/Linux machines on the UNIX/Linux Kerberos domain and have them use the windows domain for user authentication.

      The adavantage to this would be that once you have a valid ticket you can securely log into any of the machines. Plus then you could securely setup NFS v4.

      As for which NIS, NIS+ or LDAP to use, I haven't looked into recently.

      And why I would use two Kerberos domains is that the Windows AD says it should play nice with Linux machines and allow you at keys onto them. But the commands from Microsoft never worked. I used a simple utility from some consulting company that worked well, but it wasn't supported and there it seemed to be hitting some hard limits. Since I'd hate to wait for Microsoft to fix their setup, I'd use two domains but setup a trust between them.

    6. Re:Easy by BitZtream · · Score: 2, Informative

      I'd just like to point out that while you CAN use NIS with SFU and the like, unless its an old machine without Kerberos support and without NSS support, you really would want to use kerberos and nss_ldap to connect to an AD server with SFU installed. If you have old machines, sure, shoe horn them in with NIS, thats what its there for, but you should avoid it if possible, NIS is horribly insecure. The plus side of using kerberos is that no syncronization is required, AD will sync its kerberos server passwords on its own and you're not left worrying about things getting out of sync.

      A better combination on your unix machines is pam_krb5 and nss_ldap if your OS supports PAM and NSS. At the bare minimum, pam_krb5 is the best way to go so your AD servers do the authentication directly and can fully apply group policy to handle brute force prevention and password length/complexity requirements.

      I am interested to know what problems you have with SFU that IDMU didn't have. My only complaint with SFU so far is the way it assigns new UID/GIDs by default, seems to take highest + 1, which sucks since once I imported my unix accounts to AD, I now have a uid and gid of 65535, and the next one it wants to assign is 65536. Wish I could figure out a way to make it say 'find the next available one in this range'.

      Would mind you elaborating on what you like better about IDMU for me?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    7. Re:Easy by Rysc · · Score: 2, Funny

      You can LDAP query AD like my moped can race in the Indy 500.

      --
      I want my Cowboyneal
    8. Re:Easy by wasabii · · Score: 3, Interesting

      Uh huh. So what's wrong with AD?

    9. Re:Easy by Anonymous Coward · · Score: 2, Insightful

      Authenticating against AD is hard? I didn't realize that, I mean, I've been writing apps that authenticate against kerberos since before AD existed, and since those same apps authenticate against ActiveDirectory the exact same way, I must have missed the hard part.

      Hard to authenticate against AD, WTF are you talking about? Do you know how it even works? If you're using some retarded fucking bind against ldap for verifying authentication to your apps? If you use the bind to allow the user to authenticate and authorize like a standard user to the ldap server thats one thing, but if you're pulling some bullshit like using an ldap auth to allow them into your webapp which stores everything in a mysql database than you need to be took out and shot. You use kerberos to authenticate and the directory to pull user DIRECTORY type information out of, you know, uid/gid/homedir/name/emailaddress. I highly expect that you don't understand what directories are for and how to properly use them.

      So lets even assume you're trying to be an idiot and do an auth using an ldap bind. Its different how? Because an out of the box server expects working SSL for authenticating? Considering openldaps utilities will bind to AD just as well as they will to an openldap server I think you might want to consider switching to a ldap library that doesn't suck ass. Try openldap as a start, it works flawlessly with ActiveDirectory.

      Are you bitching about Schema? I hope not, cause if your schema expectations are hard coded into the application than you're only going to work on ONE server type, since no one shares the same default schema for the same attributes.

      I'm not really sure what your problem was since you didn't specify, but you have to write a pretty shitty app if you have problems using ActiveDirectory server with it, and its a safe bet your apps will only work against one specific ldap schema if thats the case.

      I'm not sure how easy it is with RHDS, but installing AD is rather trivial if you can click 'Next' several times in a row and enter a little info in some text boxes. How well does kerberos work after an out of the box RHDS install? I wasn't aware that it included kerberos support? Kerberos is the PROPER way to authenticate clients you know, not binding to the server with clear text passwords.

      Don't get me wrong, I'm not knocking OpenLDAP, or any other implementation. I'm a big fan of OpenLDAP, but if you have a problem connecting and working with the ActiveDirectory LDAP service, you fucked up, likely not it. The only exception to this I can see is that you're doing something rather complex that has specific sorts of support or ADS doesn't implement (standard or otherwise) due to its obscurity. Either way, you're probably having issues working with servers other than AD. LDAP may be a standard, but so is HTML, no one has the perfect implementation.

      Stop hating, AD may be from MS, but its actually not shitty. Credit where credit is due.

    10. Re:Easy by Antique+Geekmeister · · Score: 2, Interesting

      I know quie a lot about LDAP, Kerberos, DNS, DHCP, and database back ends. I find Active Directory's pitfalls to be quite painful. (Its refusal to assign a hostname for broadcast or netmask addresses is just plain stupid.) And as you say, custom applications are difficult. (Try deploying djbdns for mail filtering of the dnsbl blacklist with Active Directory in place. Oh, dear, that was painful!!) But _everyone has clients that will work with it_, And if you need a bit of your own services, such as a local DNS zone or a better secured and scriptable DHCP setup, that can be deployed alongside itl. The big problem is whether you can actually secure it in a corporate environment: the fear of installing security patches, and unwillingness to deploy them in proper failover configuraiton or with the ability to test new setups, has made them a single point of failure in many environments. So deploy them cautiouslyl

    11. Re:Easy by fractoid · · Score: 3, Insightful

      At least part of the lock-in from Active Directory is the simple fact that it's a comprehensive system that can be managed by someone with very little experience. You ever tried teaching yourself in a week of on-the-job "how the f**k do I do this" how to run a mid-sized office network? I have. Using Active Directory and with no prior sysadmin experience it was possible, if a little rough. Trying to do the same thing using open source software would probably have taken me six weeks rather than six hours to start getting results. And even then, I'd have spent weeks looking up obscure config problems and installation how-tos.

      To someone equally fluent in both OS and MS systems, sure, an open source solution is fine, probably even superior. But the business case for using MS software is undeniable.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  2. Just go with AD by anom · · Score: 4, Informative

    I really hate to say it, but I think Active Directory is most definitely the way to go. No other directory systems allows for as simple administration of a large number of windows computers, your windows clients will "Just Work" with it, and it isn't difficult to make windows boxes, wikis, etc authenticate against it (I've had to do this many times...).

    Active directory lets you access it via LDAP which a lot of software packages understand (a note here, structure the LDAP binds such that the username is in the form of SAMACCOUNTNAME@WINDOWSDOMAINFQDN, this has worked almost every time for me).

    The free version of Likewise Open will make it very easy for the linux boxes themselves to authenticate against AD without having to mess with any pam conf yourself, and if you pay them money you can even deploy GP's to linux boxes (disclaimer, I've never tried this part).

    In sum, while I hate to say it, you can make almost any client solution work with AD either directly or via LDAP or Kerberos, and it's the best possible solution for windows client management, so I'd go with that.

    Just my .02

    1. Re:Just go with AD by dpilot · · Score: 5, Insightful

      I've looked into LDAP/Kerberos authentication for my home LAN several times, and basically given up every time. There appears to be a software mix that will do the job, but each piece needs to be configured *just so* in order to work with all of the others. Furthermore, there appear to be a few people out there who really know their stuff, and to them I'll bet this is all easy.

      But it appears that those people all work for companies that sell Directory Server services. They're quite willing to be helpful on specific questions, but the overall integration is still not well documented, from what I can see. As near as I can tell, it's like the Bad Old Unix days, when everyone wanted to be The Solution - for a price. I haven't really looked at the RedHat Directory server or similar products, wishing to use the pieces, and wishing for integration documentation.

      Why this on a home LAN? For some odd reason, I've tried to run my LAN on industrial-strength software - BIND, ISC DHCP, etc. I'm used to single-sign-in at work, and would really like it at home, given that $HOME is shared over NFSv4. I also usually am too busy doing other things, which is another reason why there's been no progress in years.

      Maybe an integrated OSS Directory Server will make it into my house, but there's no way I'm footing the bill it would take to add AD, here.

      --
      The living have better things to do than to continue hating the dead.
    2. Re:Just go with AD by FreelanceWizard · · Score: 2, Informative

      The licensing for Windows Server doesn't necessarily have anything to do with the size of the directory.

      With Server 2008, you have a matrix of options. You can choose whether you want to count licenses by computers or users by the type of CAL you buy (Device or User). Then, you can choose whether you want to license the number of simultaneous connections to a single server (per-server) or by the number of discrete users or devices that have accessed any server (per-user or per-device). Clearly, if you only have one server and it's only being used for authentication, per-server licensing with device CALs makes sense. You only need to purchase sufficient CALs to cover number of computers that will simultaneously authenticate. Another option would be to go with user CALs, but it's probably easier to calculate how many computers will be simultaneously authenticating against or querying the directory. Once you get multiple servers, however, per-server licensing quickly gets expensive. For example, if you have three shifts of 10 users and go with 10 device CALs, per-server licensing will require 30 CALs if you have 3 servers. In per-device mode, however, it only requires 10 CALs. So, in a large deployment with multiple servers, you'll typically go with per-device licensing with device CALs (if users share computers) or per-user licensing with user CALs (if users use multiple computers or all have their own computers). This is because per-device/per-user mode doesn't license the servers; the CAL is good for connecting to any server in your network. In practice, only in the case of User CALs with per-user licensing do you need a number of CALs equal to the number of active users in your directory. You still don't necessarily need one license per user, however, as you can assign CALs away from deactivated users, move CALs from users on leave to temporary users, and use one CAL for a single named user who happens to use multiple accounts.

      Check out Microsoft's Windows Server 2008 Licensing FAQ and Microsoft's Windows Server 2008 CAL overview page.

      --
      The Freelance Wizard
  3. Novell.......no seriously by perotbot · · Score: 4, Insightful

    use Novell's eDirectory, it may cost, but they have a product called "Identity Manager" which allows you to interconnect many different systems to a central ID vault. Password changes are transparent, and management is extremely easy. Best of all it runs on Linux. You don't need the "netware" component to use it. It scales like a dream and is very robust

    --
    ~corporate tool, but employed~
    1. Re:Novell.......no seriously by Anonymous Coward · · Score: 3, Informative

      +1 On Novell's IDM, it is *hands downs* the best Directory Services product out there.

      Though if you don't want to spend the bucks for it (it's worth it, seriously), I would recommend just using AD.

      As others have said, AD just sort of works, and everything can interact with it.
      I'd personally recommend it over SAMBA/OpenLDAP, as I've beat my head against the wall one too many times trying to use SAMBA/OpenLDAP as a Windows Domain. It's just not worth the time or frustration.

    2. Re:Novell.......no seriously by JSG · · Score: 3, Interesting

      and +1 for eDir from me as well.

      I have a blackbelt in directory management (AD, eDir and OpenLDAP)

      eDirectory has a nasty habit of being virtually unkillable and is by far and away the most flexible. With 8.8 you can run multiple trees on a host (in MS speak think of multiple domains on a single DC) No waste of a system to just do DC duties for one bit of your system.

      If you want the most powerfull directory option then use eDir as your metadirectory and then use IDM to populate other directories and applications as needed (eg MySQL, Oracle, text files, Exchange, GroupWise, NIS, etc ad nauseam)

      IDM is phenomenally powerfull, the iManager plugin is as a shining example of how to do a webapp or use Designer, an Eclipse based thingie is great too and has a huge feature set -even churns out your documentation.

      AD doesn't really cut it as a LDAP system - compare the rich schema of eDir to AD for example, also you can put replicas where ever you want (it is not DNS federated unless you want it to be)

      Steep learning curve but really well worth it.

      Grab an eval of Open Enterprise Server 2 (SuSE based), try it out properly, wedge in Identity Manager and you'll be spending cash on the product.

  4. My choices by xaoslaad · · Score: 3, Informative

    1.) RHDS - Red Hat Directory Server
    2.) Active Directory
    3.) OpenLDAP
    4.) Novell eDirectory (personally my least favorite)

    I would probably jump for RHDS first, then AD. The only problem with OpenLDAP might be getting a similar level of support to the first two. Support is exactly why I would never choose eDirectory. I have (personally) had abysmal experiences dealing with Novell. Others may disagree though. And of course there probably are other options.

    1. Re:My choices by gbjbaanb · · Score: 2, Insightful

      would it not be possible to configure a single server, that proxies or delegates queries to all the other servers he has set up.

      I asked about proxying openLDAP to AD, so I could have users in both, yet query them all just by asking the openLDAP server. If this was possible for multiple delegated servers, then this is the approach I'd take - start with 1+all the old ones, then gradually migrate them into just a few servers.

      and yes, I'd probably go for RHDS, Active Directory seems to be one of those products that starts off with just a windows 2008 server, then requires more CALS, then needs a SQL Server licence, and then really expensive backup software, and then needs all printers to be connected to it, and then needs Sharepoint adding to the mix, and then... you get the idea :)

    2. Re:My choices by Clover_Kicker · · Score: 2, Informative

      SunDS, FDS and Novell eDirectory are all based on Netscapes DS,

      Uh, eDirectory is the current name for NDS, which came out with Netware 4 in 1993, before Netscape was even a company.

  5. A side benefit of Active Directory: by lazyforker · · Score: 2, Insightful

    Almost any LDAP Directory service will work for your directory needs. I think the real question should be "is the cost of the Windows Server 2008+CALs outweighed by the extra features I get?". If you're considering Active Directory then you should know that as a bare minimum you will need two Windows Servers. But you will get GPOs, centralized security (domain users and groups) etc. Do you need all that? If you're a startup then spend money on getting your business up and running, not on keeping Ballmer's office stocked with chairs. So stick with any of the worthy Linux-based. FOSS solutions - I have limited experience with them so I'll leave others to comment on which is "best". (Disclaimer: I deployed AD to my company - they're a 10,000 employee global company that was running Windows NT everywhere when I joined.)

  6. Twilight Zone? by cowdung · · Score: 5, Funny

    Wow.. did I wake up in another dimension? Are slashdotters actually recommending MS products today??

    1. Re:Twilight Zone? by alen · · Score: 2, Interesting

      AD and OpenLDAP are like first cousins.

      big difference is Open LDAP you have to create your schema. with AD Microsoft did the work for you and upgrading is easy. if you first deployed AD with Windows 2000, upgrading to later versions of windows and AD apps is easy. MS ships ldif files with any of their apps that extend AD with new classes and objects that do this automatically. saves you a lot of time.

    2. Re:Twilight Zone? by afidel · · Score: 2, Informative

      AD also does multi-master replication out of the box and it's been scale tested to the very largest of implementations.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    3. Re:Twilight Zone? by BitZtream · · Score: 4, Insightful

      Not really, you can make OpenLDAP have the required schema for windows.

      Of course, then you need to add a kerberos server since OpenLDAP doesn't do that.

      Then you need to add Samba so you can get the RPC calls that go along with Windows Clients.

      Its not that it can't be done, its that its just FAR easier and more reliable to just pay the money for Windows.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    4. Re:Twilight Zone? by sloanster · · Score: 3, Insightful

      Wow.. did I wake up in another dimension? Are slashdotters actually recommending MS products today??

      But of course - did you not realize that the majority of slashdot readers are microsoft windows users?

    5. Re:Twilight Zone? by serutan · · Score: 2, Funny

      Ohhhh Barnacles! It's Backwards Day!

  7. AD by Malenx · · Score: 2, Informative

    Microsoft has really done well with developing AD.

    It's just honestly the best product out there currently.

  8. Support by Cyner · · Score: 3, Insightful

    You can configure a Samba server against LDAP and have everything authenticate agaist that. Your biggest pitfall is going to be finding support for the configuration. You have to consider "what if the IT Admin get's hit by a bus, who's going to support this configuration". With Active Directory you can flip open a phonebook and find a dozen local places that will support it; that's not the case with the Samba/LDAP configuration.

    --
    FreeBSD.org - The power to serve
  9. Start with SQL by unified_diff · · Score: 3, Interesting

    Yes, SQL. If you keep your raw data in SQL, it is easy to export data to any format you might need now or in the future. LDAP gets you a long way, but you will sooner or later end up with several apps that don't support it. The result is horrible password sync hacks, multiple passwords per user, etc.

    The idea is to put raw user info in SQL, including their clear-text password. Of course, lock down that SQL server like you've never locked down anything before! It should have a very limited interface for updating user data. Next, export user data to relevant external databases such as LDAP, NIS, SASL, that obscure sqlite app, Kerberos, DMZ services, etc, and you'll have much less pain keeping everything in sync.

    An implementation of this scheme is running on many of the biggest universities in Norway, and is called Cerebrum, http://www.cerebrum.usit.uio.no/english.html. User administration happens through a frontend interface appropriately named BOFH, where users and admins can change data in a secure manner. Users can change certain of their own attributes, while admins have more power. It's worth checking out (although their sf.net wiki seems to be down at the moment, unfortunately).

    1. Re:Start with SQL by Tmack · · Score: 2, Insightful

      Yes, SQL. If you keep your raw data in SQL, it is easy to export data to any format you might need now or in the future.

      slapcat > myldaptree.ldiff

      Done. You now have an Ldiff file that can be re-imported directly, or parsed quite easily, not sure why Exporting seems difficult?

      LDAP gets you a long way, but you will sooner or later end up with several apps that don't support it. The result is horrible password sync hacks, multiple passwords per user, etc.

      gssapi/SASL, or if its a horribly broken ap that doesnt do that either, its trivial to write an authorize/authenticate plugin for it, just about everything supports LDAP though, or "AD" which is usually LDAP with the MS schema in mind that can be bent to use a normal LDAP directory instead. Password sync (to get the broken NT4/LANMAN and KRB5 passwords) is as simple as compiling smbk5pwd (for openldap) and making sure the things allowed to change user passwords only use the passwd exop in LDAP, which pam and most other items that can allow that have an option for. Its not a hack, though you do end up with several different hashes of the same thing, as intended, but you can thank MS and MIT for using their own standard for hashing instead of plug-in cryptos, and pushing that for use in certain standards (WPA2 and Kerberos) .

      The idea is to put raw user info in SQL, including their clear-text password.

      Um, no. All it takes is one rogue admin with the access to "Manage" that database, and suddenly they can pull the CEO's password without anyone noticing, or a misconfigured SQL server running a non-ssl connection leaking that plain-text across the wire. If you are properly implementing a two-factor system (rsa securid or some equiv) this isnt as big a deal, but still... no.

      Of course, lock down that SQL server like you've never locked down anything before! It should have a very limited interface for updating user data.

      You should do this with any machine regardless. Lock it down so only those that need it can get in, and they only have access to what needs to be worked on... standard policy

      Next, export user data to relevant external databases such as LDAP, NIS, SASL, that obscure sqlite app, Kerberos, DMZ services, etc, and you'll have much less pain keeping everything in sync.

      Why? You end up with multiple copies of the same data spread across a multitude of disparate systems. OpenLDAP plugs directly into SASL, Kerberos, Samba, Securid, FreeRadius and many other systems that are NOT really directories and therefore should not have the data themselves. Instead they query LDAP for what they need, and LDAP is configured to let them read only what they need, securely (access to attrs=BLAH by ssf=128 dn.exact="cn=someapp,dc=example,dc=com" read). The ssl certs required are trivial to setup, just use CA.pl a few times, create a CA and a few test certs and you quickly get the hang of it. Setting up LDAPS is generally easier than trying to make sure all your SQL connections are secure as well (only start the ldaps service instead of ldap+ldaps, and use ssf=128 for all acls). With that in place, there is absolutely no risk of sending plain-text passwords in the clear over the wire, where your sql implementation seems ready and willing to do exactly that.

      -T

      --
      Support TBI Research: http://www.raisinhope.org
  10. Win2k3 R2 by Lurching · · Score: 2, Interesting

    Windows 2003 R2 has (virutally) the same IDMU as Win 2008.

    I have implemented such a mixed environment, with one problem. As I pointed more and more liunx boxes at the AD running IDMU, the number of internal connections from the AD server to it's own LDAP port increased until they were all tied up. It got so the AD server could not even read its own global policies.

    I had to implement a Linux NIS slave and point all of my Linux boxes at it instead of the AD server.

  11. Hear me out by BitZtream · · Score: 5, Informative

    Its going to sound like blasphemy here on slashdot, but I strongly recommend one master ActiveDirectory server with Services for Unix installed. You can manage everything from the nice pretty windows GUI, have perfect windows support and using pam_krb5 and nss_ldap (I use them in FreeBSD, I believe both of which were originally for linux, not sure they would be the best for it) for pulling all your user information from AD. Services for UNIX adds tabs to the important objects in the ActiveDirectory UI to let you edit the unix attributes.

    Combine nss_ldap, pam_krb5, sasl with kerberose auth, and samba 3 or newer, the kerberos auth module for Apache and you can have complete and total authentication based on ActiveDirectory with a very nice GUI, and you can still use standard ldap tools to work with the directory if you want. Samba will do kerberos with windows beautifully at this point, just make sure you keep eveything time synced. Even does all the 'single signon' stuff for websites.

    You end up using a great authentication mechanism on your unix AND windows hosts (kerberos is king). The only catch that may or may not apply to other OSes, but it definately bit me in FreeBSD 6, FBSD wants to use UDP for all its kerberos communications which is normally fine, but once you get a user with a large collection of kerberos data, in my case, lots of groups either directly or via nesting, then the packets become too large for a single UDP datagram and FBSD is too stupid to switch to TCP on its on. My solution was simply to block all UDP port 88 requests in and out of my FBSD boxes so they immediately fail over to TCP (not, you have to return ICMP errors, not just drop packets or it'll just hang as it doesn't know the packet can't be sent).

    Not sure if Linux's kerberos implementation supports forcing TCP in krb5.conf. FreeBSD is SUPPOSED to, but older version certainly don't.

    I know that no one likes MS and thinks they are evil, but I've been VERY happy using AD. We have two Win2k3 machines that serves ActiveDirectory, basically a primary and backup domain controller in the old MS NTDOMAIN language. Works awesome. If you throw in the MS certificate server on your AD server, then you also have a nice way to make internal SSL certificates with full revokation support and all that neat stuff so you can make internal certs all day long and the since your Windows machines are part of the ActiveDirectory, it pushes its root cert to all your windows boxes meaning you don't have to do crap to make them fully authenticated certs for your windows machines.

    With far less effort than any other directory server you can have full single sign on support, good authentication, and an easy to use interface in which you can delegate control to various folks outside your IT department and let them use the AD manager for windows (on xp or whatever) to manage the department they need to if you want. You can auth pretty much EVERY modern OS this way. Hell if you want to you can run the servers on Unix (OpenLDAP/MIT Kerberos) for backup or for serving client requests and just isolate the windows machine as the master if you want.

    Okay, now I sound like a total fanboy, please don't hate, but it really is a good setup. The main reason being, from my point of view, the setup and most importantly, the administration of ActiveDirectory and Services for UNIX are FAR above and beyond anything the F/OSS world offers. Sad, but true. I imagine you could probably get good support from Novell eDirectory as its tools are pretty good when they work, haven't used them since 6.0 when all their Java apps were asstastic, but I was only admining the leaf node of a tree with a few hundred thousand accounts in it (State of Georgia was using eDirectory a few years back, all their employees are in it, may have changed by now), so it may work better in smaller setups. All things considered it didn't do bad there, was just far too slow for editing my own subtree as we had to wait on updates to be pushed back up the tree bef

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  12. FreeIPA, Apple OD, Gosa2, Novell eDirectory, FDS by Anonymous Coward · · Score: 2, Informative

    I am with this task as well.

    Since we need to support Kerberos, I had some difficulties to install OpenLDAP and manage the Kerberos and integrate with Samba and AFP.

    Our servers are 80% Linux and 20% Windows,.
    Our clients are 90% Mac, 9% Windows and 1% Linuxes

    I have messing with the follwoing solutions without much sucesse. They are all good, but they are NOT READY yet. Maybe Novell eDirectory, but I think it is too big and kind of expensive.

    I really don't like Microsoft, so we are avoiding AD and avoiding supporting M$ with our money.

    So, we tried:

    - Fedora Directory Server
    - OpenLDAP + Kerberos (doesn't have a good admin interface)
    - Gosa
    - FreeIPA

    But, we will keep investigating.

    for now, our BEST OPTION and the easiest is:

    Apple OD (Open Directory).
    It integrate very well with Windows, Apple, Linux and has Kerberois and a great Admin UI

    Ou ONLY problem with Apple is that we can't VMWare... so, that's the only issue for us!!!

    In about 6 months we will try again the followings:

    - FreeIPA
    - Gosa2
    - Fedora Directory Server

  13. Re:Stick with OpenLDAP ... by BitZtream · · Score: 3, Insightful

    First off, AD does provide LDAP services, it is ActiveDIRECTORY after all.

    Second, every OSS app out there pretty much lets you modify the schema it expects from the server, meaning making it talk to an ActiveDirectory server is just a matter of properly setting up the schema. Hell most apps now days already have an example config for talking to a stock ActiveDirectory, but you're better off with AD + Services for Unix so you get AD and Unix UID/GID administration in one pretty point and clicky interface.

    Other than having a more flexible schema, since it doesn't assume you need to talk to windows, its inferior to AD in just about every other way, excluding price, where of course it beats the shit out of AD :)

    If your last two startups were made easier by not using AD, you have incompetent admins who don't actually understand ldap or kerberos.

    With openldap you get a directory, which CAN be used to authenticate, but thats not what you should be doing. Kerberos is accepted everywhere as the best authentication system to use in an organization, hands down, Unix OR windows. With AD you get both. Which means instead of using your crappy 'bind to auth' or 'bind as someone then query to auth' and 'hopefully we remembered to use SSL everywhere that needs auth', with AD you get LDAP + kerberos for auth, best of both worlds.

    AD allows you to manage users with those same applications, host or web based as it support LDAP perfectly so OpenLDAP doesn't have anything on it there.

    Fourth, you can just make samba join your activedirectory server instead of making it pretend to be one and dealing with all the quirks that goes with that if you have anything beyond the most simple of setups.

    Want samba to join ads? Install samba 3 or newer, install a time sync utility if you don't already have one, type:

    net ads join

    Follow prompts, done.

    Go the next step and tell samba to generate a keytab for kerberos for you and be happy as now you can start using kerberos for other services rather a cobbled together bunch of hacks to bindauth or queryauth off the ldap server.

    Me thinks you don't really have any actual experience with or an idea what AD is. AD is NOT NTDOMAINS, even though an AD server is capable of providing backwards compatibility, it is not required and if you're using not using anything older than XP and unix machines it should be turned off.

    OpenLDAP is only a partial replacement for ActiveDirectory, and really is the WRONG way to do authentication. MS didn't invent kerberos, but switching to it was one of those 'Okay, you win, we're on the bandwagon with your protocols' moments that you should actually thank them for and look into. Stop hating and educate yourself.

    What OpenLDAP wins at, hands down, is of course, cost. But its really silly to say that its more flexible or more reliable (which, btw availability and uptime mean the same thing here).

    Do you want to use a bunch of hacks to make your windows machines authenticate, or would you rather use a system that supports everyone natively and completely, Windows AND Unix (including OSX)? Personally I went with AD so I can just do everything natively, with Services for UNIX the thing will even function as a NIS (maybe NIS+, I don't use that part) server if you've got old boxes that you need to pull into the group.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  14. Re:FreeIPA, Apple OD, Gosa2, Novell eDirectory, FD by adriccom · · Score: 2, Interesting

    Yikes, I'm replying to an AC.

    Mac OS X and Server are now virtualizable in recent Vmware Fusion and Parallels installs (at least). Although there were technical and legal challenges to parallelizing OS X installs, these have apparently been surmounted.

    Now I just need more RAM.

    --
    <script>alert("I never liked JavaScript, really; it just seemed a bad idea.");</script>
  15. MDS - Mandriva Directory Server by Player+Parker · · Score: 2, Informative

    I find myself in the same situation and am considering either MDS or FDS, which is now 389 Directory Server btw, to address this need. My goal is to stay away from Microsoft's AD primarily because my boss looks for $100 solutions for $10 (or less). I won't banter on here about the merits of what MDS will and will not do, but I will say it's a very good package, well documented and certainly worth consideration. I setup a VMware server which I'd be happy to ZIP up and post on our company's sftp site for you to download and check out if you so wish. Look me up and I'll hook you up, no worries...

  16. Re:Choose AD by JSG · · Score: 2, Insightful

    >>All of hte other solutions require massive hand holding

    Your experience of these is what exactly?

    Personally I'd use eDirectory. I have 15 year experience of eDir, AD and OpenLDAP. My experience of eDir is that it is worth the cash compared to the rest.

  17. Directory services by dlawson · · Score: 2, Interesting

    I have a pretty long history of this, and I have set up a couple of major implementations (1,000,000+ objects) so I'm putting in my 2cents.

          I started with Novell's NDS in 1993 (yup, I was a beta tester) and so I am pretty oriented towards that product. Other Directory Service products I have managed include AD and eTrust. I am still most impressed with Novell's product, and for good reasons. AD is really an LDAP interface into a distributed registry. It is not really a full X.500 directory, and it weaknesses show when it comes time to upgrade or migrate. eTrust is built on the old Ingres database (Alan Lloyd couldn't get a free copy of Oracle) and there were issues with it's replication and failover modes when I ran it. Once burned, twice shy. The most reliable, in terms of not getting up at 2 AM, was eDirectory, and I still respect Novell's attitude towards Quality.

          The performance of most DS products is pretty equal these days, a test I read last year had a 4-core Opteron doing 60,000+ searches per second. That's plenty, divide the number of leaf objects by that number to find the number of processors you will need. More importantly is how you build your tree, and that is NOT a minor effort. Number one, you will need replicas, at least three of each partition in the tree. Number two, enough bandwidth to make sure that replication and synchronization is not impeded. Number three, you WILL have a number of arguments from the management team (if they are one) at the normal number of communication paths within the team, that is N! if they all fight separately, N!/P! if they gang up. These arguments will be centered on who has what access, up to why the tree doesn't place them at the top (hint: follow the organization chart. Get the CEO to tell HR to give it to you.)

          After that, it's really a matter of studying the available literature. Get a copy of the X.500 documentation to understand the standards for update and replication, and after that, try a couple of test implementations in a little three server lab. You can probably do that on a couple of one-lung PCs to get a feel for what the tree will look like and how to manage it. I haven't had a test lab in my house in a couple of years, but the last one was an Athlon laptop with OES 1 on it. Get a copy of NDS Basics from Novell Press and bone up. The other book useful to this effort is Open Enterprise Server Administrator's Handbook also from Novell Press. Grab an eval copy of OES and practice. When you go live, the price of the eDirectory component itself is worth the cost of OES.
    davel

    --
    dot-sig.
  18. Microsoft Hostility by Stephen+Samuel · · Score: 2, Insightful

    Uh huh. So what's wrong with AD?

    Microsoft seems to design their protocols to be as hostile as possible to 'other' OSs (without being openly anti-competitive). This is good for their business plan but bad for users. A side effect of this is (like another comment in this thread noted), that it's really difficult to expand the system beyond what Microsoft wants you to be able to do.

    Given that you're using mostly 'other' operating systems, I think it would be a big mistake to make the bulk of your systems beholden to a hostile mistress.

    --
    Free Software: Like love, it grows best when given away.