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 | ||