1 1.1 christos .lf 1 stdin 2 1.1 christos .TH SLAPO-REMOTEAUTH 5 "2025/05/22" "OpenLDAP 2.6.10" 3 1.1 christos .\" Copyright 1998-2024 The OpenLDAP Foundation, All Rights Reserved. 4 1.1 christos .\" Copying restrictions apply. See the COPYRIGHT file. 5 1.1 christos .\" $OpenLDAP$ 6 1.1 christos .SH NAME 7 1.1 christos slapo-remoteauth \- Delegate authentication requests to remote directories, e.g. Active Directory 8 1.1 christos .SH SYNOPSIS 9 1.1 christos /etc/openldap/slapd.conf 10 1.1 christos .SH DESCRIPTION 11 1.1 christos The 12 1.1 christos .B remoteauth 13 1.1 christos overlay to 14 1.1 christos .BR slapd (8) 15 1.1 christos provides passthrough authentication to remote directory servers, e.g. 16 1.1 christos Active Directory, for LDAP simple bind operations. The local LDAP entry 17 1.1 christos referenced in the bind operation is mapped to its counterpart in the remote 18 1.1 christos directory. An LDAP bind operation is performed against the remote directory 19 1.1 christos and results are returned based on those of the remote operation. 20 1.1 christos .LP 21 1.1 christos A slapd server configured with the 22 1.1 christos .B remoteauth 23 1.1 christos overlay handles an authentication request based on the presence of 24 1.1 christos .B userPassword 25 1.1 christos in the local entry. If the 26 1.1 christos .B userPassword 27 1.1 christos is present, authentication is performed locally, otherwise the 28 1.1 christos .B remoteauth 29 1.1 christos overlay performs the authentication request to the configured remote directory 30 1.1 christos server. 31 1.1 christos .LP 32 1.1 christos 33 1.1 christos .SH CONFIGURATION 34 1.1 christos 35 1.1 christos The following options can be applied to the 36 1.1 christos .B remoteauth 37 1.1 christos overlay within the slapd.conf file. All options should follow the 38 1.1 christos .B overlay remoteauth 39 1.1 christos directive. 40 1.1 christos 41 1.1 christos .TP 42 1.1 christos .B overlay remoteauth 43 1.1 christos This directive adds the 44 1.1 christos .B remoteauth 45 1.1 christos overlay to the current database, see 46 1.1 christos .BR slapd.conf (5) 47 1.1 christos for details. 48 1.1 christos 49 1.1 christos .TP 50 1.1 christos .B remoteauth_dn_attribute <dnattr> 51 1.1 christos Attribute in the local entry that is used to store the bind DN to a remote 52 1.1 christos directory server. 53 1.1 christos 54 1.1 christos .TP 55 1.1 christos .B remoteauth_mapping <domain> <hostname|LDAP URI|file:///path/to/list_of_hostnames> 56 1.1 christos For a non-Windows deployment, a domain can be considered as a collection of 57 1.1 christos one or more hosts to which slapd server authentcates against on behalf of 58 1.1 christos authenticating users. 59 1.1 christos For a given domain name, the mapping specifies the target server(s), 60 1.1 christos e.g., Active Directory domain controller(s), to connect to via LDAP. 61 1.1 christos The second argument can be given either as a hostname, an LDAP URI, or a file 62 1.1 christos containing a list of hostnames/URIs, one per line. The hostnames are tried in 63 1.1 christos sequence until the connection succeeds. 64 1.1 christos 65 1.1 christos This option can be provided more than once to provide mapping information for 66 1.1 christos different domains. For example: 67 1.1 christos 68 1.1 christos .nf 69 1.1 christos remoteauth_mapping americas file:///path/to/americas.domain.hosts 70 1.1 christos remoteauth_mapping asiapacific file:///path/to/asiapacific.domain.hosts 71 1.1 christos remoteauth_mapping emea emeadc1.emea.example.com 72 1.1 christos .fi 73 1.1 christos 74 1.1 christos .TP 75 1.1 christos .B remoteauth_domain_attribute <attr> 76 1.1 christos Attribute in the local entry that specifies the domain name, any text after 77 1.1 christos "\\" or ":" is ignored. 78 1.1 christos 79 1.1 christos .TP 80 1.1 christos .B remoteauth_default_domain <default domain> 81 1.1 christos Default domain. 82 1.1 christos 83 1.1 christos 84 1.1 christos .TP 85 1.1 christos .B remoteauth_default_realm <server> 86 1.1 christos Fallback server to connect to for domains not specified in 87 1.1 christos .BR remoteauth_mapping . 88 1.1 christos 89 1.1 christos .TP 90 1.1 christos .B remoteauth_retry_count <num> 91 1.1 christos Number of connection retries attempted. Default is 3. 92 1.1 christos 93 1.1 christos .TP 94 1.1 christos .B remoteauth_store <on|off> 95 1.1 christos Whether to store the password in the local entry on successful bind. Default is 96 1.1 christos off. 97 1.1 christos 98 1.1 christos .HP 99 1.1 christos .hy 0 100 1.1 christos .B remoteauth_tls 101 1.1 christos .B [starttls=yes] 102 1.1 christos .B [tls_cert=<file>] 103 1.1 christos .B [tls_key=<file>] 104 1.1 christos .B [tls_cacert=<file>] 105 1.1 christos .B [tls_cacertdir=<path>] 106 1.1 christos .B [tls_reqcert=never|allow|try|demand] 107 1.1 christos .B [tls_reqsan=never|allow|try|demand] 108 1.1 christos .B [tls_cipher_suite=<ciphers>] 109 1.1 christos .B [tls_ecname=<names>] 110 1.1 christos .B [tls_crlcheck=none|peer|all] 111 1.1 christos .RS 112 1.1 christos Remoteauth specific TLS configuration, see 113 1.1 christos .BR slapd.conf (5) 114 1.1 christos for more details on each of the parameters and defaults. 115 1.1 christos .RE 116 1.1 christos 117 1.1 christos .TP 118 1.1 christos .B remoteauth_tls_peerkey_hash <hostname> <hashname>:<base64 of public key hash> 119 1.1 christos Mapping between remote server hostnames and their public key hashes. Only one 120 1.1 christos mapping per hostname is supported and if any pins are specified, all hosts 121 1.1 christos need to be pinned. If set, pinning is in effect regardless of whether or not 122 1.1 christos certificate name validation is enabled by 123 1.1 christos .BR tls_reqcert . 124 1.1 christos 125 1.1 christos .SH EXAMPLE 126 1.1 christos A typical example configuration of 127 1.1 christos .B remoteauth 128 1.1 christos overlay for AD is shown below (as a 129 1.1 christos .BR slapd.conf (5) 130 1.1 christos snippet): 131 1.1 christos 132 1.1 christos .LP 133 1.1 christos .nf 134 1.1 christos database <database> 135 1.1 christos #... 136 1.1 christos 137 1.1 christos overlay remoteauth 138 1.1 christos remoteauth_dn_attribute seeAlso 139 1.1 christos remoteauth_domain_attribute associatedDomain 140 1.1 christos remoteauth_default_realm americas.example.com 141 1.1 christos 142 1.1 christos remoteauth_mapping americas file:///home/ldap/etc/remoteauth.americas 143 1.1 christos remoteauth_mapping emea emeadc1.emea.example.com 144 1.1 christos 145 1.1 christos remoteauth_tls starttls=yes tls_reqcert=demand tls_cacert=/home/ldap/etc/example-ca.pem 146 1.1 christos remoteauth_tls_peerkey_hash ldap.americas.tld sha256:Bxv3MkLoDm6gt/iDfeGNdNNqa5TTpPDdIwvZM/cIgeo= 147 1.1 christos .fi 148 1.1 christos 149 1.1 christos Where seeAlso contains the AD bind DN for the user, associatedDomain contains the 150 1.1 christos Windows Domain Id in the form of <NT-domain-name>:<NT-username> in which 151 1.1 christos anything following, including ":", is ignored. 152 1.1 christos 153 1.1 christos .SH SEE ALSO 154 1.1 christos .BR slapd.conf (5), 155 1.1 christos .BR slapd (8). 156 1.1 christos 157 1.1 christos .SH Copyrights 158 1.1 christos Copyright 2004-2024 The OpenLDAP Foundation. 159 1.1 christos Portions Copyright 2004-2017 Howard Chu, Symas Corporation. 160 1.1 christos Portions Copyright 2017-2021 Ondej Kuznk, Symas Corporation. 161 1.1 christos Portions Copyright 2004 Hewlett-Packard Company 162