IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Installation et sécurisation d'une station Debian 3.0 stable


Installation et sécurisation d'une station Debian 3.0 stable

15/05/2004




VIII. INSTALLATION D'UN DEMON NAGIOS
VIII.a. Archives
VIII.b. Création des groupes/utilisateurs
VII.c. Compilation/Installation de Nagios
VIII.d. Déplacement des répertoires et attribution de permissions spécifiques
VIII.e. Configuration d'Apache
VIII.f. Configuration des autorisations d'accès
VIII.g. Script d'initialisation et administrateurs Nagios
VIII.g. Et pour finir


VIII. INSTALLATION D'UN DEMON NAGIOS


Objectifs : Installer un serveur de supervision Nagios accessible en HTTPS. Sécuriser un minimum l'arborescence système. Utiliser sudo pour l'administration Nagios. Note : Pour cette installation, certains répertoires sont crées dans /var/nagios/, je vous conseille donc d'utiliser une partition dédiée montée par exemple en rw,sync.


VIII.a. Archives


On récupère les sources à partir de www.nagios.org

cd /home/system/download/nagios/ md5sum * 35b75ece533dfdf4963a67ce4e77fc4a imagepak-base.tar.gz 3ed26d8b49379e0dc14f448d5c2a70c3 imagepak-satrapa.tar.gz 5f48ecd9bad2c4d7c9d88d0b6f347ecf nagios-1.1.tar.gz 0078c9c8137694181a4cdf596fdbd74f nagios-plugins-1.3.1.tar.gz
On met à jour le système pour les packages nécessaires

apt-get install libgd-dev libfreetype6-dev libjpeg62-dev libpng2-dev\ xlibs-dev zlib1g-dev -d cd /var/cache/apt/archives/ /usr/bin/md5sum libgd-dev_1.8.4-17.woody2_i386.deb libfreetype6-dev_2.0.9-1_i386.deb\ libjpeg62-dev_6b-5_i386.deb libpng2-dev_1.0.12-3.woody.3_i386.deb\ xlibs-dev_4.1.0-16woody1_i386.deb zlib1g-dev_1%3a1.1.4-1.0woody0_i386.deb 5b6160127cb2dcd2f63fee1811647ada libgd-dev_1.8.4-17.woody2_i386.deb 3e378f406f3c192cdfb8b4a82774203c libfreetype6-dev_2.0.9-1_i386.deb 194c37acd4eefb512c2a006cb13bd86d libjpeg62-dev_6b-5_i386.deb 3e30f2832304f64467801e966df1a764 libpng2-dev_1.0.12-3.woody.3_i386.deb 28a3ead8c6cbcaa064f05daff4c1dd9f xlibs-dev_4.1.0-16woody1_i386.deb 38b5554abc9c9521451f408230df0e8c zlib1g-dev_1%3a1.1.4-1.0woody0_i386.deb
On installe les packages :

mount -o remount,rw /usr apt-get install libgd-dev libfreetype6-dev libjpeg62-dev libpng2-dev\ xlibs-dev zlib1g-dev mount -o remount /usr

VIII.b. Création des groupes/utilisateurs


Création de l'utilisateur restreint destiné à exécuter le démon :

groupadd nagios adduser --no-create-home --disabled-password --quiet --ingroup nagios\ --home /usr/local/nagios nagios Changing the user information for nagios Full Name []: Nagios Restricted User Other []: Used by the Nagios Daemon Is the information correct? [y/n] y
Préparez l'administration nagios (installez sudo !) :

groupadd nagiosadm adduser --no-create-home --disabled-password --quiet --home\ /var/nagios/etc/ --ingroup nagiosadm nagiosadm Full Name []: Nagios Administrator Other []: Restricted via sudo login passwd -l nagiosadm && chsh -s /bin/false nagiosadm
Que vous comptiez autoriser l'exécution de commandes externes ou non, créez un groupe dans lequel se trouveront nagios et le serveur web :

groupadd nagioscmd usermod -G nagioscmd www-data usermod -G nagioscmd nagios
Puis redémarrez Apache :

apachectl restart'

VII.c. Compilation/Installation de Nagios


cd /home/system/download/nagios/ tar zxvf nagios-1.1.tar.gz chown -R root:root nagios-1.1 chmod 700 nagios-1.1/ && cd nagios-1.1 ./configure --prefix=/usr/local/nagios --with-cgiurl=/cgi-bin\ --with-htmlurl=/var/www/htdocs/nagios --with-nagios-user=nagios\ --with-nagios-grp=nagios --with-gd-lib=/usr/local/lib\ --with-gd-inc=/usr/local/include make all cd /home/system/download/nagios/ tar zxvf nagios-plugins-1.3.1.tar.gz chown root:root nagios-plugins-1.3.1 chmod 700 nagios-plugins-1.3.1 && cd nagios-plugins-1.3.1 ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios\ --with-nagios-group=nagios --with-cgiurl=/cgi-bin make all
On y va pour l'installation :

mount -o remount,rw /usr mkdir /usr/local/nagios cd /home/system/download/nagios/nagios-1.1 make install cd /home/system/download/nagios/nagios-plugins-1.3.1 make install chmod 3755 /usr/local/nagios

