Using LDAP to enroll macOS/iOS/Android devices
Use this document if you are trying to point your enrollment of device to directory services (Active Directory, Open Directory, eDirectory or OpenLDAP). This is used for Android Device and well as iOS devices or macOS devices enrolling OTA (over the air) as well as Apple's DEP (Device Enrollment Program) enrollment for both iOS and macOS devices.
This process consists of:
1- Backing up the current config
2- Editing a new config file to properly read the LDAP structure
3- Restarting the Apache Process so it reads the new config file
Getting the files ready
Open a Terminal Window or use SSH to get into the computer running FileWave Server
Gain root credentials
Enter your login password
OS X / Linux: |
cd /usr/local/filewave/apache/conf/ |
Backup your current mdm_auth.conf by making a copy
Make a copy of the LDAP example and rename it
Making the changes
Open it up using your preferred text editor (nano mdm_auth.conf or vi mdm_auth.conf).
it will look like this:
The different sections correspond with the different enrollment URLs.
For example, if my servers hostname was server.filewave.com:
mdm_auth.conf
URL | Use |
https://server.filewave.com:20443/ios/enroll | Over the air enrollment portal |
https://server.filewave.com:20443/ios/dep_enrollment_profile | URL iOS or macOS Devices request when a DEP device is enrolling. This URL is not accessible from a normal browser. |
https://server.filewave.com:20443/android/enroll | Downloading the APK FileWave Client |
https://server.filewave.com:20443/android/project_number | Used by the FileWave Android client to talk to server |
Open Directory & eDirectory
OD (by default) does not require a user to authenticate to read the structure.
You will not need to uncomment the bind options.
AuthName - The title of the login window
AuthLDAPURL - Where and what groups are allowed to login and there for enroll. The example above would allow anyone in the 'Users' group to enroll a device.
Make the appropriate changes and then save the .conf
Active Directory
AD (by default) requires you bind to the directory to read. Many people create a read-only directory account.
AuthName - The title of the login window
AuthLDAPURL - Where and what groups are allowed to login and there for enroll. The example above would allow anyone in the 'Users' group to enroll a device.
AuthLDAPBindDN - From specific to most general. Username, what group that is in, what group (or organizational unit) that group is in, and the server. The example above would allow the user 'TestDir Reader' who is in the group 'User' who is in the Org Unit 'IT' on the Active Directory server of ad-ldap.filewave.com to bind.
AuthLDAPBindPassword - Password for user account being used to bind to AD.
Make the appropriate changes and then save the .conf
Restarting Apache
Once saved, restart the FileWave Apache process/service
OS X / Linux: |
/usr/local/filewave/apache/bin/apachectl graceful |
Now when a device attempts to enroll (by pressing the Enroll Device option on the site). They will be prompted to enter their username and password from the directory server.
Using several authentication sources for the same enrollment type
When we want to use several authentication sources (not nested locations) , we need to use AuthnProviderAlias sections to define those sources. The same format for binding to a single source ( see above ) apply for configuring each AuthnProviderAlias section , as in the following example
At the start of the file we define an alias by using:
Then below that you specify the location and call for the alias
A final MDM_auth.conf would look something like this:
Troubleshooting tips
Take a look at the log files for apache:
OS X / Linux: |
<br>/usr/local/filewave/apache/logs/error_log<br> <br> |
Below are some sample errors and what they typically mean.
NOT Bound:
Bound but user entered info wrong OR ldap url pointed to wrong group:
Bound w/ Bad User
Could be Bound or not but not filtering by the correct ?uid ?sAMAccountName at end of URL (?UID is an OD or eDir, AD is typically ?sAMAccountName)
Something wrong in the mdm_auth.conf file. Like AuthzLDAPAuthoritative isn't off or shoudn't be there.
Recursive issues
Does it appear that your server only looks at the one group/unit pointed to and not sub-groups? try adding ?sub at the end of your AuthLDAPURL lines:
Always feel free to contact support for further assistance.
No Comments