At TechEd 2013 last week in New Orleans, Optimal IdM was selected the WINNER of the first ever Cloud Computing category of Best of TechEd 2013 by Windows IT Pro! It was quite an honor to see the VIS for Office 365™ solution receive the respect for this new category.
Archive for the ‘Microsoft’ Category
In part 1 of 2 in this blog I addressed the basics of extending ADFS. In this blog (part 2 of 2), I will cover some of the more important questions that should be asked prior to setting out to building your own Identity Provider (IdP) / Security Token Service (STS) or Attribute store vs. purchasing a supported solution from a 3rd party vendor.
Questions to ask yourself:
- Does your company/firm want to maintain custom development for security related operations? Typically this is not a good practice. If you do, you need to ensure that you do it right and make sure that the code you develop can be reused within the company for other uses so you have some sense of standards. An STS should be robust and configurable to handle the entire companies authentication needs, otherwise you have one-off’s.
- Is your company opposed to purchasing 3rd party software products? For some folks this is the case, and for some it’s because of cost. Just keep in mind the full cost of your time and effort to design, develop and maintain your solution vs. buying. In many cases, the cost (tangible and intangible of developing) far out way that of purchasing.
- Does your company/firm have the knowledge to development and maintain security software? If you are a business application developer, then spending your development cycles writing security software may be a waste of your expertise/time.
- Do we need to deliver a solution that scales and performs for all users? If so, you will need to factor in features that may become a burden if you haven’t done them before, such as maintaining LDAP connection pools. It is not feasible to scale creating and destroying connections for every authentication.
- Do we already have expertise in federation? If not, then you will be spending many days/nights researching terms and trying to figure out all of the many moving part within federation. Microsoft’s WIF does make the task of building an STS somewhat easy, but if you don’t understand what it does under the covers, then you will have a difficult time trying to customize your solution to meet your business needs.
- How many Relying Parties do you need to support? If you plan to deploy your STS along with ADFS, then this may not be an issue. Otherwise, if you have more than one (or plan to have more than one), you will need to factor that into your design and configuration utility. Will you build a configuration utility or make it hard to install/configure/maintain?
- Do you need to encrypt your assertions or just sign them? In either case, you’re going to have to know the difference and how to implement them. When signing, you need a certificate with the private key. When encrypting, you only get the public key from the RP.
- Do you need to support the FederationMetaData.xml file? This is built into WIF, but maintaining it can be a chore (especially when working with certificates).
- Do you need to implement a proper sign-out process? This is available in WIF, but the process of signing users out of ADFS (as an RP) vs. signing users out of other RP’s is different and can be quite tough to get right. The secret here is the ensure that you have given enough time to properly call the sign-out process in all of the places that your users are logged into (yes, you will need to track this yourself).
- Do you have the free time on your hands to actually complete this development effort? We have seen several people come to us after spending significant cycles in research and development for various reasons.
- Do you have any authentication method planned out or will you be attempting to support many different types? Such as: User/Pwd, Integrated, Certificate, DoD CAC-Cards, Open ID, Custom SSO, etc. If you are able to nail down one or 2 of these, you’d be better off, but when designing you have to plan for the future.
- Speaking of design. Will you develop a formal design document?
- Do you have any auditing requirements? If so, you really need to spend some time detailing out what it is you need to audit and where you plan to store the data. Make sure the auditing is running on a separate thread from your login process to avoid any slowness in processing authentication.
- If building custom, do you know how to build code that is not vulnerable to penetration testing, denial of service attacks, or cross-site scripting attacks? Do you know what these are? Have you ever developed code that has been tested under these scenarios? Remember, since your code is handling authentication and has access to user id’s and passwords security is paramount. Can you afford a data breach such as Linked In where 6 million account passwords were compromised?
- From an organization standpoint, what happens when the developer (maybe you) leaves the company? Many developers want to develop “cool” things and you may be that person so you may be biased. What is right for the company?
Finally, make sure you consider the following items as well if you plan to develop your own STS:
- Timeouts & Token Sessions (including sliding scale tokens & cookie paths). Do you know that these are?
- Make sure your sign-out page is not a protected page (in case your STS token expires prior to your RP token)
- Encrypt your connection information (passwords in your configuration files, etc.). Don’t forget to factor in the time it will take to develop a solid encryption mechanism. Remember this server is performing authentication and vulnerable to opening up security holes.
- Ensure that you are handling byte arrays properly from LDAP. For example, if you are working with AD/AD-LDS attributes such as the “objectGuid” or “objectSid”, remember to handle converting these values properly (Sid’s are converted/formatted differently than other byte arrays).
- Make sure you fully understand all the query-strings in play in federation and how to handle them. Note that some of the query-string values have query-strings themselves.
If you are thinking of going to the cloud you may want to take a look at our new offering at Optimal IdM (Virtual Identity Server for Office 365). A quick look at some of the features and benefits are below:
- Fast and easy multi-forest support (no changes needed to any of your data in AD)
- Firewall for your LDAP
- Two-Factor Authentication
- Multi-Authentication Types (Windows Integrated, Client Cert, DoD CAC, SSO, and more)
- Non-Routable UPN support (again, no changes needed to any of your data in AD)
- Denial of Service (DoS)
- Support for desktop clients (Lync & Outlook) as well as all web apps (Portal, OWA & Lync web)
- Support for provisioning and synchronization including and filtering of what data goes to the cloud
- and much more…
There is much discussion these days about Active Directory Federation Services 2.0 (ADFS) and the out-of-the-box support of identity and attribute data other than Active Directory (AD). In this blog (part 1 of 2), I plan to cover the basics of extending ADFS using the Microsoft Windows Identity Foundation (WIF) components. In part 2 of 2, I will cover some of the more important questions that should be asked prior to setting out to build your own Identity Provider (IdP) / Security Token Service (STS) or Attribute store vs. purchasing a supported solution from a 3rd party vendor.
Currently ADFS only supports (out-of-the-box), authentication (identity information) and authorization (attribute/claim information), directly from Active Directory (AD). However, what many people are missing is the fact that ADFS does ship with a Framework (WIF) to extend ADFS to meet just about any need you may have for both authentication and authorization.
If your identity information is located in a store other than AD, you can choose to build your own IdP/STS for authentication from the framework provided or purchase one from 3rd party vendor that is formerly supported such as the Optimal IdM Federated Services product. If you are looking to augment the claim information with attribute data that is located in a store other than AD/AD-LDS or SQL, you can choose to build your own Attribute store for authorization which is a pluggable module in ADFS or again, purchase one from a 3rd party vendor. The Optimal IdM Federated Services product also includes a pluggable attribute store module that can surface attribute/claims from many different stores including nearly every LDAP on the market (ADAM, AD-LDS, Sun, Oracle, eDirectory, Open LDAP, OpenDS, etc.) as well as most databases (SQL, Oracle, DB2, etc.).
Writing your own IdP/STS or Attribute store, isn’t extremely difficult, however, you need to first determine what features are most important to your organization prior to setting out to write your own. Here are just some of the features that are included in the Optimal IdM Federated Services product and commonly used by many of Optimal IdM’s customers and should be considered:
- Authenticate users from multiple AD forests without any forest level trusts in place
- Authenticate users from many different backend systems (AD, ADAM, AD-LDS, Sun, Oracle, eDirectory, Open LDAP, OpenDS, etc.)
- Authentication methods such as traditional forms-based, Windows Integrated, client digital certificates, DoD CAC cards, 2-factor (Keep in mind that ADFS only support user/pwd and Windows Integrated Authentication out-of-the-box)
- SSO support for existing IdM systems via header variables or cookie based solutions
- OpenID Integration
- Denial of Service (DoS) prevention
- Proxy capabilities
- Load-Balancing & Failover on front end web and backend data stores
- Assertion Encryption
- Audit logging of assertion and claim/attribute information
- Federated Sign-out
- Change Password & Forgot Password (Self-Service Password Reset)
- Built-in connection pooling and performance optimizations for high-volume usage
- Virtual Attributes & data translations/filtering
- Passive & Active Profile
- Office 365 integration including synchronization of on premise identities to the cloud and federated login with client applications (Lync, SharePoint, Outlook, etc.)
In Part 2 of 2, I will discuss the key questions that should be asked before embarking on the build vs. buy scenario for extending ADFS.
So, since the big news from Quest Software announcing the acquisition of Symlabs, the independent virtual directory market has shrunk down to two. That would be Optimal IdM (my firm), and Radiant Logic. On tha tnote, I thought it would be a good time to browse the short history of virtual directory vendors and products and see just where they all are today:
Directory – (Java)
|Acquired (Oracle)||Acquired by Oracle in 2005
(now Oracle Virtual Directory)
|Sun||Virtual Directory Server – (Java)||Acquired (Oracle)||Acquired by Oracle in 2009
(no longer sold)
|MaXware||MaXware Virtual Directory – (Java)||Acquired (SAP)||Acquired by SAP in 2007
(now SAP NetWeaver Identity Management Virtual Directory Server)
|Symlabs||Virtual Directory Server – (C & Java)||Acquired (Quest)||Acquired by Quest Software
in 2011 (will be embedded into some Quest product and no longer sold)
|Identyx||(Penrose) – (Java)||Acquired (Red Hat)||Acquired by Red Hat in 2008
(Identyx sold a special version of the Open Source Penrose Virtual Directory)
|ID-Unify||Acquired (Citrix)||Acquired by Citrix in 2010
(no longer on the market)
|MyVD||My Virtual Directory – (Java)||Open Source||No updates in over 3 years (likely cannot keep up
with commercial vendors)
|Novell||Virtual Directory Services – (Java)||Never made it to market||Project was disbanded in
|Virtual Directory Server – (Java)||Commercially Available||Written in Java and
requires Java run-times and third party binaries.
|Virtual Identity Server – (.NET)||Commercially Available||The ONLY .NET Virtual
Directory on the market. Microsoft-Centric, but connections to
heterogeneous systems. Since its initial roll-out in early 2008, the
product has been proving to be a true innovator in new features and new ways
to leverage virtual directory technology. Deep integrations into the
Microsoft suite such as SharePoint 2007/2010, AD FS 2.0, UAG,
and more. Optimal IdM has three recent head-to-head wins against
Radiant Logic with Fortune
100 companies in 2011 alone!
Now to return back to the Quest acquisition of Symlabs, it’s worth nothing that the intention of this acquisition was not for Quest to enter into the virtual directory market, but rather to leverage the technology to make their own products better. This tells me that they are pretty forward in their thinking of how to solve some common LDAP related issues that exist in many products on the market today. As Dave Kearns points out in this article, this is the same reason that many companies purchase these products. I believe this trend will continue, but what’s interesting to note is that as these vendors get swallowed up by the bigger vendors to solve their own internal issues, they are removing products from the market that are proving to be a vital part of the identity management technology stack. After this latest acquisition, Symlabs customers will be asking questions and perhaps seeking a replacement product. In order to ease this transition, Optimal IdM, will be making special offers to existing Symlabs customers to help them migrate to the Virtual Identity Server solution at a very low cost and no increase to their existing support expense. Stay tuned for more details or contact Sales for more information.
Extend AD FS 2.0 to leverage powerful features of a virtual directory with Virtual Identity Server Federation Services!March 10, 2011
After overwhelming requests from our clients and prospects, it’s finally here!! Yes, the Virtual Identity Server Federation Services™ (VIS Federation Services). VIS FS seamlessly integrates with AD FS 2.0 to extend AD FS 2.0’s powerful features to now include the ability to support authentications from multiple data repositories as well as support for multiple authentications methods (traditional forms-based as well as Windows Integrated and SSO from other Identity Management systems. Read the full Press Release here.
Any claims-aware application that supports AD FS 2.0 (such as SharePoint 2010 and Unified Access Gateway or UAG) can now leverage the powerful features of the Virtual Identity Server (Virtual Directory), without even knowing about VIS! Simply configure the claims-aware application to AD FS 2.0, then configure AD FS 2.0 to trust the new VIS FS STS, and that’s it!! For more details about this new product, please stop by our booth at The Experts Conference 2011 in Las Vegas April 17-20!
Have you ever used SharePoint and wished for a more flexible/powerful “People Picker”? Well, Optimal IdM has just released a fully customizable People Picker (the Optimal People Picker) for SharePoint that works in conjunction with its Virtual Identity Server for SharePoint product. This release will be included for free along with VIS for SharePoint, however, a stand-alone version of the Optimal People Picker will be released soon and will work with SharePoint 2010 when using Claims Authentication, but will not require VIS for SharePoint. Some of the powerful benefits and features include:
- Ability to search on multiple different attributes (not just the user id), at the same time
- Configurable list of attributes to return to user
- Ability to sort results
- Easy to use interface that includes a paged grid view
- Ability for administrators to apply various filters on the results based on group memberships (filtering based on RBAC)
- Ability for administrators to create search templates (for commonly used searches)
- Ability for administrators to apply different filters for permission searches
A year ago, Optimal IdM released a special version of its virtual directory just for SharePoint (VIS for SharePoint). At that time it was specifically for SharePoint 2007, and to date has be an overwhelming success. Our customers that are using the product have been raving about the simplicity of the product and the cost savings that have been realized.
Now with the upcoming release of SharePoint 2010, we have stayed on top of each release from Microsoft, including the most recent release candidate (SharePoint 2010 RC). We are pleased to say that VIS for SharePoint (2010 RC), is fully operational and we are looking to support the final version when it is released to market (which we hope will be soon).
As such, Optimal IdM remains the true leader in SharePoint deployments across multiple back-end data stores including:
- Multiple AD domains/forests (yes, with a single SharePoint deployment)
- Multiple LDAP types (AD, AD-LDS/ADAM, Sun, etc.)
- Multiple data sources (SQL, Oracle, etc.), which can be used to make SharePoint security decisions from
All of this in real-time or near real-time. Virtual Identity Server (VIS) is still the only true Microsoft centric and Microsoft friendly virtual directory vendor on the market. To learn more about our VIS for SharePoint integration, click here, or to watch a video of its powerfulness in action, click here.
This blog in part 2 of my previous blog “Top 10 Laws of a Virtual Direcctory (Part I)“. I will now cover Laws 6-10:
Law VI: A Virtual Directory MUST NOT have a large footprint: Optimal IdM’s Virtual Identity Server, for example, takes up less than 5 MB of disk space. If you add in the Compliance Management system and the SharePoint integration, it climbs to only 25 MB. The bottom line here is that VIS uses a single XML file for its configuration information, and relies on NO registry information to function (just a simple Windows service). For requirements, the 2.0 Framework (or higher), is all you need to go. Be careful of other solutions that require ugly JVM’s, and/or complicated configuration elements.
Law VII: A Virtual Directory MUST NOT be difficult to support: Optimal IdM’s Virtual Identity Server, runs on both Windows Server 2003 and Server 2008 in a single code-base. For this reason, VIS is easy to support. No worries of platform supportability here, in fact, VIS is officially certified on both Server 2003 and 2008 (including 64-bit).
Law VIII: A Virtual Directory MUST be a VALUE ADD: Since Virtual Directories are in essence LDAP Servers, there is an opportunity to make your LDAP experience “better”. LDAP V3 has been around since 1997 (that’s a lifetime it technology years). A Virtual Directory can provide features that should be built-into LDAP (perhaps standard one day in V4). We like to refer to VIS as “LDAP++”, because it improves the users experience around LDAP. (Watch for a future blog on LDAP++, or “LDAP on steroids”).
Law IX: A Virtual Directory MUST NOT introduce too many proprietary elements: A Virtual Directory should not introduce ANYTHING proprietary to your environment. That includes proprietary data stores, caching, ports, etc. Optimal IdM’s Virtual Identity Server, is complete WITHOUT any proprietary elements. Be careful of systems that include complex proprietary elements. (Complex & Proprietary = additional administration costs).
Law X: A Virtual Directory MUST NOT require custom coding: One of the most comment features of a Virtual Directory is handling joins and merges of data. If it’s so common, why do vendors require you to write custom code to handle it? How about caching? Same problem, some vendors requires custom development just to handle basic elements of virtualization. Optimal IdM’s Virtual Identity Server, is point-n-click for 99% of all features (with NO coding). However, extensibility is available and in a common in-expensive langue (.NET). Be careful of customization costs/efforts of other vendors and the language they require development in. All this time, I thought Python was a snake…. How many people actually know what “Python” is anyway?