Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
jpg
Clipboard01.jpg 219.8 kB 1 29-Dec-2020 05:25 Ada Csaba uru
png
Clipboard01.png 207.7 kB 1 29-Dec-2020 05:25 Ada Csaba
png
Notify_Locked_Account.png 4.7 kB 1 29-Dec-2020 05:25 Halmágyi Árpád
png
crushldapgroup1.png 68.3 kB 2 29-Dec-2020 05:25 Ben Spink
png
crushldapgroup2.png 40.8 kB 2 29-Dec-2020 05:25 Ben Spink
png
homedir0.png 16.4 kB 1 29-Dec-2020 05:25 Ada Csaba
png
homedir1.png 111.3 kB 2 29-Dec-2020 05:25 Ada Csaba
png
homedir2.png 134.0 kB 2 29-Dec-2020 05:25 Ada Csaba
png
ldapconn1.png 207.7 kB 1 29-Dec-2020 05:25 Ada Csaba
png
ldapconn2.png 50.6 kB 2 29-Dec-2020 05:25 Ada Csaba
png
ldapconn3.png 60.1 kB 2 29-Dec-2020 05:25 Ada Csaba
jpg
ldaplookupsettings1.jpg 66.1 kB 1 19-May-2021 18:08 Ada Csaba
png
mapping1.png 25.1 kB 1 29-Dec-2020 05:25 Ada Csaba
png
roles1.png 271.1 kB 3 29-Dec-2020 05:25 Ada Csaba
png
roles2.png 6.2 kB 1 29-Dec-2020 05:25 Ada Csaba
png
trblshoot1.png 144.8 kB 1 29-Dec-2020 05:25 Ada Csaba
png
trblshoot2.png 113.0 kB 1 29-Dec-2020 05:25 Ada Csaba
png
trblshoot3.png 230.8 kB 1 29-Dec-2020 05:25 Ada Csaba

This page (revision-72) was last changed on 18-Jul-2022 13:22 by Ada Csaba

