LDAP Authentication on Windows Server
Starting in 3.6, ProVision supports LDAP authentication (including Windows Server!). To setup an LDAP server for authentication, you must perform the following procedures:
You should confirm these steps with your LDAP admin - the purpose of this walkthrough is to provide some level of detail on how to extend LDAP functionality to support integration with an application like ProVision.
Step 1: Prepare to extend the Schema (http://technet.microsoft.com/en-us/library/cc961754.aspx)
This is not a minor operation and requires interaction with various control modification areas of Windows Server:
Step 2: Decide on method for Installing/executing Schema Extensions (http://technet.microsoft.com/en-us/library/cc961742.aspx)
If you have already used other AD integrations, this should be straightforward. We recommend using the LDIF script method
Step 3: Add and Modify a Schema Object (http://technet.microsoft.com/en-us/library/cc961575.aspx)
To add a new attribute to the schema, you first have to create a attribute object. The you will need to complete the following steps:
Microsoft has released a script that can generate an Object Identifier (OID): https://gallery.technet.microsoft.com/scriptcenter/56b78004-40d0-41cf-b95e-6e795b2e8a06 |
attributetype (1.3.6.1.4.1.5023215.2.3.21 NAME 'sixConnGroup' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) objectclass ( 1.3.6.1.4.1.5023215.2.4.2 NAME 'sixConnectPermissionsV2' DESC '6Connect Permissions Object v2' SUP top AUXILIARY MUST ( sixConnGroup ) ) |
SSH into your openLDAP server and create a new 'ldif' file. Example:
dn: cn=JoeSmith,ou=people,dc=6connect,dc=com cn: JoeSmith sn: JoeSmith objectclass: top objectclass: person objectclass: sixConnectPermissionsV2 sixConnGroup: "Global Admins" sixConnGroup: "IT Engineering" sixConnGroup: "Sales" sixConnGroup: "Customer Admin" userPassword: testpass |
To create a new user, make a new ldif file and change all instances of "JoeSmith" to whatever username you wish to create and update the password. Keep all of the object class definitions as listed above. Add a sixConnGroup declaration for each ProVision user group a user is in.
After the file is created, run the following command to add the new user to LDAP server:
ldapadd -h [SERVER] -x -f [LDIF FILE] -D [ROOTDN] -w [ROOT PW] -v |
Example:
ldapadd -h localhost -x -f 6connect.ldif -D "cn=Manager,dc=6connect,dc=com" -w secret -v |
The user will now be active in openLDAP and can be used to login to ProVision.
To query the LDAP server, run the following command on any server which has openLDAP enabled:
ldapsearch -b [BASE] -h [IPADDRESS] -D [DOMAIN] -w [PASSWORD] [USER] |
Note: We have not been able to use a v6 address at with this tool, even though multiple sources say it should work.
At the end of the command where [USER] is specified, user or groups can be used (in LDAP format) to query.
Example:
ldapsearch -b "dc=6connect,dc=com" -h 50.240.195.129 -D "cn=Mayor,ou=people,dc=6connect,dc=com" -w testpass "cn=MajorMiner" |
To configure the use of LDAP authentication with ProVision, follow the steps below.
Example values in this case would be:
In the login screen, you would select the authentication method from the dropdown. If you like, you can set the default login option in the following way: Go to the /data/globals.php and open in vi (or other editor). Add in the following text as the last line of the file (before the closing ?>) define('DEFAULT_LOGIN_TYPE', 'radius'); |
To use SSL encryption with LDAP, the ldap.conf file must be correctly configured on the ProVision server. |
To add or update LDAP settings, go to the Settings Tab → Admin to enter the Admin area of ProVision.
Then, click the "Authentication" sub-tab at the top of the Admin Settings page, and select "LDAP" from the "Authentication Options" module.
Enter or update the following settings:
When done, you may optionally click "Test Server" to verify the connection to the LDAP server with the entered settings, then "Save Changes".