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

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


précédentsommairesuivant

XIII. 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.

XIII-A. Archives

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

 
Sélectionnez
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

 
Sélectionnez
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 :

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

XIII-B. Création des groupes/utilisateurs

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

 
Sélectionnez
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 !) :

 
Sélectionnez
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 :

 
Sélectionnez
groupadd nagioscmd
usermod -G nagioscmd www-data
usermod -G nagioscmd nagios

Puis redémarrez Apache :

 
Sélectionnez
apachectl restart'

XIII-C. Compilation/Installation de Nagios

 
Sélectionnez
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 :

 
Sélectionnez
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

XIII-D. Déplacement des répertoires et attribution de permissions spécifiques

On déplace l'arborescence Web :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
mkdir /var/nagios/var/rw
chown nagios:nagioscmd /var/nagios/rw
chmod 3770 /var/nagios/var/rw

On donne des permissions convenables aux cgis :

 
Sélectionnez
cd /usr/local/nagios
chown -R nagios:www-data sbin
chmod 750 sbin/*

On restreint les droits sur les binaires Nagios :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
mount -o remount /usr

XIII-E. Configuration d'Apache

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

 
Sélectionnez
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.

XIII-F. Configuration des autorisations d'accès

Les autorisations d'accès au site statique :

 
Sélectionnez
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 :

 
Sélectionnez
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 :

 
Sélectionnez
chown nagiosadm:nagioscmd htpasswd.users
chmod 1640 htpasswd.users

XIII-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 :

 
Sélectionnez
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 :

 
Sélectionnez
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})

XIII-H. Et pour finir

Si vous décidez d'ajouter des logos :

 
Sélectionnez
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 *

précédentsommairesuivant

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.