Compléments HowToNRPE
Détails sur : - Désactiver SSL/TLS - Ajouter des certificats côté serveur - Les anciens serveurs
This commit is contained in:
parent
23ab09ebfb
commit
199a231ee6
71
HowtoNRPE.md
71
HowtoNRPE.md
|
@ -68,12 +68,26 @@ command[check_mysql]=/usr/lib/nagios/plugins/check_mysql -H localhost -f ~nagios
|
|||
> *Note* : dans des versions précédentes de Debian, il n'était pas vraiment possible de surcharger la configuration : des options en double provoquait une activation aléatoire d'une option ou d'une autre !
|
||||
|
||||
|
||||
Les directives importantes & utiles sont :
|
||||
|
||||
* `allowed_hosts` : Permet d'énumérer les adresses IP qui sont autorisées à parler avec le daemon NRPE
|
||||
* `command[CHECK_NAME]=/usr/lib/nagios/plugins/check_XXX` : Définis une commande NRPE `CHECK_NAME`
|
||||
|
||||
|
||||
## Principe
|
||||
|
||||
Le principe est qu'un démon écoute sur le port TCP/5666 et qu'on peut ainsi exécuter une commande distante définie dans la configuration.
|
||||
|
||||
On utilise la commande check_nrpe, celle-ci est distribuée dans le paquet `nagios-nrpe-plugin` dans Debian
|
||||
|
||||
~~~
|
||||
/usr/lib/nagios/plugins/check_nrpe -H 192.0.2.42 -c check_load
|
||||
# apt install nagios-nrpe-plugin
|
||||
$ /usr/lib/nagios/plugins/check_nrpe -V
|
||||
NRPE Plugin for Nagios
|
||||
Version: 4.1.0
|
||||
|
||||
## Exemple: /usr/lib/nagios/plugins/check_nrpe -H HOTE_NRPE -c CHECK_NAME
|
||||
$ /usr/lib/nagios/plugins/check_nrpe -H 192.0.2.42 -c check_load
|
||||
OK - load average: 0.01, 0.01, 0.01|load1=0.012;0.700;0.900;0; load5=0.010;0.600;0.800;0; load15=0.010;0.500;0.700;0;
|
||||
~~~
|
||||
|
||||
|
@ -109,3 +123,58 @@ Plusieurs options sont intéressantes :
|
|||
* `-S -H example.com -C 15,5` : vérifie que la validité d'un certificat SSL/TLS est inférieure à 15 jours (WARN) ou 5 jours (CRIT)
|
||||
|
||||
|
||||
## Plomberie
|
||||
|
||||
### Erreur SSL avec le service NRPE sur une ancienne Debian depuis un client NRPE récent (Debian 10+)
|
||||
|
||||
Les versions récentes (Debian 10 et suivantes) ont une version plus récente d'OpenSSL, la bibliothèque qui gère le chiffrement TLS de la connexion NRPE.
|
||||
Celle-ci refusera d'établir la connexion chiffrée avec une ancienne version de NRPE, notamment celle présente dans Debian 8 (et plus ancien).
|
||||
|
||||
Pour le détail technique, c'est OpenSSL côté client qui refuse de faire un échange Diffie Hellman de 512 bits.
|
||||
Sauf que cette taille de clé est malheureusement codée en dur dans NRPE.
|
||||
|
||||
Plusieurs alternatives sont possibles pour continuer de surveiller une ancienne machine :
|
||||
* A/ (Déconseillée) Désactiver SSL/TLS pour la communication entre le client et le serveur NRPE
|
||||
* B/ Encapsuler l'utilisation de NRPE dans SSH. Le service de monitoring fait une connexion SSH vers l'hôte surveillé pour utiliser la commande `check_nrpe` localement
|
||||
* C/ Patcher le serveur NRPE pour qu'il utilise à place une clé de 2048bits ([patch](https://gitea.evolix.org/evolix/nagios-nrpe-jessie-gbp/commit/b988357a7f58c2f28055f75bd3eec129ee1957bc)) - Cette version patchée est disponible sur notre dépôt [pub.evolix.org](/HowtoDebian/SourcesList)
|
||||
|
||||
### Désactiver SSL/TLS
|
||||
|
||||
Nous déconseillons cette configuration, mais c'est possible de désactiver le chiffrement.
|
||||
|
||||
Dans le fichier de configuration `/etc/default/nagios-nrpe-server`, il y a la variable `NRPE_OPTS`. Il faut la décommenter et rajouter `-n` pour désactiver SSL et redémarrer le servce.
|
||||
|
||||
> **Attention** : ça implique que **tous** les clients devront désactiver SSL pour communiquer avec le service NRPE.
|
||||
|
||||
Côté client, on ajoutera aussi l'option `-n` pour désactiver l'utilisation de SSL/TLS lors de la connexion :
|
||||
|
||||
Exemple : `/usr/lib/nagios/plugins/check_nrpe -n -H 192.0.2.42 -c check_load`
|
||||
|
||||
|
||||
### Configurer un certificat SSL/TLS serveur
|
||||
|
||||
Dans la configuration de NRPE, il est possible de configurer un certificat serveur. Ça permet notamment au client de valider l'identité du serveur.
|
||||
|
||||
|
||||
Côté serveur, ça se configure avec les directives suivantes pour donner les fichiers du certificat et la clé privée :
|
||||
|
||||
```
|
||||
ssl_cert_file=/etc/nagios/cert.pem
|
||||
ssl_privatekey_file=/etc/nagios/privkey.key
|
||||
```
|
||||
|
||||
Attention à ce que l'utilisateur `nagios` ait bien le droit de lecture sur ces fichiers.
|
||||
|
||||
|
||||
> **Remarque importante** : Il semble que `check_nrpe` ne valide pas la correspondance du `CN` (CommonName) du certificat avec l'adresse de destination utilisée en argument (le `-H`) mais seulement la validité du certificat face à la CA utilisée avec l'argument.
|
||||
|
||||
Exemple :
|
||||
|
||||
```
|
||||
## Si la CA de notre PKI est dans /etc/ssl/ca-pki.pem
|
||||
$ /usr/lib/nagios/plugins/check_nrpe -H 192.0.2.10 -A /etc/ssl/ca-pki.pem -c check_load
|
||||
```
|
||||
|
||||
> *Note* : On peut utiliser `/etc/ssl/certs/ca-certificates.crt` si le certificat est issu d'une autorité de certification classique
|
||||
|
||||
## FAQ
|
Loading…
Reference in a new issue