Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| centos:ldaps-auth-nginx [18.07.2015 18:24. ] – [Konfiguration] django | centos:ldaps-auth-nginx [18.11.2024 19:09. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| In der Regel haben wir zur Verwaltung der Nutzerdaten ein Backendsystem zur Verwaltung im Einsatz. Im folgendem Konfigurationsbeispiel werden wir uns nun gegen einen vorhandenen **[[centos: | In der Regel haben wir zur Verwaltung der Nutzerdaten ein Backendsystem zur Verwaltung im Einsatz. Im folgendem Konfigurationsbeispiel werden wir uns nun gegen einen vorhandenen **[[centos: | ||
| - | Der Webserver **[[http:// | + | Der Webserver **[[http:// |
| - | * **http:// | + | * **http:// |
| <WRAP center round important 85%> | <WRAP center round important 85%> | ||
| Zeile 14: | Zeile 14: | ||
| ===== Konfiguration ===== | ===== Konfiguration ===== | ||
| + | Die Konfiguration der LDAPs Authentifikation beim Webserver [[http:// | ||
| - | /* | + | Sehen wir uns das an folgendem Beispiel genauer an. |
| + | # vim /etc/ | ||
| - | /etc/nginx/ | + | <file apache |
| - | ├── | + | # Definition für die Anbindung unseres |
| - | │ ├── | + | # OpenLDAP-Server für die Authentifikation des Users django |
| - | │ ├── default.conf | + | |
| - | │ ├── default.conf.geht | + | |
| - | │ └── ldap.conf.test | + | |
| - | ├── fastcgi_params | + | |
| - | ├── koi-utf | + | |
| - | ├── koi-win | + | |
| - | ├── mime.types | + | |
| - | ├── | + | |
| - | ├── scgi_params | + | |
| - | ├── uwsgi_params | + | |
| - | └── win-utf | + | |
| + | ldap_server ldap_group_1 { | ||
| + | url ldaps:// | ||
| + | binddn " | ||
| + | binddn_passwd " | ||
| + | group_attribute uniquemember; | ||
| + | group_attribute_is_dn on; | ||
| + | # | ||
| + | require user " | ||
| + | require user " | ||
| + | } | ||
| - | [root@vml000200 conf.d]# nginx -t | + | # Definition für die Anbindung unseres |
| - | nginx: [emerg] http_auth_ldap: | + | # OpenLDAP-Server für die Authentifikation des Users michael |
| - | nginx: configuration file /etc/ | + | ldap_server ldap_group_2 { |
| - | [root@vml000200 conf.d]# systemctl restart nginx | + | url ldaps://10.0.0.37:636/ou=People, |
| - | Job for nginx.service failed. See ' | + | |
| - | [root@vml000200 conf.d]# mv ../ | + | |
| - | [root@vml000200 conf.d]# | + | |
| - | [root@vml000200 conf.d]# nginx -t | + | |
| - | nginx: [emerg] http_auth_ldap: | + | |
| - | nginx: the configuration | + | }</file> |
| - | nginx: configuration file / | + | |
| + | <WRAP center round important 99%> | ||
| + | **Wichtig**: | ||
| + | Der Name der Konfigurationsdatei **1st_ldap.conf** wurde mit Absicht so gewählt, da **nginx** beim Starten die Dateien in alphabetischer Reihenfolge einliest. Die Definition des **ldap_server** **__muss__** vor dem verweisen der Serverkonfiguration erfolgen, andernfalls würde bei einem Test der Konfiguration, | ||
| + | # nginx -t | ||
| + | nginx: [emerg] http_auth_ldap: | ||
| + | nginx: configuration file / | ||
| + | </ | ||
| + | |||
| + | Nun können wir in der Serverkonfiguration auf die gerade eben angelegten **ldap_server** rückverweisen. | ||
| + | # vim / | ||
| + | |||
| + | <file apache / | ||
| + | # Django : 2015-05-28 | ||
| + | # auf welchem Port soll der Server lauschen (HTTP: 80)? | ||
| + | listen | ||
| + | |||
| + | # auf welchen Servernamen (vHOST) soll der Server reagieren? | ||
| + | server_name | ||
| + | |||
| + | # Welches Access- und Error-Logfile soll beschrieben werden? | ||
| + | access_log | ||
| + | error_log | ||
| + | |||
| + | # HTTP auf HTTPS mit Statuscode 301 "moved permanently" | ||
| + | return | ||
| + | } | ||
| + | |||
| + | |||
| + | server { | ||
| + | # Django : 2015-05-28 | ||
| + | # auf welchem Port soll der Server lauschen (HTTPS: 443)? | ||
| + | # neben TLS soll auch SPDY (http:// | ||
| + | # angeboten werden. | ||
| + | listen | ||
| + | |||
| + | # auf welchen Servernamen (vHOST) soll der Server reagieren? | ||
| + | server_name | ||
| + | |||
| + | # Welches Access- und Error-Logfile soll beschrieben werden? | ||
| + | access_log | ||
| + | error_log | ||
| + | |||
| + | # Standard-Parameter für TLS-Verschlüsselung inkludieren | ||
| + | include | ||
| + | # Zertifikatsdatei inkl. ggf. notwendiger Zwischen- und Root-Zertifikaten | ||
| + | # 1) Server-Zertifikat, | ||
| + | # 3) Root-Zertifikat der CA | ||
| + | ssl_certificate | ||
| + | # Schlüsseldatei, | ||
| + | ssl_certificate_key | ||
| + | |||
| + | # Zugriffe erst nach erfolreicher Authentifizierung gestatten | ||
| + | # Authentifikation des Benutzers django gegen den zentralen | ||
| + | # OpenLDAP-Verzeichnisdienst | ||
| + | auth_ldap | ||
| + | auth_ldap_servers | ||
| + | |||
| + | # Welcher Inhalt soll angezeigt bzw. auf welchen Server sollen | ||
| + | # die HTTP-Requests | ||
| + | # weitergeleitet werden? | ||
| + | root / | ||
| + | index | ||
| + | |||
| + | location ~ \.php { | ||
| + | fastcgi_split_path_info ^(.+\.php)(/ | ||
| + | fastcgi_index | ||
| + | fastcgi_param | ||
| + | include | ||
| + | } | ||
| + | |||
| + | location ~* ^/ | ||
| + | expires | ||
| + | root / | ||
| + | allow all; | ||
| + | } | ||
| + | |||
| + | location ~ icons { | ||
| + | allow all; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 99%> | ||
| + | **Achtung**: | ||
| + | |||
| + | Prüft man mit Hilfe des Befehls **nginx -t** die Konfiguration, | ||
| + | # nginx -t | ||
| + | |||
| + | nginx: [emerg] http_auth_ldap: | ||
| + | nginx: [emerg] http_auth_ldap: | ||
| + | nginx: [emerg] http_auth_ldap: | ||
| + | nginx: the configuration file / | ||
| + | nginx: configuration file / | ||
| + | |||
| + | Dies ist ein __[[https:// | ||
| + | </ | ||
| + | |||
| + | Damit unsere Änderungen aktiv werden bedarf es noch eines reloads unseres HTTP-Deamon. | ||
| + | # systemctl reload nginx.service | ||
| + | |||
| + | <WRAP center round important> | ||
| + | **WICHTIG: | ||
| + | Damit die Anmeldedaten nicht von Dritten mitgelesen und abgefischt werden können, nutzen wir natürlich einen SSL-geschützten vHOST! | ||
| + | </ | ||
| + | ===== Test ===== | ||
| + | Der Webserver wird nun den Zugang erst gestatten, sobald die Daten richtig eingegeben wurden. | ||
| + | {{ : | ||
| - | */ | + | Wird über den Menüpunkt |
| - | FIXME | ||