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:
...
Table of Contents |
---|
Configuring the LDAP functions on your Windows Server
...
- Select a name for the attribute (ProVision assumes that the name will be 'sixConnGroup')
- Get a valid Object Identifier (OID) from an issuing authority (http://msdn.microsoft.com/en-us/library/ms677620.aspx)
Info title Generate an Object Identifier Microsoft has released a script that can generate an Object Identifier (OID): https://gallery.technet.microsoft.com/scriptcenter/56b78004-40d0-41cf-b95e-6e795b2e8a06
- Document the attribute syntax
- Confirm that the attribute should be single-value
- Confirm the attribute indexing behavior
- Decide if the attribute needs to be distributed to the Global Catalog
LDAP Schema - Example
Code Block |
---|
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 ) ) |
LDAP User Example
SSH into your openLDAP server and create a new 'ldif' file. Example:
...
The user will now be active in openLDAP and can be used to login to ProVision.
Test the LDAP Server
To query the LDAP server, run the following command on any server which has openLDAP enabled:
Code Block |
---|
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:
Code Block | ||
---|---|---|
| ||
ldapsearch -b "dc=6connect,dc=com" -h 50.240.195.129 -D "cn=JoeSmithMayor,ou=people,dc=6connect,dc=com" -w testpass "cn=JoeSmithMajorMiner" |
Configure ProVision for LDAP Authentication
To configure the use of LDAP authentication with ProVision, follow the steps below.
- Log into 6connect ProVision
- Go to Settings Tab → Admin
...
- Settings -> Authentication
- Select "LDAP" under "Authentication Options"
...
- Move the LDAP Enable
...
- selector to the "ON" position.
- Fill in the hostname or ip address, authentication port, LDAP Security, Auth DN, Fetch DN, and Filter DN.
- Optionally, enter the LDAP Username and Password in order to allow ProVision to import LDAP Contacts and sync LDAP contact information (see: Contact Manager)
- Click "Save Changes".
Example values in this case would be:
- LDAP Enable: (Checked) Fetch DN. An example is below:
- LDAP Server Address:
...
- 52.240.195.12
- LDAP Port:
...
- 389 ( or SSL/TLS port is 636)
- LDAP Security:
...
- None
- LDAP Auth DN:
...
- cn=%LOGIN%,ou=people,dc=6connect,dc=com
- LDAP Fetch DN:
...
- cn=%LOGIN%
...
- LDAP Filter DN: cn=%LOGIN%
Note | ||
---|---|---|
| ||
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'); |
Note | ||
---|---|---|
| ||
To use SSL encryption with LDAP, the ldap.conf file must be correctly configured on the ProVision server. |
Add or Update LDAP Settings
To add or update LDAP settings, go to the Settings Tab → Admin to enter the Admin area.
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:
- LDAP Enable: check the box to enable LDAP functionality.
- LDAP Server Address: Set the IP address of your LDAP server.
- LDAP Port: Set the port for your LDAP server
- LDAP Security: Select the security method of your LDAP server - SSL, TLS or None
- LDAP Auth DN/Fetch DN/Filter DN: These strings are used to first authentication the 6connect user and then to retrieve their permissions. The string '%LOGIN%' should be inserted in place of the user's common name both strings. (ex: cn=%LOGIN%,ou=people,dc=6connect,dc=com)
- LDAP Group Attribute: If using an internal list of user groups instead of 6connect groups, enter the attribute name for the LDAP groups here. If a Group Attribute is set, it will be used first, otherwise the 6connect schema will be used.
- LDAP Username / LDAP Password: Optionally, you may enter LDAP admin credentials to allow ProVision to import and sync LDAP contacts. See Contact Manager for details on LDAP contacts.
- Mapping Permissions to 6connect schema: To integrate 6connect permissions with your existing directory structure then you will need the 6connect schema. It should snap in with any existing LDAP structure and allow you to assign 6connect permissions to your existing users. You can download a copy of the schema from this section.
Expand | ||
---|---|---|
| ||
Once at least one LDAP server has been added, a list will appear at the top of the Radius module. Add an additional Radius server by clicking "Add new server". ProVision will try to connect to each server listed in the order listed, until a success is returned. Disabled servers will display in grey, and the currently selected server will display in bold. |
When done, click "Save Changes".