Dans ces instructions, je pars du principe que vous utilisez le serveur web Apache [Anglais]. Dans le cas contraire, il vous faudra faire les adaptations appropriées.
J'utiliserai les termes qui suivent dans ces instructions, il est donc important que vous en compreniez le sens…
Déclarer des utilisateurs
authentifiés
Activer
l'authentification/l'autorisation dans les CGI
Droits d'accès par défaut aux
informations des CGI
Donner des droits d'accès
supplémentaires aux informations des CGI
Authentification sur des serveurs
web sécurisés
Si vous ne l'avez pas déjà fait, vous devez modifier la configuration de votre serveur web pour activer l'authentification pour les CGI et les pages HTML de l'interface Nagios®. Vous pouvez trouvez les instructions pour cette configuration ici.
Maintenant que votre serveur web est configuré pour réclamer un accès authentifié à l'interface web de Nagios®, vous devez déclarer les utilisateurs autorisés à y accéder. C'est ce que fait la commande Apache htpasswd.
La commande suivante crée un fichier htpasswd.users dans le répertoire /usr/local/nagios/etc. Elle crée également une entrée nom d'utilisateur/mot de passe pour nagiosadmin. Un mot de passe pour l'authentification de nagiosadmin dans le serveur web vous sera alors demandé.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Ajoutez ainsi tous les utilisateurs qui doivent avoir accès aux CGI. Utilisez la commande suivante pour cela, en remplaçant <nom_utilisateur> par le nom de l'utilisateur que vous voulez ajouter. Notez que l'option -c n'est plus utilisée, dans la mesure où le fichier initial est déjà créé.
htpasswd /usr/local/nagios/etc/htpasswd.users <nom_utilisateur>
Voilà, la première partie du travail est faite. En pointant votre navigateur sur les CGI de Nagios®, un nom d'utilisateur et un mot de passe vous seront demandés. Si vous rencontrez des problèmes, veuillez vous référer à la documentation de votre serveur web.
Maintenant il s'agit de s'assurer que les CGI sont configurés pour filtrer les informations et les commandes auxquelles les utilisateurs peuvent accéder. Pour cela la variable use_authentication du fichier de configuration des CGI doit être positionnée à une valeur différente de zéro. Par exemple:
use_authentication=1
Voilà, la fonctionnalité d'authentification/d'autorisation de base est activée dans les CGI.
Quelles sont maintenant les droits d'accès aux CGI par défaut ?
Données des CGI | Contacts authentifiés* | Autres utilisateurs authentifiés* |
---|---|---|
Information sur l'état des hôtes | Oui | Non |
Information sur la configuration des hôtes | Oui | Non |
Historique des hôtes | Oui | Non |
Notifications des hôtes | Oui | Non |
Commandes des hôtes | Oui | Non |
Information sur l'état des services | Oui | Non |
Information sur la configuration des services | Oui | Non |
Historique des services | Oui | Non |
Notifications des services | Oui | Non |
Commandes des services | Oui | Non |
Toutes informations de configuration | Non | Non |
Information sur le système/processus | Non | Non |
Commandes système/processus | Non | Non |
Les Contacts authentifiés* ont les droits suivants sur chaque service dont ils sont un contact (mais pas sur ceux dont ils ne sont pas un contact)…
Les Contacts authentifiés* ont les droits suivants sur chaque hôte dont ils sont un contact (mais pas sur ceux dont ils ne sont pas un contact)…
Il est important de noter que par défaut, personne n'a le droit de…
Vous aurez sans doute besoin de ces informations, c'est pourquoi vous devrez vous donner des droits d'accès supplémentaires (et éventuellement à d'autres utilisateurs) comme décrit ci-dessous…
Vous pouvez donner aux contacts authentifiés et autres utilisateurs authentifiés des droits d'accès à d'autres informations des CGI en les ajoutant à diverses variables d'autorisation dans le fichier de configuration des CGI. Je m'aperçois que ces variables ne permettent pas d'être très précis dans les autorisations, mais c'est mieux que rien.
Des droits supplémentaires peuvent être accordés aux utilisateurs en les ajoutant aux variables suivantes…
Si les droits d'accès aux diverses informations des CGI ne vous paraissent pas clairs, lisez la section Autorisations requises de chaque CGI qui se trouve ici.
Si votre serveur web se trouve dans un domaine sécurisé (i.e., derrière un firewall) ou si vous utilisez SSL, vous pouvez définir un utilisateur par défaut pour accéder aux CGI. C'est le rôle de la variable default_user_name du fichier de configuration des CGI. En définissant un nom d'utilisateur par défaut, vous pouvez autoriser les utilisateurs à accéder aux CGI sans qu'ils ne s'authentifient auprès du serveur web. Ceci vous permet d'éviter d'utiliser l'authentification web de base, qui transmet les mots de passe en clair sur Internet.
Important : Ne définissez pas d'utilisateur par défaut, à moins que vous n'utilisiez un serveur web sécurisé et que vous soyez sûr que les utilisateurs qui accèdent aux CGI ont été authentifiés d'une manière ou d'une autre ! Si vous utilisez cette variable, un utilisateur non authentifié héritera des droits de cet utilisateur par défaut !