Configuración sudoers con nopassword

Recomentamos hacer los cambios siempre en la sección de usuario de sudoers. Aunque en la práctica da igual, es mejor a efectos de orden, saber donde buscar la configuración.

Cuando queremos que un usuario ejecute sin
contraseña cualquier script, como si fuera root:

# User privilege specification
root ALL=(ALL:ALL) ALL
user1 ALL=NOPASSWD: ALL

Para que un usuario ejecute un comando concreto, os pongo el ejemplo de nagios:

nagios ALL=NOPASSWD: /usr/sbin/nagiostats

Centreon 2.4.5 Añadir nuevo poller o satélite (debian 7)

Nagios empieza a tener mucha carga, y queremos usar otros poller desde otras subredes. Por ello, nos hace falta crear nuevas máquinas, y añadirlas para gestionarlas de forma unificada desde Centreon.

Vamos a seguir la arquitectura distribuida de centreon, basándonos en este tutorial de linux.org

AVISO: Aún no lo hemos logrado configurar.

Os recomiendo seguir el foro de centreon, para lograr configurar esto. Y, por supuesto, los comentarios están abiertos para que nos enviéis sugerencias y correcciones.

Configuración en el Satélite (debian 7). Acceso vía SSH

En el nuevo poller, damos un home a los usuarios nagios y centreon, y capacidad de bash

root@poller:~# grep nagios  /etc/passwd
nagios:x:102:121::/var/lib/nagios:/bin/bash

Creamos un usuario centreon con grupo nagios. Es el usuario que

  centreon:x:1001:1001:,,,:/home/centreon:/bin/bash

Configuramos SUDO para nagios y centreon

visudo:

User_Alias CENTREON=nagios,centreon
CENTREON ALL=NOPASSWD: /etc/init.d/nagios restart
CENTREON ALL=NOPASSWD: /etc/init.d/nagios stop
CENTREON ALL=NOPASSWD: /etc/init.d/nagios start
CENTREON ALL=NOPASSWD: /etc/init.d/nagios reload
CENTREON ALL=NOPASSWD: /usr/bin/nagiostats
CENTREON ALL=NOPASSWD: /usr/local/etc/bin/nagios *

Si no creamos este usuario, sale repetitivamente siguiente error de autenticación en /var/log/auth. Según el manual de centreon, es suficiente con tener un usuario nagios en los poller, pero, nuestra experiencia, dice que necesita también el usuario centreon:

Dec 13 08:19:15 poller sshd[14233]: Connection closed by centreon_ip [preauth]
Dec 13 08:21:02 poller sshd[14242]: Invalid user centreon from centreon_ip
Dec 13 08:21:02 poller sshd[14242]: input_userauth_request: invalid user centreon [preauth]

Instalamos centreon broker en el poller, para la comunicación desde Centreon. La instalación del broker, está mucho más detallada en la web de centreon.

apt-get install build-essential cmake
apt-get install librrd-dev
apt-get install libqt4-dev libqt4-sql-mysql
apt-get install libgnutls-dev  libgnutls26
cd centreon-broker/build
cmake \
-DWITH_DAEMONS='central-broker;central-rrd' \
-DWITH_GROUP=centreon-broker \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BIN=/usr/sbin \
-DWITH_PREFIX_CONF=/etc/centreon-broker \
-DWITH_PREFIX_INC=/usr/include/centreon-broker \
-DWITH_PREFIX_LIB=/usr/lib/nagios3 \
-DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker \
-DWITH_STARTUP_DIR=/etc/init.d \
-DWITH_STARTUP_SCRIPT=auto \
-DWITH_TESTING=0 \
-DWITH_USER=centreon-broker
make install
# Start service:
adduser centreon-broker
service cbd start

Tenemos que agregar el usuario centreon-broker para evitar esto:

service cbd start
[....] Starting cbd_central-broker: cbdstart-stop-daemon: user 'centreon-broker' not found
start-stop-daemon: user 'centreon-broker' not found
failed!

Tiene que iniciar:


root@poller:~/src/centreon-broker/build# service cbd start
[ ok ] Starting cbd_central-broker: cbd.
[ ok ] Starting cbd_central-rrd: cbd.

Verificamos las rutas de centreon broker, para asegurar que está bien instalado:

 

Como nuestro satélite es debian, y por problemas con nagvis, vamos a usar mklivestatus, en vez de ndomod. Recomendamos leer <a href=”http://mathias-kettner.de/checkmk_livestatus.html”>este artículo </a>de Matthias Kettner.

Instalamos mklive  y su socket (en nuestra instalación no se creó de forma automática).

apt-get install check-mk-livestatus
mkfifo /var/log/nagios3/rw/live
chown nagios:nagios /var/log/nagios3/rw/live

Probamos desde nagios, la comunicación con mklivestatus

root@poller:~# grep broker /etc/nagios3/nagios.cfg
broker_module=/usr/lib/check_mk/livestatus.o /var/log/nagios3/rw/live
event_broker_options=-1

En nagios.log

Sin embargo, sí vamos a instalar ndoutils

Centreon. SSH

Creamos para nagios una clave asimétrica y se la pasamos al nuevo poller o satélite:

nagios@centreon:~#  ssh-keygen
nagios@centreon:~#  chmod 600 id_rsa

# Copiamos para nagios y para usuario centreon:
nagios@centreon:~#  ssh-copy-id  -i id_rsa.pub nagios@poller
nagios@centreon:~#  ssh-copy-id  -i id_rsa.pub centreon@poller
# Prueba de la conexión:
nagios@centreon:~#  ssh nagios@poller
nagios@centreon:~#  ssh centreon@poller

Pasamos todos los plugins al satélite:

scp /usr/local/nagios/libexec/* nagios@{IP_ADDRESS}:/usr/local/nagios/libexec/

Centreon GUI

Creamos el poller

Esta es la configuración del poller para debian 7.1

 

Creamos el ndomod, con su ip, y habilitado

Creamos el nuevo nagios.cfg

Es importante verificar todas las rutas de archivos.

En nuestro caso, al ser el satélite Debian 7, necesitamos que todas las rutas hagan referencia a nagios3.

Además, configuramos el broker, para usar mklive.

Cambiamos los permisos de /var/nagios/spool/checkresults, para evitar el errorde permisos durante “Run monitoring engine debug (-v)”

Error Unable to write to check_result_path (‘/var/nagios/spool/checkresults’) – Permission denied.

 

root@central# chmod 777 /var/nagios/spool/checkresults