Security improvements
This commit is contained in:
parent
b60024a970
commit
d364261db8
44
README.md
44
README.md
|
|
@ -112,7 +112,7 @@ http {
|
||||||
}
|
}
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
If the authentication server runs Active Directory rather than OpenLDAP, uncomment the following directive as shown:
|
If the authentication server runs Active Directory rather than OpenLDAP, set the following directive as shown:
|
||||||
```
|
```
|
||||||
proxy_set_header X-Ldap-Template "(sAMAccountName=%(username)s)";
|
proxy_set_header X-Ldap-Template "(sAMAccountName=%(username)s)";
|
||||||
```
|
```
|
||||||
|
|
@ -121,51 +121,53 @@ In addition, the **X-Ldap-Template** header can be used to create complex LDAP s
|
||||||
|
|
||||||
Suppose, your web resource should only be available for users from `group1` group.
|
Suppose, your web resource should only be available for users from `group1` group.
|
||||||
In such a case you can define `X-Ldap-Template` template as follows:
|
In such a case you can define `X-Ldap-Template` template as follows:
|
||||||
```
|
```nginx
|
||||||
proxy_set_header X-Ldap-Template "(&(cn=%(username)s)(memberOf=cn=group1,cn=Users,dc=example,dc=com))";
|
proxy_set_header X-Ldap-Template "(&(cn=%(username)s)(memberOf=cn=group1,cn=Users,dc=example,dc=com))";
|
||||||
```
|
```
|
||||||
|
|
||||||
The search filters can be combined from less complex filters using boolean operations and can be rather complex.
|
The search filters can be combined from less complex filters using boolean operations and can be rather complex.
|
||||||
|
|
||||||
The reference implementation uses cookie-based authentication. If you are using HTTP basic authentication instead, comment out the following directives as shown:
|
The reference implementation uses cookie-based authentication. If you are using HTTP basic authentication instead, set the following directives to have an empty value, as shown:
|
||||||
|
|
||||||
<pre>
|
```nginx
|
||||||
<strong>#</strong>proxy_set_header X-CookieName "nginxauth";
|
proxy_set_header X-CookieName "";
|
||||||
<strong>#</strong>proxy_set_header Cookie nginxauth=$cookie_nginxauth;
|
proxy_set_header Cookie "";
|
||||||
</pre>
|
```
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
### Caching
|
### Caching
|
||||||
|
|
||||||
The **nginx-ldap-auth.conf** file enables caching of both data and credentials. To disable caching, comment out the four `proxy_cache*` directives as shown:
|
The **nginx-ldap-auth.conf** file enables caching of both data and credentials. To disable caching, comment out the four `proxy_cache*` directives as shown:
|
||||||
<pre>
|
```nginx
|
||||||
http {
|
http {
|
||||||
...
|
...
|
||||||
<strong>#</strong>proxy_cache_path cache/ keys_zone=auth_cache:10m;
|
#proxy_cache_path cache/ keys_zone=auth_cache:10m;
|
||||||
...
|
...
|
||||||
server {
|
server {
|
||||||
...
|
...
|
||||||
location = /auth-proxy {
|
location = /auth-proxy {
|
||||||
<strong>#</strong>proxy_cache auth_cache;
|
#proxy_cache auth_cache;
|
||||||
# note that cookie is added to cache key
|
# note that cookie is added to cache key
|
||||||
<strong>#</strong>proxy_cache_key "$http_authorization$cookie_nginxauth";
|
#proxy_cache_key "$http_authorization$cookie_nginxauth";
|
||||||
<strong>#</strong>proxy_cache_valid 200 10m;
|
#proxy_cache_valid 200 10m;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</pre>
|
```
|
||||||
|
|
||||||
### Optional LDAP Parameters
|
### Optional LDAP Parameters
|
||||||
|
|
||||||
If you want to change the value for the `template` parameter that the ldap-auth daemon passes to the OpenLDAP server by default, uncomment the following directive as shown, and change the value:
|
If you want to change the value for the `template` parameter that the ldap-auth daemon passes to the OpenLDAP server by default, set the following directive as shown, and change the value:
|
||||||
<pre>
|
```nginx
|
||||||
proxy_set_header X-Ldap-Template "<strong>(cn=%(username)s)</strong>";
|
proxy_set_header X-Ldap-Template "(cn=%(username)s)";
|
||||||
</pre>
|
```
|
||||||
|
|
||||||
If you want to change the realm name from the default value (**Restricted**), uncomment and change the following directive:
|
If you want to change the realm name from the default value (**Restricted**), set the following directive:
|
||||||
<pre>
|
```nginx
|
||||||
proxy_set_header X-Ldap-Realm "<strong>Restricted</strong>";
|
proxy_set_header X-Ldap-Realm "Restricted";
|
||||||
</pre>
|
```
|
||||||
|
|
||||||
|
> **Note:** All LDAP parameters must have a value, even optional ones. Use the empty string (`""`) for unused parameters (do not comment).
|
||||||
|
|
||||||
### Authentication Server
|
### Authentication Server
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue