[Note: this post is long and it’s probably going to go through several edits, but I believe it is worth reading through]
Well, it’s been a while since I’ve blogged. I’ve been heads down on getting the latest release of Likewise out the door. I want to use this post to tell you what we’ve been up to at Likewise
Yesterday, the official press release went out announcing the general availability of Likewise Open Fall Edition. I couldn’t be more excited about this release. This release, I believe, will be the high mark for comparison and differentiation in the open source world for what it means to support Windows interoperability in non-Windows systems
First, an explanation on numbering and editions is probably useful. The latest version of Likewise technology is 5.0. We’re using seasons to identify specific Open editions and Likewise Open Fall Edition is built on Likewise 5.0 technology. In contrast the Enterprise versions of the product continue to keep version numbers. So the forthcoming release of the Enterprise product will be Likewise Enterprise 5.0
Likewise 5.0 is our most ambitious and comprehensive release to date. The range of features and their ramifications are huge. I’ll start by enumerating what Likewise 5.0 will provide.
LWIS (the LikeWise Identity Service) is our next-generation authentication engine has been built from the ground up. Here is a sample of what LWIS offers
LWIS is a single-process, multi-threaded engine that is capable of hosting multiple server-side authentication providers. Today it will ship with two distinct authentication providers:
The Local Authentication Provider is a full local authentication database. It allows the creation and manipulation of local users and group objects. This provider supports functionality similar to the Windows local SAM authentication database present on every Windows client and server operating system.
The Active Directory Authentication Provider provides a full authentication and account management interface to a Microsoft Active Directory forest.
• Multiple uid-gid configuration modes. The AD provider supports three different retrieval mechanisms for returning user uid and group gid information. The first two modes: default and cell mode are retrieval mechanisms predicated on the AD domain being provisioned to store uid and gid information. The third mode: the unprovisioned mode functions without any changes made to the AD domain. The default and cell modes can function with the AD schema being extended to support the RFC 2307 attributes or without the schema being modified.
• Password and Kerberos Keytab Manager. When a machine is joined to an Active Directory domain, the machine’s name, site information, the name of the forest and domain are stored securely. In addition, the machine’s password is securely stored. Associated with the password, machine’s host keytab is derived off of the machine’s password. A clean interface and library of calls is provided to update this information. In addition APIs are provided to determine whether the machine is joined or not and to retrieve the machine’s hosting forest, domain and site information.
• Machine Password Refresh Manager - Active Directory requires that the machine’s password be periodically refreshed. A machine password refresh thread run periodically within the AD provider updating the machine’s password based on a policy configurable interval.
• Time Synchronization Subsystem .The time synchronization subsystem serves as a backup mechanism for misconfigured or absent NTP support on the joined machine. This system ensures that machine’s system time is synchronized to that of the domain controller.
• Site Management and Site Affinity. A full implementation of Active Directory site management and site affinity is provided. The machine will “affinitize” itself to the closest dc within its site. In the absence of the closest dc or the closest dc going down, the site affinity system will “reaffinitize” to the next available dc within the machine’s site. Additionally, site affinity is supported by a separate netlogond daemon which can be programmatically queried by all applications on the system thus ensuring that all applications communicate to the “affinitized” dc.
• Multi-forest support. The following scenarios have been supported.
o Single domain, single domain tree, single forest
o Multiple domains, single domain tree, single forest
o Multiple domains, multiple domain trees, single forest
o Multiple forests, two-way transitive trusts
o Multiple forests, one-way transitive trusts
• Cached credential support. LWIS supports a cached credential login model in the event that no domain controllers are reachable. See the section on site affinity for further details on domain controller reachability.
• Kerberos Ticket Management. The LWIS AD Provider also manages refreshes of kerberos tickets with specific attention to the logged on users’ TGTs.
• Kerberos and NTLM Password Authentication The implementation provides support for NTLM style authentication in addition to standard Kerberos password authentication.
• Integrated Change Password Support LWIS provides the ability to cleanly change AD passwords from Linux/UNIX clients and honors all change password settings i.e. allows users to change passwords at logon, allows users to change their AD passwords at will etc. etc.
• WBL API Integration LWIS is a fully compliant WBL (Winbind Bridge Library) service provider. This allows out-of-the-box integration with the Samba smbd file server and allows LWIS to serve as a clean winbind replacement
• DCE/RPC Framework LWIS provides a full MS RPC compatible DCE/RPC implementation that ships with the product. This allows OEMs and other customers to build their own Windows compatible RPC clients and servers. The DCE/RPC framework comes with a full idl compiler, the dce/rpc runtime, a platform neutral threading library and full support for Windows authentication libraries
• Native NetAPI Implementation for Linux/UNIX. A full native implementation of the Windows NetAPIs is available. The LWIS daemon uses many of these calls for authentication, multi-forest support and changing passwords. A list of the supported APIs will be provided in a further release of this document.
• OpenLDAP with GSS-SPNEGO support The vanilla openldap libraries do not have built-in support for GSS-SPNEGO. As a result, it is near impossible to cleanly access AD directory infrastructure. LWIS ships an enhanced openldap client library set that provides full support for the LDAP_AUTH_NEGOTIATE option and full support for signing and sealing of LDAP traffic
• Native GSS-NTLM support. LWIS ships libraries that provide native GSS-NTLM authentication for both local (peer-to-peer) authentication and pass-thru authentication to an NT4 or greater domain controller.
• Domain join system configuration library. LWIS also ships libraries that auto configure a native Linux/UNIX machines by provisioning and de-provisioning PAM, nsswitch, /etc/hosts, and kerberos configuration files for seamless and error free domain join behavior.
Likewise Event Log Subsystem
The Likewise Event Log Subsystem is an eventlog daemon that runs on a target Linux/UNIX platform. While similar to the Windows eventlog subsystem, it comes with significant enhancements including an embedded Sqlite database that allows rich queries to be executed on the server. The Event Log subsystem’s interface is built on top of our DCE/RPC subsystem which allows authenticated RPC queries to be run from remote clients as well as local clients. At the time of this writing, all of the Likewise subsystems including the authentication subsystem, the group policy subsystem and other UNIX logging systems have their security event log stored in this event log database.
Likewise Administrator’s Console (LAC) is our graphical console. It has the ability to load multiple plug-ins that can provide administrators’ the ability to administer a variety of subsystems. LAC will ship with plug-ins that can remotely manage local users and groups, a full Active Directory management editor, a full remote event viewer. In addition, our Likewise Enterprise release allows you to manage group policy objects as well. LAC’s versatility is derived from the fact that it has been written from the ground up using the .NET framework and can thus run natively on Windows, Linux (all flavors that run a graphical desktop) and all Mac OS X versions.
Licensing Likewise is fully committed to the open source process. Every thing we’ve developed in Likewise Open, the LWIS technology is being released under the LGPLv2.1 and the GPLv2.1. Our model is very simple. We will release all client API libraries under the LGPL and all daemons under the GPL. This means that just like how proprietary software uses glibc, they can use the LGPL libraries of Likewise, and appropriately protect their IP. We’re releasing our IP as open source, but we’re not choosing to mandate what people who call our libraries choose to do. In the case of daemons, we think it’s fair that if you make changes to the authentication daemon or other daemons, you should contribute those changes under the terms of the GPL.
Because we’ve written LWIS from the ground up, Likewise owns the copyright to all the source code. This allows us to license the source code under different licenses if we see fit. We’ve had several OEMs approach us and ask for a different license and we’re able to do this as well.
The Future: Making a Windows-compatible Distributed Systems Fabric available natively on Linux /UNIX/Macs
When I joined Likewise over two years, I thought to myself that I would like to spend my time making non-Windows systems first class citizens in a Windows network. This would mean real, tangible interoperability. This would spur choice among customers to adopt whatever platform they felt was in their best interests. The way to do this was to ensure that we could build the same distributed systems substrate that Windows is built on natively on non-Windows systems. There’s tons of work that needs to be done here, but every release, we’re getting closer to that goal.
Finally, I’ve just got to make a plug for the company. If you’re a system’s administrator or IT architect looking to integrate your systems into Active Directory, you should look no further than Likewise Open and Likewise Enterprise. Likewise Open is FREE and a completely full authentication stack for 118+ platforms. It’s is a pure subset of Likewise Enterprise which seamlessly adds on group policy support. Think about it!
Thanks for reading!