VIII.d. Déplacement des répertoires et attribution de permissions spécifiques


On déplace l'arborescence Web :

cd /usr/local/nagios mv share /var/www/htdocs/nagios ln -s /var/www/htdocs/nagios share cd /var/www/htdocs/ chown -R root:webadm nagios cd nagios find . -type d -exec chmod 3775 {} \; find . -type f -exec chmod 1664 {} \;
On prépare l'arborescence variable + configuration :

mkdir -p /var/nagios/{var,etc} chown nagiosadm:nagioscmd /var/nagios /var/nagios/etc chown nagios:nagioscmd /var/nagios/var chmod 3755 /var/nagios /var/nagios/etc chmod 3750 /var/nagios/var
On déplace l'arborescence var :

cd /usr/local/nagios mv var/* /var/nagios/var/ rmdir var && ln -s /var/nagios/var var
On crée le fichier de transfert de commande :

mkdir /var/nagios/var/rw chown nagios:nagioscmd /var/nagios/rw chmod 3770 /var/nagios/var/rw
On donne des permissions convenables aux cgis :

cd /usr/local/nagios chown -R nagios:www-data sbin chmod 750 sbin/*
On restreint les droits sur les binaires Nagios :

cd /usr/local/nagios chown -R root:nagios bin chmod 750 bin bin/nagios chown -R nagios:nagios libexec chmod 755 libexec chmod 750 libexec/* && chmod 755 libexec/check_nagios
On prépare le répertoire de stockage de la configuration :

cd /usr/local/nagios mv etc/* /var/nagios/etc/ rmdir etc && ln -s /var/nagios/etc etc cd /var/nagios/etc chown nagiosadm:nagioscmd * chmod 1640 *
On a fini avec /usr, on remonte en lecture seule :

mount -o remount /usr

VIII.e. Configuration d'Apache


Editez /etc/apache/httpd.conf pour ajouter :

LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so ############################ ### Configuration Nagios ### ############################ ScriptAlias /cgi-bin/ "/usr/local/nagios/sbin/" <Directory "/var/www/htdocs/nagios"> Options SymLinksIfOwnerMatch AllowOverride AuthConfig Order allow,deny Allow from all </Directory> <Directory "/usr/local/nagios/sbin/"> AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all </Directory>
puis redémarrez Apache.

Note : En ce qui me concerne, je place la configuration Nagios dans un virtualhost activant la fonctionnalité SSL.


VIII.f. Configuration des autorisations d'accès


Les autorisations d'accès au site statique :

cd /var/www/htdocs/nagios cat > .htaccess << EOF > AuthName "Nagios" > AuthType Basic > AuthUserFile "/usr/local/nagios/etc/htpasswd.users" > require valid-user > EOF chown root:webadm .htaccess chmod 1664 .htaccess
Récupération du fichier d'autorisation htaccess pour les cgis :

cp /var/www/htdocs/nagios/.htaccess sbin/ chown nagios:www-data sbin/.htaccess chmod 440 sbin/.htaccess
Créez votre fichier de mot de passe /var/nagios/etc/htpasswd.users avec htpasswd et :

chown nagiosadm:nagioscmd htpasswd.users chmod 1640 htpasswd.users

VIII.g. Script d'initialisation et administrateurs Nagios


Créez votre script d'initialisation dans /etc/init.d/init_nagios.sh à partir de l'annexe 'ANNEXE 14 - Script d'initialisation Nagios' puis :

chmod 750 init_nagios.sh update-rc.d init_nagios.sh defaults
Ajoutez les utilisateurs que vous voulez dans le groupe nagiosadm puis visudo et :

Cmnd_Alias EDIT_NAGIOS_CONF=/usr/bin/vim Cmnd_Alias INIT_NAGIOS=/etc/init.d/init_nagios.sh [A-z]* %nagiosadm ALL=(nagiosadm)NOPASSWD:EDIT_NAGIOS_CONF %nagiosadm ALL=NOPASSWD:INIT_NAGIOS
Note : Je sais que ce n'est pas la panacée (=> man vi{m})


VIII.g. Et pour finir


Si vous décidez d'ajouter des logos :

cd /var/www/htdocs/nagios/images/logos tar zxvf /home/system/download/nagios/imagepak-base.tar.gz tar zxvf /home/system/download/nagios/imagepak-satrapa.tar.gz chown -R root:webadm *


Copyright (c) 2003 Simon Castro, scastro [ at ] entreelibre.com.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
You must have received a copy of the license with this document and it should be présent in the fdl.txt file.
If you did not receive this file or if you don't think this fdl.txt license is correct, have a look on the official http://www.fsf.org/licenses/fdl.txt licence file.
Copyright (c) 2003 Simon Castro, scastro [ at ] entreelibre.com.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
You must have received a copy of the license with this document and it should be présent in the fdl.txt file.
If you did not receive this file or if you don't think this fdl.txt license is correct, have a look on the official http://www.fsf.org/licenses/fdl.txt licence file.