nagios nrpe plugin: Berechtigungsfrage

2789
aag

Ich habe eine Erlaubnisfrage, die mich verrückt macht. Ich versuche, Sternchen auf einer virtuellen Maschine unter Linux mit dem Plugin "check_asterisk_peers" zu überwachen. Ich habe NRPE (den Nagios Remote Agent) installiert. Der relevante Abschnitt von nrpe.cfg ist:

command[check_users]=/usr/lib/monitoring-plugins/check_users -w 5 -c 10 command[check_asterisk_peers]=/usr/lib/monitoring-plugins/check_asterisk_peers -p monika_gigaset 

Folgendes bekomme ich:

/usr/lib/monitoring-plugins/check_nrpe -H 10.10.10.10 -c check_users USERS OK - 2 users currently logged in |users=2;5;10;0 

Nun sagt mir das, dass die NRPE in Ordnung ist und alle Berechtigungen richtig gesetzt sind.

Wenn ich einfach das Plugin starte (ohne check_nrpe aufzurufen), bekomme ich:

aag ~ $ /usr/lib/monitoring-plugins/check_asterisk_peers -p monika_gigaset CRITICAL: Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?) 

Wenn ich es jedoch mit Sudo starte, funktioniert es einwandfrei (woraus ich schließe, dass das Plugin keine ausreichenden Berechtigungen hat, wenn es als Nicht-Root ausgeführt wird):

aag ~ $ sudo /usr/lib/monitoring-plugins/check_asterisk_peers -p monika_gigaset OK: monika_gigaset 

Wenn ich jedoch das Sternchen-Plugin starte, bekomme ich:

aag ~ $ /usr/lib/monitoring-plugins/check_nrpe -H 10.10.10.10 -c check_asterisk_peers CRITICAL: Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?) 

das gleiche, wenn ich es mit sudo laufen lasse:

aag ~ $ sudo /usr/lib/monitoring-plugins/check_nrpe -H 10.10.10.10 -c check_asterisk_peers CRITICAL: Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?) 

Ich bin sicher, dass es sich um ein Problem mit Berechtigungen handelt, aber ich kann es nicht lösen. Die Sudoers-Datei (Auszug) liest sich wie folgt:

root ALL=(ALL) ALL http ALL = NOPASSWD: /usr/sbin/asterisk -rx database *  nrpe ALL=(ALL) NOPASSWD: /usr/sbin/service,/usr/lib/monitoring-plugins/check_asterisk_peers asterisk ALL=(ALL) ALL  %wheel ALL=(ALL) ALL %admins ALL= (ALL) ALL Defaults targetpw # Ask for the password of the target user ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw' 

Jeder Hinweis wäre dankbar! Meine Diagnose lautet, dass das Plugin "check_asterisk_peers" nicht die Berechtigung hat, mit asterisk in Verbindung zu treten (das als root ausgeführt wird), aber ich verstehe nicht, wie ich ihm die entsprechenden Berechtigungen erteilen kann.

0

3 Antworten auf die Frage

1
Simon MC. Cheng

Gemäß der Handbuchseite für das Plugin müssen Sie das Plugin mit dem Befehl sudo ausführen. Daher haben Sie ein erfolgreiches Ergebnis, wenn Sie das Plugin mit sudo ausführen.

Ich habe die Anweisungen von der Seite für Sie hervorgehoben:

Um den Nagios-Benutzern Berechtigungen zum Ausführen des Skripts zu erteilen, versuchen Sie Folgendes in Ihrer Datei / etc / sudoers:

nagios ALL=(ALL) NOPASSWD: /path/to/plugins/directory/check_asterisk_peers 

Dann rufen Sie das Plugin mit sudo auf:

/path/to/sudo check_asterisk_peers 
Danke, Simon. Das Aufrufen des Plugins mit Sudo funktioniert in der Tat. Der Nagios-Server ruft jedoch nrpe auf, wie in 'check_nrpe -H 10.10.10.10 -c check_asterisk_peers'. Ich kann diesen Teil nicht zum Laufen bringen. Wie Sie sehen, ist die Sudoers-Zeile bereits in meinen Sudoers enthalten (außer dass hier "nrpe" anstelle von nagios steht, da hier nrpe der betreffende Daemon ist). aag vor 8 Jahren 0
Ich frage mich, ob Sie versuchen könnten, die Befehlswerte mit sudo zu ändern und zu sehen, ob es funktioniert, z. B. Befehl [check_asterisk_peers] = / path / to / sudo / usr / lib / monitoring-plugins / check_asterisk_peers -p monika_gigaset Simon MC. Cheng vor 8 Jahren 1
immer noch keine freude Ich habe in nrpe.cfg den folgenden Befehl eingegeben: [check_asterisk_peers] = sudo / usr / lib / monitoring-plugins / check_asterisk_peers -p monika_gigaset` und es resultiert in `NRPE: Ausgabe kann nicht gelesen werden`. Die Eingabe des gleichen Befehls in die Befehlszeile funktioniert jedoch einwandfrei! Ich fange an zu verzweifeln ... aag vor 8 Jahren 0
das wird mich als total n00b identifizieren, aber so was. Das journalctl sagt: `pam_unix (sudo: auth): auth konnte das Passwort für [root] nicht identifizieren.` Ich weiß immer noch nicht, wie ich es reparieren soll, aber ich habe die Vermutung, dass ich näher komme ... aag vor 8 Jahren 0
Ich denke, Sie können zwei Stellen prüfen: 1. Übergeben Sie den vollständigen Pfad für den Sudo-Befehl, damit sich Ihr Befehlswert in `ändertcommand[check_asterisk_peers]=/usr/bin/sudo /usr/lib/monitoring-plugins/check_asterisk_peers -p monika_gigaset`, 2. chcek out the link [link](http://serverfault.com/questions/596614/nagios-nrpe-unable-to-read-output), it said even if you mentioned the NRPE to use different user, for some application will still use nagios user account Simon MC. Cheng vor 8 Jahren 1
1
arheops

Richtige Lösung:

Ändern Sie in /etc/asterisk/asterisk.conf den Besitzer des Sockets in

[files] astctlpermissions = 0660 astctlowner = asterisk astctlgroup = asterisk 

Fügen Sie nrpe oder nagios user (Benutzer, den Sie in der Datei nrpe.cfg sehen) zur Gruppe asterisk hinzu.

0
aag

Schließlich gelang es mir, das Problem zu lösen, indem NOPASSWD an nrpe und seine Gruppen vergeben wurde. Die Sicherheit ist jedoch nicht optimal und kann von restriktiveren Optimierungen profitieren. Hier ist der relevante Teil von Sudoers:

root ALL=(ALL) ALL http ALL = NOPASSWD: /usr/sbin/asterisk -rx database * nrpe ALL=(ALL) NOPASSWD: ALL asterisk ALL=(ALL) ALL %admins ALL= (ALL) NOPASSWD: ALL %wheel ALL=(ALL) NOPASSWD: ALL %sudo ALL=(ALL) NOPASSWD: ALL 
Dies ist möglicherweise eine Sicherheitslücke. Der einzige Zweck des nrpe-Benutzers besteht darin, nrpe-Plugins oder nrpe-deamon von der Root-Umgebung zu isolieren. Sie legen das alles durch diese Sudoers-Datei ab. Mit demselben Ergebnis können Sie nrpe unter root user ausführen. arheops vor 8 Jahren 1
Genau. Ich war froh, dass ich es anpacken konnte, aber ich war mit den Auswirkungen auf die Sicherheit nicht zufrieden. aag vor 8 Jahren 0