Archive for the ‘LDAP’ Category

Virtual Directory as an API

July 20, 2013

In only a few years, we have gone from the “new kids on the block” to leader in the industry as the only vendor to actually be creating innovation in the space and we are not done yet.  A bit overshadowed by our Best of TechEd win, Optimal IdM quietly announced back in June that we now offer our award winning Virtual Directory as an API!  “Virtual Identity Server Framework”, is a .NET API that allows developers to fully embed the power of a Virtual Directory directly into their applications.  This removes the additional layer that is traditionally present when connecting to a Virtual Directory.  Now, you can perform all of the typical LDAP operations easily and efficiently.  Authenticating users, LDAP searches, modifies, deletes, adds, compares, etc. all as simple as 1 line of code and without the developer needing to know much about LDAP.

The possibilities become endless with how quickly we can roll out new supporting elements with the API, such as being able to expose VIS to web services (SOAP, REST, WCF, etc.) or being able to now leverage VIS directly from PowerShell.  That’s right as part of this rollout we have used this API to build PowerShell Cmdlets that once again bring the full power of VIS now into PowerShell scripting.

Extending ADFS to Multiple Identity and Attribute Stores (Part 2 of 2: The Tough Questions)

June 9, 2012

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.

 

For more information on the Optimal IdM VIS Federation Services, go here.

Virtual Identity Server for Office 365

May 5, 2012

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)
  • Auditing
  • 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…

Extending ADFS to Multiple Identity and Attribute Stores (Part 1 of 2: The Basics)

April 17, 2012

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.

Reducing SharePoint complexity and cost

March 13, 2010

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.

Top 10 Laws of a Virtual Directory (Part II)

September 14, 2009

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?

Top 10 Laws of a Virtual Directory (Part I)

September 10, 2009

As more and more people are learning about Virtual Directories, they are asking better questions, so I decided to address them in my “Top 10 Laws of a Virtual Directory”.  This blog is Part I (Laws 1-5).  Stay tuned for Part II (Laws 6-10).

Law I:  A Virtual Directory MUST REDUCE complexity:  If you find your Virtual Directory deployment seeming to be somewhat complicated, then you either:

  • Selected the Wrong Virtual Directory vendor
  • Did not implement the solution correctly
  • Both of the above

Law II:  A Virtual Directory MUST NOT create more issues than it solves:  Yes, there are Virtual Directories on the market that set out to solve problem “x”, but in turn while doing so, create problems “y” (and sometimes “z”).

Law III:  A Virtual Directory SHOULD NOT be asked to solve ALL identity related issues:  For some odd reason, people feel the need to “compare” Virtual Directories with synchronization or federation, then saying which is better.  Each has its own pros and cons and should be used in the right situation.  There is no “silver bullet”, especially in the Identity Management space.

Law IV:  A Virtual Directory SHOULD NOT take long to deploy:  When selecting the right Virtual Directory for you, be careful if you are using a System Integrator (SI).  VIS can be deployed in as little as a few hours and normally no more than a few days (depending on the span of the project).  SI’s are only after deploying (and therefore recommending) products that increase their billable time.  They are often times NOT interested (i.e. incentives), on necessarily recommending the “best” solution for a given client.  Sad, but true.

Law V:  A Virtual Directory SHOULD NOT increase administration costs:  A Virtual Directory that requires you to hire more people just to manage/maintain it…is a bad choice.  In actuality, a “good” Virtual Directory (like VIS of course), should effectively “decrease” administration costs.  VIS does this through compliance and automation elements that are built into the product.  Another example is the tight integration that VIS has with SharePoint.  Don’t be afraid to ask your vendor (and their references) how much administration is needed.

Please watch for Part II in this series for Laws 6-10…