Autenticación ldap / AD de windows para nagios

Nagios

En el caso de que nagios se encuentre en una red que disponga de un directorio, es muy recomendable hacer uso de éste para utilizar los usuarios que contiene. Es muy común que el directorio existente sea un Active Directory (AD) de windows, por lo que os describo la configuración de apache2 para que se realice la autenticación ldap.

Es necesario tener instalados y activos los siguientes módulos relacionados con ldap:

authnz_external.load
authnz_ldap.load
ldap.conf
ldap.load

En mi caso me faltaba tener instalado el módulo libapache2-mod-authnz-external.

apt-get install libapache2-mod-authnz-external

Y la configuración es:

<VirtualHost tu_ip:80>
ServerName tu_web.com
ServerAlias tu_web.com
Redirect permanent / https://tu_web.com/
</VirtualHost>

<VirtualHost tu_ip:443>

SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl.crt
SSLCertificateKeyFile /etc/ssl/certs/ssl.key

DocumentRoot "/usr/local/nagios/share"

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
ScriptAlias /cgi-bin/nagios /usr/local/nagios/sbin

Alias /nagios "/usr/local/nagios/share"
Alias /wol "/var/www/wol"

<DirectoryMatch (/usr/local/nagios/share|/usr/local/nagios/sbin)>
AuthType Basic
AuthName "Nagios Access"
AuthBasicProvider ldap
# Incluir usuario con permisos en el directorio
AuthLDAPBindDN "CN=usuario,OU=Usuarios,DC=tu_dominio,DC=com"
AuthLDAPBindPassword "pass_usuario"
# URL ldap
AuthLDAPURL "ldap://ip_del_controlador_de_dominio:389/OU=Usuarios,DC=tu_dominio,DC=com?sAMAccountName?sub?(objectClass=user)"
AuthUserFile "/dev/null"

SSLRequireSSL
require valid-user

Options FollowSymLinks
DirectoryIndex index.php
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
</DirectoryMatch>

CustomLog /var/log/apache2/nagios.log combined
ErrorLog /var/log/apache2/nagios.error.log

</VirtualHost>