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>