This page was created on 29-Dec-2020 05:25 by Ben Spink

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 3 changed one line
The settings can br grouped into three major sections, based on functionality:
The settings can be grouped into three major sections, based on functionality:
At line 5 changed one line
!!Connectivity and user lookup
!!!1. Connectivity settings
At line 7 changed one line
[attachments|Clipboard01.png]
[attachments|ldapconn1.png]
At line 9 changed one line
__LDAP server URL, fully qualified user name and password__ of an LDAP account used for queries; the account needs read only access on the full LDAP tree.
LDAP server URL, fully qualified user name and password of an LDAP account used for queries.
The account needs read only access on the full LDAP tree.
At line 12 added one line
At line 13 changed one line
__Search base location__ needs to be pointed to the root of the LDAP tree or full path to some container OU. LDAP objects outside this path will not be visible to the plugin.
Multiple server URLs supported, for high availability, the plugin will round robin between these, need to enter those as comma separated list.
At line 15 changed one line
__Search filter__ needs to be some unique LDAP attribute name, like __sAMAccountName__ for plain username or __userPrincipalName__ for the user FQDN as allowed username format. We can also automatically round robin between these if the __On login, make two attempts...__ option is enabled. This field also allows more complex LDAP filter expressions , an example for enabled user accounts only
The plugin also allows multiple instances, this feature facilitates integration with different user domains or to have different configurations to catch a certain subset of users, etc. The query order is left to right, as the instances appear on the tab list. First successful hit allows login, we look for the user no further.
[attachments|ldapconn3.png]
Each plugin instance can restrict the allowed users to certain server ports or Sever Connection Groups
[attachments|ldapconn2.png]
!!!2. LDAP user lookup
!Search base location:
This field needs to be pointed to the root of the LDAP tree or full path to some container OU. LDAP objects outside this path will not be visible to the plugin.
!Search filter:
This field needs to contain some unique LDAP attribute name, like __sAMAccountName__ for plain username or __userPrincipalName__ for the user FQDN as allowed username format. We can also automatically round robin between these if the __On login, make two attempts...__ option is enabled. This field also allows more complex LDAP filter expressions , an example for enabled user accounts only
At line 33 added 18 lines
!Lookup parameters:
[{Image src='ldaplookupsettings1.jpg' width='..' height='..' align='left' style='..' class='..' }]
\\
;On login, make two attempts using username, and fully qualified username:try to look up the user by both it's FQDN and it's plain user name. This allows to log in by plain username (sAMAccountName) even if the __Search Filter__ is set to userPrincipalName
;Relay LDAP error message to user logging in:in case of access denied, show the LDAP error in the Webinterface or client application along with our standard error message
;Prefer simple username on login attempt:prioritize user lookup by it's sAMAcountName if the __Search Filter__ is set to anything else. With this flag set, on failure we'll make an attempt with simple username appended with the lookup admin user's domain suffix, v10 specific.
;Notify Locked Account:If an account becomes disabled or locked, this option triggers sending an email to the LDAP User's email address.
A special email template must be set up for this with the exact name of "LDAP_Locked_Account" on Preferences -> Email Templates page.
The "Email address cache" option had been removed from the GUI, a hidden setting now, default 30 minutes. This option prevents the server of sending multiple emails.
CrushFTP v10 can discern between LDAP error code 49 subtypes, the above method will provide meaningful feedback for subcode 52e, 773 and 775. The {user_ldap_last_error} server variable
can be used to reveal these in the notification email body.
;Allow reverse role lookup:validate role membership by checking the user's memberOf attribute against the roles list
;Allow forward role lookup:validate role membership by checking all roles' member attribute for the user DN
One of the role lookup methods is mandatory for role based lookup to work.
;Validate this plugin before calling other plugins:in case multiple integration plugins are linked together, call the LDAP plugin first ( for example in case of RADIUS & LDAP )
\\
!Roles and inheritance
Roles allow filtering on LDAP group membership. Each role has two options, a role filter and an optional role template field. Each role filter needs to be set a full LDAP path to a security group as of the user object's memberOf attribute value.
At line 20 changed one line
!!Home folder access
[attachments|roles1.png]
At line 22 changed one line
Most important, as the user will be denied login in case of an invalid home directory configuration.
A role template is a local CrushFTP user account for parenting group membership based inheritance. In case such a role template is assigned, all LDAP users member of this group will inherit settings from this account, including it's __VFS__ configuration; this can be used to grant per group based common working directories or local admin rights for example.
At line 24 removed one line
__LDAP used for authentication only__, if this option is enabled, the plugin will match the logging in user name against the local user database, in case of a successful match, the user is allowed to log in with it's LDAP password, and the user settings, including it's VFS configuration, is loaded from the local account. This method allows the most fine grained control over each LDAP integrated account, with the cost of being tedious, will need to create for each allowed user a matching account in User Manager (with blank or random password, since that will be ignored anyways).
At line 26 changed 2 lines
__LDAP or local home directory__ method is used if the above option is not enabled. The plugin will attempt to grant the user folder access to a path loaded from an LDAP attribute value or assign a local folder path. In this case __local__ doesn't necessarily means a local folder on the CrushFTP server host itself, we do support network share
access via UNC paths or any of the supported remote networking protocols based URLs (FTP, SMB, etc.).
A master template can also be designated , with instance wide scope
At line 29 changed one line
__HomeDirectory field__ , if this contains a valid LDAP attribute name, the plugin will attempt to grant access to the path contained by the attribute as it's value. In case of Microsoft Active DIrectory, this field should be set to __homeDirectory__, in case of Linux SLAPD, to __unixHomeDirectory__, etc. or any arbitrary LDAP attribute containing a single folder path or coma separated list of paths. To disable, set this field value to __NA__ (or any arbitrary value __not__ matching an LDAP attribute name).
[attachments|roles2.png]
At line 31 changed one line
__Use local folder if LDAP's HomeDirectory not found__ if this option is enabled, and loading a valid path as per above, failed, the plugin will attempt to grant local folder
!!!3. Home folder access
__IMPORTANT:__ the user will be denied login in case of an invalid home directory configuration or (local) home directory path not accessible.
\\
!LDAP used for authentication only
With this option if is enabled, the plugin will match the logging in user name against the local user database, in case of a successful match, the user is allowed to log in with it's LDAP password, and the user settings, including it's VFS configuration, is loaded from the local account. This method allows the most fine grained control over each LDAP integrated account, with the cost of being tedious, will need to create for each allowed user a matching account in User Manager __manually__ (with blank or random password, since that will be ignored anyways).
[attachments|homedir0.png]
!LDAP home directory or local home directory
This method is used if the above option is not enabled. The plugin will attempt to grant the user folder access to a path loaded from an LDAP attribute value or assign a local folder path. In this case __local__ doesn't necessarily means a local folder on the CrushFTP server host itself, we do support network share
access via UNC paths or any of the supported remote networking protocols based URLs (FTP, SMB, etc.).
!HomeDirectory field
If this contains a valid LDAP attribute name, the plugin will attempt to grant access to the path contained by the attribute as it's value. In case of Microsoft Active DIrectory, this field should be set to __homeDirectory__, in case of Linux SLAPD, to __unixHomeDirectory__, etc. or any arbitrary LDAP attribute containing a single folder path or coma separated list of paths. To disable, set this field value to __NA__ (or any arbitrary value __not__ matching an LDAP attribute name).
[attachments|homedir1.png]
!Use local folder if LDAP's HomeDirectory not found
In case this option is enabled, and loading a valid path as per above section config, failed, the plugin will attempt to grant local folder
At line 81 added 34 lines
A more advanced use case is to honor ACL permissions using an SMB:// URL and server variables to dynamically reference user credentials at login time
{{{
SMB3://INTRANET{backslash}{username}:{password}@srv11.intranet.local/SHAREROOT/
}}}
[attachments|homedir2.png]
The __Create additional subfolders in home directory :__ section instructs the plugin to automatically create a pre defined set of subfolders below the user's home directory root.
In stream PGP file Encryption and Sync can be configured using the __Advanced__ menu.
!!!4. Key mapping
This section allows mapping of LDAP attributes to local user parameters. Most common use case LDAP integration with SSH user public key based authentication.
In this case, an otherwise redundant LDAP field, __description__ was used to store the user public key path (or the key file content).\\
__IMPORTANT:__ LDAP user email address is automatically mapped behind the scenes. This works with most LDAP implementations, we do an implicit mapping of the LDAP user's __mail__attribute value to our specific __user_email__ user attribute. Need only to map manually in case of some non-standard LDAP implementations\\
[attachments|mapping1.png].
!!!Troubleshooting
There are separate test tools to validate connectivity and query account credentials
[attachments|trblshoot1.png]
user lookup and role based filtering
[attachments|trblshoot2.png]
and user login (without the need of the actual end user password, the test tool will fake a login based on user lookup and validate home folder access)
[attachments|trblshoot3.png]
\\
----
!!!AutoMap
LDAP for enterprise customers also supports "automap" feature for the groups. You configure a single role with the name "automap", and the groups that are found from the memberOf attribute (which must be in full DN notation). Then all groups the user is a member of are searched for in the User Manager to find a matching usermanager and they are assigned to them.
Version Date Modified Size Author Changes ... Change note
72 18-Jul-2022 13:22 9.15 kB Ada Csaba to previous
71 11-May-2022 06:20 9.048 kB Ben Spink to previous | to last
70 11-May-2022 06:19 9.03 kB Ben Spink to previous | to last
69 11-Nov-2021 20:19 8.662 kB Ada Csaba to previous | to last
68 11-Nov-2021 20:18 8.667 kB Ada Csaba to previous | to last
67 25-May-2021 06:23 8.525 kB Ada Csaba to previous | to last
66 25-May-2021 06:21 8.485 kB Ada Csaba to previous | to last
65 25-May-2021 06:20 8.479 kB Ada Csaba to previous | to last
64 19-May-2021 18:49 8.159 kB Ada Csaba to previous | to last
63 19-May-2021 18:43 8.074 kB Ada Csaba to previous | to last
62 19-May-2021 18:41 8.216 kB Ada Csaba to previous | to last
61 19-May-2021 18:39 8.231 kB Ada Csaba to previous | to last
« This page (revision-72) was last changed on 18-Jul-2022 13:22 by Ada Csaba
G’day (anonymous guest)
CrushFTP10 | What's New

Referenced by
LeftMenu

JSPWiki