LDAP apache: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 3: Строка 3:
 
[[Категория:Apache]]
 
[[Категория:Apache]]
   
  +
=Авторизаия в Апаче (нагиос)=
   
  +
Задача: есть нагиос, нужно добавить к нему пользователей из групп в лдап
  +
==Пример конфигурации==
 
<PRE>
 
<PRE>
 
<DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>
 
<DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>
 
 
 
AuthType Basic
 
AuthType Basic
 
AuthName "Nagios Access"
 
AuthName "Nagios Access"
Строка 28: Строка 29:
 
require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
 
require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
 
require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net
 
require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net
 
 
 
 
 
</DirectoryMatch>
 
</DirectoryMatch>
 
</PRE>
 
</PRE>
  +
== на что обратить внимание=
  +
  +
В лоб задача решения не имеет. Если прописать
  +
<PRE>
  +
require valid-user
  +
</PRE>
  +
то авторизация работает для всех пользователей в LDAP не зависимо от того входит ли пользователь в группу или нет
  +
<BR>
  +
Как "костыль" - я добавляю локальных пользователей в группу nagios и проверяю что бы пользователь был ИЛИ в группе nagios что никогда не правда для пользователей LDAP ИЛИ в одной из разрешенных групп.
  +
<BR>
  +
В зависимости от LDAP может требоваться memberOf
  +
* настройка групп
  +
<PRE>
  +
# cat /etc/nagios3/htpasswd.groups
  +
nagios: nagiosadmin
  +
</PRE>
  +
<PRE>
  +
AuthUserFile /etc/nagios3/htpasswd.users
  +
AuthGroupFile /etc/nagios3/htpasswd.groups
  +
</PRE>
  +
<PRE>
  +
AuthBasicProvider file ldap
  +
# AuthLDAPURL ldap://127.0.0.1:10389/dc=mirantis,dc=net
  +
AuthLDAPURL ldap://ldap:389/dc=mirantis,dc=net
  +
AuthLDAPMaxSubGroupDepth 1
  +
AuthLDAPBindAuthoritative off
  +
AuthLDAPGroupAttribute member
  +
AuthLDAPGroupAttributeIsDN on
  +
# require valid-user
  +
require group nagios
  +
require ldap-group cn=internal-cloud-support,ou=groups,O=mirantis
  +
require ldap-group cn=it-cloud-ops,ou=groups,O=mirantis
  +
require ldap-group cn=managed-services-all, ou=groups, o=mirantis
  +
require ldap-attribute memberOf=CN=internal-cloud-support,OU=groups,O=mirantis,DC=mirantis,DC=net
  +
require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
  +
require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net

Версия 17:38, 22 июля 2016


Авторизаия в Апаче (нагиос)

Задача: есть нагиос, нужно добавить к нему пользователей из групп в лдап

Пример конфигурации

  <DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>
    AuthType Basic
    AuthName "Nagios Access"
    AuthType Basic
    AuthUserFile  /etc/nagios3/htpasswd.users
    AuthGroupFile /etc/nagios3/htpasswd.groups
    AuthBasicProvider file ldap
#  AuthLDAPURL ldap://127.0.0.1:10389/dc=mirantis,dc=net
   AuthLDAPURL ldap://ldap:389/dc=mirantis,dc=net
   AuthLDAPMaxSubGroupDepth  1
   AuthLDAPBindAuthoritative off
    AuthLDAPGroupAttribute member
    AuthLDAPGroupAttributeIsDN on
#  require valid-user
   require group nagios
   require ldap-group cn=internal-cloud-support,ou=groups,O=mirantis
   require ldap-group cn=it-cloud-ops,ou=groups,O=mirantis
   require ldap-group cn=managed-services-all, ou=groups, o=mirantis
   require ldap-attribute memberOf=CN=internal-cloud-support,OU=groups,O=mirantis,DC=mirantis,DC=net
   require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
   require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net
  </DirectoryMatch>

= на что обратить внимание

В лоб задача решения не имеет. Если прописать

require valid-user

то авторизация работает для всех пользователей в LDAP не зависимо от того входит ли пользователь в группу или нет
Как "костыль" - я добавляю локальных пользователей в группу nagios и проверяю что бы пользователь был ИЛИ в группе nagios что никогда не правда для пользователей LDAP ИЛИ в одной из разрешенных групп.
В зависимости от LDAP может требоваться memberOf

  • настройка групп
# cat /etc/nagios3/htpasswd.groups
nagios: nagiosadmin
    AuthUserFile  /etc/nagios3/htpasswd.users
    AuthGroupFile /etc/nagios3/htpasswd.groups
    AuthBasicProvider file ldap
#  AuthLDAPURL ldap://127.0.0.1:10389/dc=mirantis,dc=net
   AuthLDAPURL ldap://ldap:389/dc=mirantis,dc=net
   AuthLDAPMaxSubGroupDepth  1
   AuthLDAPBindAuthoritative off
    AuthLDAPGroupAttribute member
    AuthLDAPGroupAttributeIsDN on
#  require valid-user
   require group nagios
   require ldap-group cn=internal-cloud-support,ou=groups,O=mirantis
   require ldap-group cn=it-cloud-ops,ou=groups,O=mirantis
   require ldap-group cn=managed-services-all, ou=groups, o=mirantis
   require ldap-attribute memberOf=CN=internal-cloud-support,OU=groups,O=mirantis,DC=mirantis,DC=net
   require ldap-attribute memberOf=CN=it-cloud-ops,OU=groups,O=mirantis,DC=mirantis,DC=net
   require ldap-attribute memberOf=CN=managed-services-all,OU=groups,O=mirantis,DC=mirantis,DC=net