Notes
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.
Définitions
J’utiliserai les termes qui suivent dans ces instructions, il est donc important que vous en compreniez le sens…
- Un utilisateur authentifié est quelqu’un qui s’est authentifié auprès du serveur web avec un nom d’utilisateur et un mot de passe, et à qui le serveur web a donné accès à l’interface web de Nagios®.
- Un contact authentifié est un utilisateur authentifié dont le nom correspond à celui d’une définition de contact du fichier de configuration.
Index
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
Déclarer des utilisateurs authentifié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.
Activer l’authentification/l’autorisation dans les CGI
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.
Droits d’accès par défaut aux informations des 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)…
- Droit de voir l’état du service
- Droit de voir la configuration du service
- Droit de voir l’historique et les notifications de ce service
- Droit de passer des commandes à ce service
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)…
- Droit de voir l’état de l’hôte
- Droit de voir la configuration de l’hôte
- Droit de voir l’historique et les notifications de cet hôte
- Droit de passer des commandes à cet hôte
- Droit de voir l’état de tous les services de cet hôte
- Droit de voir la configuration de tous les services de cet hôte
- Droit de voir l’historique et les notifications de tous les services de cet hôte
- Droit de passer des commandes à tous les services de cet hôte
Il est important de noter que par défaut, personne n’a le droit de…
- Voir le fichier journal brut via la CGI d’affichage du journal
- Voir les informations sur le processus de Nagios® via le CGI d’informations complémentaires
- Passer des commandes à Nagios® via la CGI de commande
- Voir les définitions des groupes d’hôtes, contacts, groupes de contacts, périodes, et commandes via la CGI de configuration
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…
Donner des droits d’accès supplémentaires aux informations des CGI
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…
- autorisé pour les informations système
- autorisé pour les commandes système
- autorisé pour les informations de configuration
- autorisé pour tous les hôtes
- autorisé pour toutes les commandes aux hôtes
- autorisé pour tous les services
- autorisé pour toutes les commandes aux services
Autorisations requises par les CGI
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.
Authentification sur des serveurs web sécurisés
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 !