LDAP apache

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску


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

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

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

  <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