====== 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