====== Protection de Zabbix par LemonLDAP::NG ======
Le logiciel de supervision réseau Zabbix supporte nativement l'authentification HTTP, il est donc assez simple de l'intégrer à LemonLDAP::NG.\\
La première étape est de créer vos utilisateurs sur Zabbix (si Zabbix supporte l'authentification HTTP, il faut tout de même créer les utilisateurs en avance, ils ne sont pas créés automatiquement à la première connexion).
Il faut ensuite configurer Zabbix pour utiliser l'authentification HTTP. Cette configuration se fait dans Administration -> Authentification, comme sur cette capture d'écran:
{{:tuto:webapps:llng:zabbix_auth_http.png|Configuration de l'authentification}}
Il faut ensuite ajuster la configuration d'apache. La première étape évidente est de créer le virtualhost pour l'accès à Zabbix, par exemple zabbix.domain.tld. La configuration de ce virtualhost va dépendre de votre système et de vos habitudes, le plus important étant qu'il contienne la directive habituelle à savoir **PerlHeaderParserHandler My::Package**
\\Il est aussi recommandé de désactiver l'alias par défaut (/zabbix) qui pourrait rendre l'application accessible depuis un autre vhost, court-circuitant la protection de LemonLDAP::NG.
Dernier point, par défaut Zabbix cherche le nom de l'utilisateur dans la variable PHP_AUTH_USER au lieu de la plus standard REMOTE_USER. Il faut donc ajouter cette directive dans la configuration apache:
SetEnvIfNoCase Auth-User "(.*)" PHP_AUTH_USER=$1
Voilà par exemple la configuration apache que nous utilisons:
#
# Zabbix monitoring system php web frontend
#
# Alias /zabbix /usr/share/zabbix
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
php_admin_value post_max_size 16M
php_admin_value max_execution_time 600
php_admin_value max_input_time 300
php_admin_value date.timezone "Europe/Paris"
Order deny,allow
Deny from all
Allow from all
SetEnvIfNoCase Auth-User "(.*)" PHP_AUTH_USER=$1
Order deny,allow
Deny from all
Order deny,allow
Deny from all
Order deny,allow
Deny from all
Order deny,allow
Deny from all
ServerName zabbix.domain.tld
DocumentRoot /usr/share/zabbix
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
RewriteRule ^/(.*|$) https://%{HTTP_HOST}/$1 [L,R]
ServerName zabbix.domain.tld
DocumentRoot /usr/share/zabbix
SSLEngine on
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
PerlHeaderParserHandler My::Package