{"id":7,"date":"2011-03-16T21:35:34","date_gmt":"2011-03-16T19:35:34","guid":{"rendered":"http:\/\/it-consulting.sandland.de\/?p=7"},"modified":"2014-05-22T21:42:18","modified_gmt":"2014-05-22T19:42:18","slug":"apache-authentifizierung-via-adldap","status":"publish","type":"post","link":"https:\/\/it-consulting.sandland.de\/?p=7","title":{"rendered":"Apache Authentifizierung via AD\/LDAP"},"content":{"rendered":"<p>Manchmal m\u00f6chte man eine Webanwendung (in diesem Beispiel das Nagios Webinterface) absichern. Manchmal sogar mittels einem Active Directory im Hintergrund, was dann den sch\u00f6nen Vorteil hat, dass Benutzer sich nicht nochmal neue Benutzernamen und Passw\u00f6rter merken m\u00fcssen.<\/p>\n<p>Mit dem Modul authnz_ldap geht das ganz gut.<\/p>\n<p>Noch besser: Man kann sogar die verschiedenen Authentifizierungsarten mischen, also Passworddatei und AD (bzw. LDAP).<\/p>\n<p>Mit folgender Konfiguration ist mir dies gelungen:<\/p>\n<p>In der Datei \/etc\/apache2\/conf.d\/nagios.conf steht:<\/p>\n<p>AuthName &#8222;Nagios Access&#8220;<br \/>\nAuthType Basic<br \/>\n# Neue AD-Authentication (SSO), 13.1.2011, Dietmar Schurr<br \/>\nAuthBasicProvider file ldap<br \/>\nAuthBasicAuthoritative off<br \/>\nAuthzLDAPAuthoritative off<br \/>\nAuthLDAPURL &#8222;ldap:\/\/meinadserver.beispiel.com:389\/OU=Company,DC=Abteilung,DC=intra?cn?sub?objectClass=*&#8220;<br \/>\nAuthLDAPBindDN &#8222;CN=ldapuser,OU=Abteilung,DC=Company&#8220;<br \/>\nAuthLDAPBindPassword &#8222;passwort&#8220;<br \/>\nAuthUserFile \/etc\/nagios\/htpasswd.users<br \/>\nRequire valid-user<\/p>\n<p>Erl\u00e4uterung:<br \/>\nMit der Zeile AuthBasicProvider file ldap wird festgelegt, da\u00df zwei M\u00f6glichkeiten zur Authentifizierung zugelassen sind, n\u00e4mlich file und ldap.<br \/>\nMit den zwei folgenden Zeilen wird festgelegt, dass keine davon exklusiv greift, d.h. wird ein Benutzer nicht in file gefunden wird er in ldap gesucht und umgekehrt. Die folgenden drei Zeilen legen fest wie sich Apache mit LDAP verbindet (AuthLDAPURL). Dazu ist ein Benutzer (AuthLDAPBindDN) mit einem Passwort (AuthLDAPBindPassword) erforderlich. Mit der Zeile AuthUserFile \/etc\/nagios\/htpasswd.users wird Apache mitgeteilt, in welcher Datei Benutzerdaten liegen.<br \/>\nSomit l\u00e4sst sich also eine Authentifizierung \u00fcber eine Passwortdatei parallel zur Authentifizierung mittels Active Directory (AD) erreichen. Weitere Informationen finden sich unter den beiden folgenden Links: Apache-Doku und Apache Linux Tutorial<br \/>\nDiese Konfiguration kommt ggf. mehrfach in folgenden Dateiein vor: nagios.conf, nagios-pnp.conf und nagvis.conf<br \/>\nUnabh\u00e4ngig davon muss ein Kontakt in der Datei \/etc\/nagios\/objects\/contacts.cfg definiert werden, damit dieser Kontakt (entspricht einem Benutzer) erweiterte Rechte und Benachrichtigungen von Nagios erhalten kann.<\/p>\n<p>Erg\u00e4nzung (7.2.2013):<\/p>\n<p style=\"color: #000000;\">Versucht man sich mit einem AD-Server zu verbinden, dann sieht das ggf. etwas anders aus. Hier ein Beispiel aus der Praxis:<br \/>\n<code><br \/>\n# Auth. mit LDAP<br \/>\nAuthName \"Nagios Anmeldung(Benutzer in Kleinbuchstaben)\"<br \/>\nAuthType Basic<br \/>\n# Anmeldung AD<br \/>\nAuthBasicProvider ldap file<br \/>\nAuthBasicAuthoritative off<br \/>\nAuthzLDAPAuthoritative off<br \/>\nAuthLDAPURL \"ldap:\/\/ldap.company.de:389\/OU=Benutzer,DC=de,DC=it,DC=gruppe?sAMAccountName?sub?(objectClass=*)\"<br \/>\n#AuthLDAPBindDN\u00a0 \"OU=Benutzer,DC=de,DC=it,DC=company\"<br \/>\nAuthLDAPBindDN\u00a0 cn=LDAPBindUser,OU=Serviceaccounts,OU=Administration,DC=de,DC=it,DC=company<br \/>\nAuthLDAPBindPassword binduserpassword<br \/>\nAuthUserFile \/usr\/local\/nagios\/etc\/htpasswd.users<br \/>\nRequire valid-user<\/code><\/p>\n<p style=\"color: #000000;\">Hier mit wird ein g\u00fcltiger AD-User zugelassen. Alternativ wird ein User aus der Datei \/usr\/local\/nagios\/etc\/htpasswd.users zugelassen.<br \/>\nAchtung: AD unterscheidet offenbar nicht zwischen gro\u00df- und klein geschriebenen Benutzernamen. Beide werden erkannt und zugelassen. Nagios unterscheidet jedoch und m\u00f6chte den User so haben wie in den Konfigurationsdateien (contacts.cfg) definiert. Es kann also passieren, da\u00df ein User trotz erfolgreicher Anmeldung im Nagios keine Rechte hat. Deshalb der Hinweis im Anmeldedialog betreffend die Kleinbuchstaben.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manchmal m\u00f6chte man eine Webanwendung (in diesem Beispiel das Nagios Webinterface) absichern. Manchmal sogar mittels einem Active Directory im Hintergrund, was dann den sch\u00f6nen Vorteil hat, dass Benutzer sich nicht nochmal neue Benutzernamen und Passw\u00f6rter merken m\u00fcssen. Mit dem Modul authnz_ldap geht das ganz gut. Noch besser: Man kann sogar die verschiedenen Authentifizierungsarten mischen, also [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[2,3],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-apache","tag-ldap"],"_links":{"self":[{"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":1,"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":8,"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions\/8"}],"wp:attachment":[{"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it-consulting.sandland.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}