mar 23

WebDAV (Web enabled Distributed Authoring and Versioning) , fournit un environnement partagé aux utilisateurs pour éditer/gérer leurs fichiers sur les serveurs Web. Techniquement, DAV est une extension du protocole http. Ca ressemble un peu beaucoup au FTP et est disponible sous les principales plateformes OS.

Installation

On suppose qu’Apache2 est déjà installé sur le système cible.

Il faut installer les modules dav qui sont fournis par Apache2 mais pas activés par défaut.
On les active en créant un lien symbolique vers /etc/apache2/mods-enabled

cd /etc/apache2/mods-enabled
n -s ../mods-available/dav* .

Configuration Apache2

On ajoute un virtualhost par exemple en modifiant le fichier/etc/apache2/sites-available/default.

<VirtualHost *:80>
ServerName wpub.mondomaine
ServerAlias wpub.mondomaine
ServerAdmin webmaster@mondomaine
DocumentRoot /var/www/wpub

<Directory /var/www/wpub>
Options Indexes FollowSymLinks
#AllowOverride All
AllowOverride AuthConfig
Order allow,deny
allow from all
DAV on
AuthName “Stockage WebDAV”
AuthType Basic
AuthUserFile /etc/apache2/htpasswd-webdav
Require valid-user
<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
</Limit>
<LimitExcept GET>
Require valid-user
</LimitExcept>
</Directory>

</VirtualHost>

nov 29

Une configuration VPN entre un serveur VPN (IPCOP) et un client VPN se nomme Roadwarrior.


La solution proposée est d’ajouter ZERINA (OpenVPN) à IPCOP et d’installer OpenVPN GUI for Win32 sur une machine Windows.
Il existe un client OpenVpn pour Mac OS X qui fonctionne tres bien (Tunnelblick disponible ici).

Installation de Zerina (à faire sur le serveur IPCOP)

On trouve Zerina OpenVpn à l’adresse suivante.

Avec un client ssh, on copie l’archive sur le serveur IPCOP dans /root/zerina par exemple.
On décompresse la chose par la commande tar -xzvf ./ZERINA-0.9.1b-Installer.tar.gz.
On lance alors l’installation via la commande ./install
ZERINA est alors installé.

Configuration de Zerina

Un howto existe à l’adresse suivante.
Sur l’interface d’administration d’Ipcop, on trouve trouver dans l’onglet RVPs, un élément OpenVpn.

zerina

Création des Autorités de certification

On commence alors par générer les certificats au niveau du serveur Ipcop.
On clique alors sur ‘Genérer certificat racine/systeme’ et on remplit les informations demandées. On reclique sur ‘Genérer certificat racine/systeme’ et après quelques instants, on dispose enfin de certificat racine/systeme.

Création des certificats client

Pour chaque client, on génère un certificat différent.

Dans la zone inférieure “Client status and control“, on clique sur le bouton “Ajouter” puis on choisit sur l’écran suivant l’option “RPV système à réseau (RoadWarrior). Une fois les champs renseignés, on clique sur “Sauvegarde”.
On répète cette opération pour chaque client.

On obtient alors un écran comme suivant :

Il ne reste plus qu’à downloader le certificat client en cliquant sur l’icone et l’installer sur le poste client.

Démarrage du serveur

On commence par enregistrer les paramètres àpres les avoir modifié si besoin.
Ensuite,il ne reste plus qu’a lancer le serveur en cliquant sur “Start OpenVpn Server”.

Installation du client OpenVpn

Sur un PC Windows, installez OpenVPN GUI for Win32.
Installer le fichier ZIP récupéré sur votre IPCOP (certificat client) et copiez son contenu dans le dossier config de OpenVPN GUI (son contenu pas le dossier lui-même).
Avec le bouton droite de la souris, cliquez sur l’icone de OpenVPN GUI for Win32 qui est dans la barre systeme.

Ensuite, faîtes connect.

Réglage du parefeu sous IPCop

Comme OpenVpn utilise par défaut le port UDP 1194 (ou celui que vous avez spécifier dans la configuration du serveur) , il est de bon ton d’autoriser ce port et de le rediriger vers la machine IPCop. Il suffit donc d’aller dans l’onglet “Pare-feu” et de choisir “Redirection de port”.

nov 27

Copfilter est un add-on non officiel d’IPCOP.

Il permet de disposer d’une solution anti-spam et anti-virus.

Installation

  1. Se connecter a IPCOP sur port SSH (port 222).
  2. Copier le fichier tar.gz de copfilter sur root
  3. Décompacter la chose avec tar xzvf
  4. Désinstaller l’ancienne version si necessaire via /root/copfilter/setup_util -u et eventuellement un backup
  5. Installer la nouvelle version via install
  6. Installer les fichiers de sauvegarde si ncessaire via /root/copfilter/setup_util -r /var/ipcop/copfilter/etc_20060330192949.tgz

Sauvegarder sa configuration antérieure :

commande :/root/copfilter/setup_util -b

ce qui donne :

root@ipcop-lolo:~ # /root/copfilter/setup_util -b
Création d’une sauvegarde: /var/ipcop/copfilter/etc_20060330192949.tgz ..
Les fichiers et dosiers suivants seront sauvegardés:
/var/log/copfilter/default/etc
/var/log/copfilter/default/opt/privoxy/etc/user.action
/var/log/copfilter/default/opt/privoxy/etc/neilvandyke.action
/var/log/copfilter/default/opt/clamav/var/log/clamd.log
/var/log/copfilter/default/opt/mail-spamassassin/var/log/spamd.log
/var/log/copfilter/default/opt/havp/var/log/access.log
/var/log/copfilter/default/opt/havp/var/log/error.log
/var/log/copfilter/default/opt/frox/var/log
/var/log/copfilter/default/opt/tools/var/log
/var/log/copfilter/default/opt/monit/var/log
/var/log/copfilter/default/opt/p3scan/var/log
/var/log/copfilter/default/opt/mail-spamassassin/var/bayes/bayes_*
tar: Removing leading `/’ from member names
sauvegarde terminée avec succès

Commande IPCOPFILTER

chemin par defaut : /root/copfilter/

backup
./setup_util -b

uninstall
./setup_util -u

install

restore
./setup_util -r

or type ./setup_util -h
for help

Usage: setup_util OPTION

Options:
-a, –addmenu add copfilter menu to the webgui (already done with -i)
-b, –backup [FILE] backup current settings & logfiles (optional: backup fil e)
-d, –default restore default configuration
-i, –install [--force] install (or reinstall) copfilter (use force if already i nst.)
-f, –fprot FILE install fprot, FILE: download and copy fprot >GZIP-ed TA R file< to ipcop
URL:http://www.f-prot.com/download/home_user/download_fp linux.html
example: setup_util -f fp-linux-ws.tar.gz
-r, –restore [FILE] restore configuration (optional: restore file)
-R, –regrazor register razor
-u, –uninstall uninstall copfilter and fprot
-V, –version print version information and exit
-x, –fixbackspace fix backspace key in vi

LISTE BLANCHE SPAMASSASSIN

La whitelist et blacklist sont gérées dans le fichier /var/log/copfilter/default/etc/cp_spam_whitelist/local_webgui.cf.

exemple : local_webgui.cf
————————-
whitelist_from *@toto.fr

INSTALLATION COPFILTER SS INTERFACE RED CONNECTE

Dans le cas d’une connexion internet défectueuse, il est alors impossible d’enregistrer razor.

Rétablissez la connexion internet et enregistrer razor en lançant la commande :

./setup_util -R

nov 27

IPCOP est une merveilleuse distribution Linux qui permet de recycler un vieux pc en routeur-firewall performant.

Vous trouverez toutes les informations en allant ici.

Fichiers Script de config

On peut modifier la config de base via la commande config depuis un acces ssh.

les principaux fichiers sont /var/ipcop/.

Par exemple, la configuration des cartes réseaux est /var/ipcop/ethernet/settings

AJOUTER SCRIPT AU DEMARRAGE IPCOP

Les scripts au démarrage d’IPCOP sont situés dans /etc/rc.d/
Le script rc.local est lancé automatiquement au demarrage et c’est un bon endroit pour y coller un script que l’on souhaite lancer à chaque démarrage.

Exemple du fichier /etc/rc.d/rc.local/

#!/bin/sh

# COPFILTER START - do not modify
# start local programs
echo “démarrage p3scan …”
env /var/log/copfilter/default/opt/p3scan/etc/init.d/copfilter_p3scan config
echo “démarrage clamd …”
env /var/log/copfilter/default/opt/clamav/etc/init.d/copfilter_clamd config
echo “démarrage fprotd (if installed) …”
env /var/log/copfilter/default/opt/f-prot/etc/init.d/copfilter_f-protd config
echo “démarrage spamd …”
env /var/log/copfilter/default/opt/mail-spamassassin/etc/init.d/copfilter_spamd config
echo “démarrage havp …”
env /var/log/copfilter/default/opt/havp/etc/init.d/copfilter_havp config
echo “démarrage frox …”
env /var/log/copfilter/default/opt/frox/etc/init.d/copfilter_frox config
echo “démarrage privoxy …”
env /var/log/copfilter/default/opt/privoxy/etc/init.d/copfilter_privoxy config
echo “démarrage proxsmtpd …”
env /var/log/copfilter/default/opt/proxsmtp/etc/init.d/copfilter_proxsmtpd config
echo “démarrage monit …”
env /var/log/copfilter/default/opt/monit/etc/init.d/copfilter_monit config
# COPFILTER END - do not modify

#Bidouille

echo “démarrage freebox TV…”
#/root/utils/freeplayer.sh

Adddons IPCOP

l’utilisation d’add-on (non officiel) sur ipcop necessite au préalable l’installation du MOD Addon disponible sur http://firewalladdons.sourceforge.net/install-2.3.b2.html. Ce Mod permet l’installation et la mise d’addon et les intègre à l’interface graphique d’IPCOP.

L’installation est la suivante :

  • se connecter via ssh (port 222) sur le IPCOP.
  • Copier le fichier tar.gz précedemment récupéré dans le /root/
  • tar xzvf addons-2.3-CLI-b2.tar.gz
  • cd /addons
  • ./addoncfg -u (ignore errors about missing files/dirs)
  • ./addoncfg -i

Ensuite, il ne reste plus qu’a faire son marché et d’installer ces fameux addons depuis le site http://firewalladdons.sourceforge.net/.

j’ai installé et testé les addons suivants :

nov 27

Ayant voulu marquer mon indépendance vis à vis des paquets Débian et Ubuntu, j’ai décidé de prendre les versions tarball et de les compiler comme un grand.

Installation de nagios

$ adduser nagios

  • création du répertoire d’installation de nagios

$ mkdir /usr/local/nagios
$ chown nagios:nagios /usr/local/nagios

  • trouver le user apache

www-data pour les Débien et Ubuntu sinon tapez :

$ grep “^User” /etc/apache2/apache2.conf

  • création du groupe de commande

$ /usr/sbin/groupadd nagcmd

On ajoute à ce groupe les users www-data et nagios

$ /usr/sbin/usermod -G nagcmd www-data
$ /usr/sbin/usermod -G nagcmd nagios

  • installation via script

$ tar xzf nagios-version.tar.gz
$ cd nagios-version

$ ./configure –prefix=/usr/local/nagios –with-cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagcmd

./configure –prefix=prefix –with-cgiurl=cgiurl –with-htmurl=htmurl –with-nagios-user=someuser –with-nagios-group=somegroup –with-command-group=cmdgroup

  • prefix : répertoire d’installation (par défaut /usr/local/nagios)
  • cgiurl : répertoire pour les accès CGI ( par défaut /nagios/cgi-bin). NE PAS METTRE DE / à la fin de l’url
  • htmurl : chemin pour accéder à l’interface d’administration WEB (par défaut /nagios/)
  • someuser : nom du user nagios (par défaut nagios)
  • somegroup : nom du groupe nagios (par défaut nagios)
  • cmdgroup : nom du groupe with the name of the group running the web server (par défault nagios, dans l’exemple actuel nagcmd).

Si tout se passe bien, vous devriez obtenir un message comme :

*** Configuration summary for nagios 2.9 04-10-2007 ***:

General Options:
————————-
Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagcmd
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Init directory: /etc/init.d
Host OS: linux-gnu

Web Interface Options:
————————
HTML URL: http://localhost/nagios//
CGI URL: http://localhost/nagios/cgi-bin/

  • $ make all

qui donne comme résultat

make install
- This installs the main program, CGIs, and HTML files

make install-init
- This installs the init script in /etc/init.d

make install-commandmode
- This installs and configures permissions on the
directory for holding the external command file

make install-config
- This installs *SAMPLE* config files in /usr/local/nagios/etc
You’ll have to modify these sample files before you can
use Nagios. Read the HTML documentation for more info
on doing this. Pay particular attention to the docs on
object configuration files, as they determine what/how
things get monitored!

  • $ make install

pour installer nagios, CGI et fichiers HTML

  • $ make install-init

pour installer script de démarrage dans /etc/init.d/

  • $ make install-commandmode

pour installer et configurer les autorisatiosn sur les commandes externes de nagios

  • $ make install-config

pour installer les fichiers de configuration.

Installation de nagios-plugins

voir mon précédent message convernant le plugins NRPE.

Configuration du serveur HTTP

Modification d’Apache

Il faut aller modifier le fichier de configuration d’apache (dans mon cas /etc/apache2/apache2.conf) et y ajouter les éléments suivants :

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

Alias /nagios /usr/local/nagios/share


Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

Création de l’accès sécurisé

Comme on a protégé l’accès à l’interface HTPP via un fichier .htaccess, il va falloir créer des users (stockés dans un fichier /usr/local/nagios/etc/htpasswd.users) autorisés à y accéder.

$ htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

pour créer le fichier /usr/local/nagios/etc/htpasswd.users qui sera utilisé pour l’authentification de notre fameux user nagiosadmin.

On relance apache et on prie fort !!
Si on tape sur un navigateur http://localhost/nagios/, on devrait arriver sur la fenêtre d’accès à Nagios.

Configuration de Nagios

Les fichiers de nagios sont installés par défaut dans /usr/local/nagios/.
Le répertoire etc/ contient les fichiers de configuration de nagios essentiels.
Si on a demandé l’installation des fichiers de configuration, on trouvera alors dans /usr/local/nagios/etc/ les fichiers de configuration avec l’extension ‘.sample’…..

Test de la configuration de nagios

$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Lancer le daemon nagios

$ /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

nov 27

Entre machine Linux, on peut se passer de Samba et y préférer NFS.

Installation

sur le poste serveur :

installation

$ apt-get install nfs-kernel-server portmap

Configuration

La configuration des répertoires exportables se fait dans le fichier /etc/exports

/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)

On peut remplacer * par un nom de hostname.

Démarrage du serveur NFS

$ /etc/init.d/nfs-kernel-server start

Sur le poste Client

La commande mount est utilisée pour cela.

$ sudo mount -t nfs example.hostname.com:/ubuntu /local/ubuntu

(A noter que le point de montage /local/ubuntu doit exister!)

Une alternative consiste à utiliser le fichier /etc/fstab file.
The general syntax for the line in /etc/fstab file is as follows:

example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr

nov 27

Si vous voulez jouer (avoir le droit d’écrire, et suppression) un peu avec les partitions ntfs, il vous suffit d’installer ntfs-3g ainsi que ntfs-config (utilitaire graphique qui permet d’activer ou désactiver) l’écriture sur les partitions ntfs.

sudo apt-get install ntfs-3g ntfs-config

J’ai testé la chose et n’ai rencontré pas de soucis jusqu’à maintenant.

nov 27

XDMCP permet une connexion X distante. C’est pas vraiment raisonnable d’utiliser cela en dehors d’un réseau sécurisé (au minimum un firewall).
Visiblement, on ne peut pas utiliser SSH pour crypter les connexions TCP et UDP de XDM (si j’ai bien compris, SSH ne gère pas nativement UDP).
XDMCP utilise le port UDP 177 et TCP le port 6000 .

Les configurations de XDMCP dependent du gestionnaire de fenêtre utilisé : gnome ou kde par exemple.

Pour KDE

Editez le fichier kdmrc situé normalement dans le répertoire /etc/kde3/kdm/.
Cherchez la section correspondante à Xdmcp

[Xdmcp]
Enable=true
Willing=/etc/kde3/kdm/Xwilling
Xaccess=/etc/kde3/kdm/Xaccess

avec par exemple pour le fichier /etc/kde3/kdm/Xaccess

192.168.1.15 CHOOSER BROADCAST
192.168.1.15

192.168.1.15 étant l’IP que j’autorise.

Pour Gnome

Editez le fichier gdm.conf sirué dans /etc/gdm.

[xdmcp]
Enable=true
MaxPending=4
MaxPendingIndirect=4
MaxSessions=16
MaxWait=15
MaxWaitIndirect=15
PingIntervalSeconds=15
Port=177

Si l’on veut sécuriser un peu, il va falloir ajouter les hotes autorisés dans le fichier /etc/hosts.allow.

Sous feisty, la version Desktop ne contient pas les fameux fichiers hosts.allow, hosts.deny,….. Il faut pour cela installer tcpd.

Le principe des fichiers hosts.allow et hosts.deny est le suivant :

  • Le premier fichier lu est hosts.allow, puis hosts.deny.
  • Si une requête est autorisée dans le fichier hosts.allow alors elle est acceptée, quelque soit le contenu du fichier hosts.deny.
  • Si une requête ne satisfait aucune règle, que ce soit dans hosts.allow ou hosts.deny alors elle est autorisée.

En un mot si vous ne mettez rien dans hosts.deny, alors vous n’avez rien fait.

Si l’on veut autoriser la machine dont l’ip est 192.168.1.15 à ouvrir des sessions distantes, on peut ecrire dans hosts.allow

gdm: 192.168.1.15

nov 27

Il est toujours aussi difficile d’analyser les logs de postfix surtout si l’on a plein de serveurs mails hébergés.

Il existe une alternative en Perl avec pflogsumm.

Installation

Rien de plus simple, on récupère l’archive et on la décompacte via la commande :

tar zxvf archive

on va dans le répertoire ainsi créé et on trouve un fichier dénommé pflogsumm.pl

Lancement

via la commande :

pflogsumm.pl nomdufichier log

ou pour analyser les logs d’hier

fplogsumm.pl -d yesterday nomdufichier log

Remarque

pplogsumm nécessite Date::Calc, un truc écrit en Perl que vous trouverez ici.
On peut aussi installer le paquet le paquet libdate-pcalc-perl tout simplement.

Liens :
http://jimsun.linxnet.com/postfix_contrib.html
http://www.guill.net/index.php?cat=7&sys=1&lin=23
pour des infos en français

nov 27

NRPE est un mécanisme qui permet d’éxécuter des commandes locales sur la machine dite “monitorée” et d’envoyer ces résultats à NAGIOS.
Pour cela, il faut installer sur le poste à monitorer le “serveur” NRPE ainsi que les plugins Nagios qui vont s’éxécuter en local puis être transmis via TCP à la machine NAGIOS.

Installation sur la machine à monitorer

Comme j’ai eu pas mal de soucis avec les paquets debian, j’ai décidé de récupérer les sources et de les compiler.

Il faut en fait installer deux composants :

  • nrpe
  • nagios plugins

En préalable, il est judicieux de créer un user et groupe nagios.

Installation nagios plugins

Aller sur le site http://www.nagios.org/download/ et récupérer la dernière version de nagios-plugins. La dernière à ce jour est la 1.4.9.

on décompacte la bête via la commande :

$ tar xzf nagios-plugins-1.4.6.tar.gz
$ cd nagios-plugins-1.4.6
$ ./configure
$ make
$ make install

Normalement, si tout se passe bien, les plugins du type check_smtp sont installés…
Ils sont installés dans /usr/lib/nagios/plugins/.
Il faut modifier les autorisations comme sivant :

chown nagios:nagios /usr/local/nagios
chown -R nagios:nagios /usr/local/nagios/libexec/

Installation NRPE

On récupère les sources de NRPE (2.8.1).
On décompacte tjs de la même façon :

$ tar xzf nrpe-2.8.1.tar.gz

$cd nrpe-2.8.1
$ ./configure –disable-ssl pour désactiver le support ssl

Ca doit donner un truc comme :

*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:

General Options:
————————-
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios

Ensuite,

$ make all
$ make install-plugin
$ make install-daemon
$ make install-daemon-config

Par defaut, nrpe se marrie bien avec inetd ou xinetd.
Nous allons donc installer Xinetd.
Installation de Xinetd

$ apt-get install xinetd

Configuration de xinetd pour nrpe

Les fichiers de configuration se trouve dans /etc/xinetd.d/.
On va donc y créer un fichier nommé nrpe qui sera comme suivant :

#default: on
# description: NRPE
service nrpe
{
flags = REUSE
socket_type = stream
wait = no
port = <port TCP nrpe>
user = nagios
group = nagios
server = <chemin d’acces à nrpe>
server_args = -c <chemin du fixhier de coinfig nrpe> -n –inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 <ip_nagios_machine>
}

avec par exemple :

  • <port TCP nrpe> : par défaut, 5666…Il est de bon ton de prendre un autre numéro de port surtout si on n’a pas active le support ssl
  • <chemin d’acces à nrpe> : /usr/local/nagios/bin/nrpe
  • <chemin du fixhier de coinfig nrpe>: /etc/nagios/nrpe.cfg
  • <ip_nagios_machine> : ip de la machine hebergeant Nagios

On relance Xinetd via :

/etc/init.d/xinetd restart

installation directe dans /etc/init.d/

On peut se passer de Xinetd pour lancer automatiquement au démarrage de la machine le fameux nrpe.
Pour cela, il faut créer un fichier, par exemple nrpe dans le répertoire /etc/init.d/.
Les droits dont du genre 755 avec comme user/groupe : root/root

Ce fichier ressemble à

#! /bin/sh
#

### BEGIN INIT INFO
# Provides: nagios-nrpe-server
# Required-Start: $local_fs $remote_fs $syslog $named $network $time
# Required-Stop: $local_fs $remote_fs $syslog $named $network
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/Stop the Nagios remote plugin execution daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/nagios/bin/nrpe
NAME=nrpe
DESC=nrpe
CONFIG=/usr/local/nagios/etc/nrpe.cfg

test -x $DAEMON || exit 0

if ! [ -x "/lib/lsb/init-functions" ]; then
. /lib/lsb/init-functions
else
echo “E: /lib/lsb/init-functions not found, lsb-base (>= 3.0-6) needed”
exit 1
fi

# Include nagios-nrpe defaults if available
if [ -f /etc/default/nagios-nrpe-server ] ; then
. /etc/default/nagios-nrpe-server
fi
# we also used to include this file, so if it’s there
# we include it as well
if [ -f /etc/default/nagios-nrpe ]; then
. /etc/default/nagios-nrpe
fi
if [ "$NICENESS" ]; then NICENESS=”-n $NICENESS”; fi

set -e

case “$1″ in
start)
log_daemon_msg “Starting $DESC” “$NAME”
start_daemon $NICENESS $DAEMON -n -c $CONFIG -d $DAEMON_OPTS
log_end_msg $?
;;
stop)
log_daemon_msg “Stopping $DESC” “$NAME”
start-stop-daemon –stop –quiet –oknodo –exec $DAEMON
log_end_msg $?
;;
reload|force-reload)
log_daemon_msg “Reloading $DESC configuration files” “$NAME”
start-stop-daemon –stop –signal HUP –quiet –exec $DAEMON
log_end_msg $?
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
log_failure_msg “Usage: $N {start|stop|restart|reload|force-reload}”
exit 1
;;
esac

exit 0

Il suffit ensuite, après avoir testé le script /etc/init.d/nrpe, automatiser son démarrage avec celui de la machine.

update-rc.d nrpe defaults 99

defaults utilise les paramètres par défaut, et 99 sert à indiquer que ce service démarrera après tous les autres……

Test du fonctionnement en local

On doit aussi ajouter le service nrpe/tcp dans le fichier /etc/services.
On edite ce fichier et on y ajoute nrpe

nrpe 5666/tcp

On verifie que le daemon NRPE tourne en regardant le résultat de la commande

$ netstat -at | grep nrpe

Ca doit donner :

tcp 0 0 *:nrpe *:* LISTEN

Ca montre que le daemon est bien en action !!

Puisqu’on a installer le fameux chek_nrpe (issue de la ligne de commande make install-plugin) pour tester la configuration en local, on va lancer :

$ /usr/local/nagios/libexec/check_nrpe -H localhost

qui doit nous retourner du genre

NRPE v2.8.1

Si tout ca est bon, alors, il ne reste plus qu’à autoriser le port tcp/5666 entre les deux machines si présence de firewall : la machine nagios et le machine à monitorée (celle sur laquelle on a installer less éléments précédents).

Configuration de nrpe.local

Il se trouve chez moi dans /etc/nagios/nrpe.cfg

# PID FILE
pid_file=/var/run/nrpe.pid

# PORT NUMBER
server_port=5666

# SERVER ADDRESS
server_address=<ip machin nagios>

# NRPE USER
nrpe_user=nagios
nrpe_group=nagios

# ALLOWED HOST ADDRESSES
allowed_hosts=127.0.0.1,<ip machine nagios>

# Values: 0=do not allow arguments, 1=allow command arguments
dont_blame_nrpe=0

# DEBUGGING OPTION
# Values: 0=debugging off, 1=debugging on
debug=1

command_timeout=60

# COMMAND DEFINITIONS
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_disk1]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/hda1
command[check_disk2]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/hdb1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

# local configuration:
# if you’d prefer, you can instead place directives here
include=/etc/nagios/nrpe_local.cfg

C’est dans la zone #COMMAND DEFINITIONS que l’on va pouvoir mettre nos petites fonctions comme ci dessous si l’on veut vérifier par exemple les mises à jour disponibles :

command[check_apt]=/usr/lib/nagios/plugins/check_apt

Configuration de la machine Nagios

Sur la machine Nagios, comme on suppose que celui-ci est deja installé, il ne nous reste qu’à installer le fameux check_nrpe qui se trouve dans les sources de nrpe comme décrit plus haut.

$ tar xzf nrpe-2.8.1.tar.gz
$ cd nrpe-2.8.1
$ ./configure
$ make all
$ make install-plugin

On teste l’installation en local via la commande :

$ /usr/local/nagios/libexec/check_nrpe -H localhost

Maintenant, on teste la connexion avec la machine à monitorer :

$ /usr/lib/nagios/plugins/check_nrpe -H -n -p

-c -t 100

__Remarque :__
* le “-n” correspond à la non activation des supports SSL.
* le ‘t 100′ est le temps de temporisation (par defaut, 10).

Si tout marche alors, il ne reste plus qu’à créer les commandes spécifiques pour que la machine à monitorer par Nagios.

Les fichiers de configuration pour Nagios 2 sur ma bécane sont dans /etc/nagios2/
Le fichier nagios.cfg contient notamment une entrée pour cfg_dir qui spécifie le répertoire des fichiers de configuration.

exemple : cfg_dir=/etc/nagios2/maconfamoi.

C’est dans ce répertoire que je vais coller les fichiers spécifiques à ma machine à monitorer.