Catégories
Nagios Open-source Planet-libre Reseau

Script d’installation automatique de Shinken/Thruk

Dans le petit monde des systèmes de supervision système et réseau, un nouveau venu pointe le bout de sa… lame: Shinken.

Développé de main de maître par Jean Gabes (un des spécialiste Français de Nagios), il en reprend la structure au niveau des fichiers de configuration tout en apportant de plus grandes des performances, le tout distribué sous une licence libre AGPL v3. Basée sur le langage Python, il offre une liste pour le moins  impressionnante de fonctions que vous pouvez consultez sur cette page.

Nous allons dans ce premier billet sur le sujet, détailler un script d’installation automatique du couple Shinken + Thruk (interface Web) sur une distribution GNU/Linux Debian (le script doit également fonctionner sur une distribution Ubuntu moyennant, peut être, quelques modifications, notamment l’édition des lignes arch_version et perl_version).

La version actuelle du script, va installer Shinken version 1.0 (à noter que cette version inclue une UI maison) et Thruk 1.1.7. Pour information, ces deux versions peuvent être utilisées dans un environnement de production.

Récupération du script d’auto installation de Shinken/Thruk

Il suffit d’ouvrir un terminal puis de saisir les commandes suivantes:

cd ~

rm -f shinkenautoinstall-debian.sh

wget –no-check-certificate https://raw.github.com/nicolargo/shinkenautoinstall/master/shinkenautoinstall-debian.sh

chmod a+x shinkenautoinstall-debian.sh

Vous pouvez également récupérer le script / remonter des demandes de nouvelles fonctions ou des bugs sur GitHub.

Lancement du script d’auto installation de Shinken/Thruk

Là encore rien de compliqué:

sudo ./shinkenautoinstall-debian.sh

Le script devrait se dérouler tout seul. Il vous demandera juste à un moment donnée de saisir le mot de passe que vous voulez affecter à l’utilisateur Unix shinken.

A la fin de l’installation, le serveur Shinken et l’interface Web Thruk seront lancées automatiquement.

—————————————————-

Installation terminée

—————————————————-

Fichiers de configuration : /etc/shinken

Fichiers de logs : /var/lib/shinken/nagios.log

Script de lancement de Shinken : /etc/init.d/shinken

Script de lancement de Thruk : /etc/init.d/thruk

Interface d’administration : http://@IP:3000

Arrivé à ce stade, vous pouvez éditer la configuration de Shinken (contenue dans le répertoire /etc/shinken) et vous connecter à l’interface Web d’administration (http://@IP:3000 ou @IP est à remplacer par l’adresse IP de votre serveur de supervision).

Petite astuce complémentaire pour les utilisateurs voulant faire transiter les connections vers l’interface d’administration Web par un serveur Web Nginx. Il suffit d’ajouter la configuration suivante dans un fichier de conf Nginx:

server {

listen 80;

server_name nagios.mondomaine.com;

location / {

proxy_pass http://127.0.0.1:3000;

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

Toute les requêtes entrantes sur le port TCP 80 et le nom de machine  nagios.mondomaine.com (à adapter à votre serveur) seront redirigées vers Nagios (http://127.0.0.1:3000). Cela permet d’éviter d’avoir à ouvrir un port supplémentaire (le 3000) sur votre serveur…

Que fait exactement le script d’auto installation de Shinken/Thruk ?

Pas grand chose, mis à part:

  • installation des pré-requis système
  • création de l’utilisateur shinken et du groupe associé
  • téléchargement des sources de Shinken et de Thruk
  • mise en place des scripts de démarrage de Shinken et Thruk (init.d)
  • vérification de la configuration de Shinken (l’équivalent de l’option -v de Nagios)
  • premier lancement de Shinken
  • premier lancement de Thruk

Si vous testez ce script sur Debian ou sur une autre distribution, je suis preneur de vos retours.

Sources:

Catégories
Nagios Open-source Reseau

Nagios 3.2.2 est disponible, les scripts Nicolargo aussi !

C’est la rentrée des classes dans le mini-monde de la supervision: en bon élève Nagios sort une nouvelle version de son coeur (Nagios Core 3.2.2). Pour une liste complète des nouveautés et corrections de bugs, je vous conseille la lecture de cette page.

En parallèle j’ai modifié les scripts d’installation et de mise à jour de Nagios pour qu’il prenne en compte cette nouvelle version.

Si vous avez suivi mon tutoriel d’installation de Nagios (ou que vous avez utilisé le script), il suffit de saisir les commande suivantes pour effectuer une mise à jour de votre serveur:

wget http://svn.nicolargo.com/nagiosautoinstall/trunk/nagiosautoupdate-ubuntu.sh

chmod a+x nagiosautoupdate-ubuntu.sh

sudo ./nagiosautoupdate-ubuntu.sh

Attention: cette méthode de mise à jour ne fonctionnera pas si vous avez installé Nagios à partir des dépôts officiels de votre distribution.

Et hop !

Catégories
Hardware Open-source

Installation Ubuntu Serveur 10.04 sur HP Proliant DL160 G6

Voici le bloc note de l’installation de la dernière version d’Ubuntu « Server » (Lucid 10.04) sur un HP Proliant DL160 G6.

En route…

Catégories
Open-source Systeme

Installation d’Ubuntu 10.04 sur Fujitsu Lifebook S760

J’ai installé et testé Ubuntu 10.04 (Lucid) sur un PC portable Fujitsu Lifebook S760. Voici le bloc note de cette installation.

Spécification du portable Fujitsu Lifebook S760:

Hardware Components
Status under Linux
Notes
Intel i5 M520 CPU Works
LCD 13,3 inchs Screen Works Resolution 1366×768
Intel HD graphic card Works Compiz OK
Sorties VGA/HDMI non testées
3 GB RAM Works
300 GB ATA HD Works 285 GB with ext4
Multicard Read/Wirte Works Tested with SD card
Integrated Network Card Works
Internal 56k Modem Not tested
CD/DVD Read/Write Works No special procedure required during installation
Internal WIFI Networking Works
65 WHr Lithium-Ion Battery Works
HDA Intel Sound Card Works

Version du noyau Linux testé: Linux kernel version 2.6.32-21-generic.

Aucun problème rencontré lors de l’installation à partir du Live CD.

Très agréable à utiliser au quotidien, PC rapide, écran lisible pour sa taille. Par contre entre quelques problème à résoudre:

  • les capteurs (sensors) de températures du PC ne remontent pas d’information à l’OS Linux. La gestion des ventilateurs régulant la température du portable est donc faite en interne, par le hardware. J’ai activé l’option « Silent Fan » du bios pour réduire les nuisances sonores mais la ventilation se déclenche encore trop souvent à mon gout (j’ai logué un bug).
  • toutes les touches (standards ou de fonction pour régler le son ou la luminosité de l’écran) fonctionnent bien sauf quand on met le PC en veille. Lors du retour de veille, les touches de luminosité ne fonctionnent plus.
Catégories
Developpement Nagios Open-source Reseau Systeme

Script d’installation automatique de Nagios

Il y a plusieurs méthodes pour installer Nagios, le système de supervision libre, sur un nouveau serveur. La plus simple est d’utiliser les dépôts officiels de votre distribution GNU/Linux, avec le désavantage de ne pas avoir les dernières versions disponibles. La seconde est de suivre pas à pas mon tutoriel (PART 1 et 2) qui permet de faire une compilation depuis les sources.

Je vous propose dans ce billet une troisième voie, qui mixe la simplicité de la première méthode et la finesse de la seconde.

J’ai développé un petit script (sous licence GPL) permettant d’automatiser l’installation d’un serveur Nagios complet sur une distribution GNU/Linux Ubuntu (j’ai validé le script sur Ubuntu Desktop et Ubuntu Server). Libre à vous de modifier ce script pour l’adapter à vos besoins. Si des âmes charitables veulent modifier le script pour l’adapter à d’autres distribution GNU/Linux ou BSD, je suis preneur pour les mettre en téléchargement sur mon SVN.

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

wget --no-check-certificate https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoinstall-ubuntu.sh
chmod a+x nagiosautoinstall-ubuntu.sh

PS: vous pouvez télécharger le script directement sur GitHub.

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système (en root ou précédé de la commande sudo):

./nagiosautoinstall-ubuntu.sh

Informations sur l’installation

Dans la version 0.8 du script la configuration finale est la suivante:

Nagios Core version      4.0.0
Nagios Plugins version   1.5
Utilisateur système:     nagios
Groupe système:          nagios
Utilisateur pour l'interface Web (http://localhost/nagios/): nagiosadmin
Catégories
Developpement Open-source Systeme

Installation d’un serveur SVN sous Ubuntu

Le but de ce billet est de mettre en place un serveur de gestion de versions basée sur SVN+SSH.

On commence par installer le package subversion qui comprend à la fois le client et le serveur SVN.

# sudo svn update
# sudo apt-get install subversion

on créé un utilisateur et un groupe générique svn.

# sudo adduser svn
Adding user `svn’ …
Adding new group `svn’ (1000) …
Adding new user `svn’ (1001) with group `svn’ …
Creating home directory `/home/svn’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for svn
Enter the new value, or press ENTER for the default
Full Name []: SVN
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y

Pour des questions de sécurité, je vous conseille de désactiver le SHELL pour cet utilisateur:

# sudo vipw
svn:x:1001:1000:SVN,,,:/home/svn:/usr/sbin/nologin

Si vous souhaitez accéder à votre serveur SVN avec un compte unix bien précis, il faut ajouter le login de ce compte au groupe svn:

# sudo vigr
svn:x:1000:nicolargo

Puis on créé un répertoire ou seront stockées les sources de vos programmes.

# sudo mkdir /var/svn

Il faut ensuite demander à SVN de créer un répertoire SVN pour notre projet:

# sudo svnadmin create /var/svn/projet

Puis de changer les droits:

# sudo chown -R svn:svn /var/svn
# sudo chmod -R 775 /var/svn

Il ne reste plus qu’a tester votre serveur à partir d’une machine distante en « important » votre projet (dont les sources sont localisées dans le répertoire ~/projet pour illustrer ce billet).

Avant l’importation, on va créer la structure classique de SVN:

projet
– trunk
– branches
– tags

client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/tags -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/branches -m «  »

Puis on importe les sources:

client# cd ~/projet
client# svn import . svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m « Premiere importation »
nicolargo@monserveur’s password:

Révision 0 propagée.

Il ne reste plus qu’a tester l’exportation des sources:

client# cd ~
client# mv projet projet.init
client# svn co svn+ssh://nicolargo@monserveur/var/svn/projet/trunk projet

Révision 0 extraite.

Pour aller plus loin dans l’utilisation de votre nouveau serveur SVN, je vous conseille le très bon article de Ulhume sur son non-blog…(remplacer juste http:// par svn+ssh://)

Catégories
Gstreamer Open-source Systeme

Tu fais quoi après l’installation d’Ubuntu ?

C’est en lisant le billet de SckyzO ce matin que je me suis rendu compte que je n’avais jamais mis sur le papier (sic) la liste des logiciels que j’installais systématiquement sur mes machines GNU/Linux Ubuntu.

Je vais essayer de mettre régulièrement ce billet à jour.

Voici donc ma commande magique (validée sur Ubuntu 9.04):

sudo apt-get install compizconfig-settings-manager gstreamer0.10-plugins-bad gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly-multiverse vlc ffmpeg ffmpeg2theora banshee music-applet liferea gwibber build-essential rxvt-unicode checkgmail gtk-recordmydesktop pidgin-facebookchat pidgin-plugin-pack drapes gnome-do gnome-do-plugins conky hardinfo flashplugin-installer sun-java6-plugin gthumb moovida

qui va installer:

  • la totale pour le FrameWork GStreamer
  • VideoLAN, le seul, l’unique, le meilleur logiciel pour regarder ses vidéos
  • Pour l’encodage/decodage FFmpeg et FFmpeg2theora
  • Banshee, mon lecteur audio préféré sous GNU/Linux (et son applet music-applet)
  • Liferea, comment vivre sans un lecteur de flux RSS de nos jours ? Celui-ci est simple, libre et efficace… (petit rappel, pour vous abonner au flux RSS de ce blog, c’est par ici)
  • Besoin de Twitter ? alors Gwibber est là…
  • un environnement de développement minimal (build-essential) puis suivre ce tuto pour installer Eclipse)
  • Urxvt est un terminal, plus rapide que gnome-terminal (voir ici pour une configuration aux petits oignons).
  • CheckGmail, un petit icone bien pratique qui se positionne dans la barre des taches pour me prévenir des nouveaux mail (Gmail). On peut même lire le contenu des mails. Il est même possible de gérer plusieurs comptes (option -profile=boulot) et les domaines hébergés chez Google (-hosted=mondomaine.com).
  • gtk-recordmydesktop permet de faire un screencast de son écran et d’une entrée audio. Idéal pour les tutos vidéos.
  • pidgin-facebookchat et pidgin-plugin-pack sont des plugins pour Pidgin, le client de messagerie instantané.
  • drapes est un utilitaire pour changer automatiquement de fond d’écran.
  • Gnome Do, un lanceur d’application libre et très bien.
  • Conky apporte une touche geek à votre bureau avec une supervision temps réel de votre machine (CPU / Memoire / T° …). Personnellement, j’utilise ce fichier .conkyrc (à mettre à la racine de votre compte). Si vous voulez le charger au démarrage : Système préférences → Application au démarrage.
  • Hardinfo permet d’avoir des informations systèmes et hardware de votre machine
  • Gthumb pour retoucher simplement mes images
  • Moovida: le media center ultime et libre !

Configuration du système

Pour le thèmes, je suis un fan de ceux proposées par Francois. Il faut d’abord installer des repos en suivant cette procédure. Puis séléctionner un des thèmes proposées.

Autres logiciels nécessitant des repos non standards…

Update: mon fichier /etc/apt/sources.list se trouve ici.

Si nécessaire, j’installe aussi Handbrake, il permet de riper les DVD et de convertir une vidéo dans un autre format. Pour cela, il faut ajouter les entrées suivants au fichier /etc/apt/sources.list:

## Medibuntu
deb http://packages.medibuntu.org/ jaunty free non-free

## Handbrake
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 62D38753
deb http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/handbrake-ubuntu/ppa/ubuntu jaunty main

Puis installer les packages:

sudo apt-get update

sudo aptitude install libdvdcss2 handbrake

Pour faire les captures d’écran qui illustre mes billets, j’utilise le logiciel Shutter. Pour l’installer, il faut:

Ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## Shutter (capture ecran)
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 009ED615
deb http://ppa.launchpad.net/shutter/ppa/ubuntu jaunty main

Puis lancer les deux commandes suivantes:

sudo apt-get update

sudo apt-get install  shutter

La version d’OpenOffice fournie en standard date un peu, pour avoir une version toute fraiche, il faut ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## OpenOffice
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 247D1CFF
deb http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main

Puis lancer les deux commandes suivantes:

sudo apt-get update

sudo aptitude safe-upgrade

J’ai (pour l’instant ) laissé tombé Firefox (devenu trop lourd, il faut maigrir un peu Mr…) pour Chromium (lire ce billet):

Ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## Chromium beta

# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 4E5E17B5

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

Puis on installe le bébé:

sudo aptitude update

sudo aptitude install chromium-browser

Pour toujours avoir mes fichiers sous la main quelque soit l’ordinateur ou je me trouve, j’utilise le répertoire partagé Dropbox.

Ajouter la lignes suivantes à votre fichier /etc/apt/sources.list:

## Dropbox
# sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 30A514BE
deb http://linux.getdropbox.com/ubuntu jaunty main
deb-src http://linux.getdropbox.com/ubuntu jaunty main
deb http://ppa.launchpad.net/nautilus-dropbox/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/nautilus-dropbox/ppa/ubuntu jaunty main

Puis lancer les deux commandes suivantes:

sudo apt-get update

sudo apt-get install nautilus-dropbox

Conclusion

Et vous c’est quoi votre ligne magique ???

Catégories
Open-source Reseau

Installation de Zabbix sur Linux

Zabbix un un outil de monitoring système et réseau. Contrairement à des systèmes comme Nagios ou Cacti, il fonctionne seulement en mode client/serveur. C’est à dire que l’architecture se base sur un serveur (zabbix_server) qui va demander des informations à des clients (zabbix_agent). Nous allons dans ce billet détailler l’installation de Zabbix sur une distribution Linux Ubuntu.

Installation de Zabbix serveur

J’ai ici choisi de faire une installation depuis les sources, histoire d’avoir plus rapidement la dernière version, mais si vous préférez, il existe des versions pré-compilée pour Ubuntu 6.10.

Pré-requis au niveau des librairies de developpement:

# sudo apt-get install libsnmp-dev libcurl4-gnutls-dev libmysqlclient15-dev

Récupération des sources sur la page suivante puis compilation:

# tar zxvf zabbix-1.4.2.tar.gz
# cd zabbix-1.4.2
# ./configure –enable-server –with-mysql –with-net-snmp –with-libcurl
# sudo make install

Configuration de la base de donnée MySQL locale (il vous faut donc un serveur MySQL installé accessible avec le login/password: username/password).

# mysql -u -p

mysql> create database zabbix;
mysql> quit;
# cd create/schema
# cat mysql.sql | mysql -u root -p zabbix
# cd ../data
# cat data.sql | mysql -u
root -p zabbix # cat images_mysql.sql | mysql -u root -p zabbix

Création des fichiers de configuration:

# sudo mkdir /etc/zabbix
# sudo cp misc/conf/*.conf /etc/zabbix/
# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBUser=username
DBPassword=password

Création de l’interface Web:

# sudo mkdir /var/www/zabbix
# sudo cp -rf ./frontends/php/* /var/www/zabbix/
# vi /etc/php5/apache2/php.ini
max_execution_time = 300
date.timezone = Europe/Paris
# apache2ctl restart

Lancement du serveur:

# /usr/local/sbin/zabbix_server

En cas de problème, le serveur génère des logs dans le fichier /tmp/zabbix_server.log.

Se connecter à l’interface Web: http://localhost/zabbix/

Puis suivre le wizard de configuration:
Introduction – Next
Licence – I agree / Next
Pre-requisites – Verifier que tout est OK puis Next
Configure DB – Saisir username/password MySQL, test OK puis Next
Pre-installation summary – Next
Install – Cliquer sur le bouton « Save configuration file » et télécharger manuellement le fichier zabbix.conf.php dans le répertoire /var/www/zabbix/conf puis cliquez sur Next

Si l’installation se passe sans problème vous devriez être redirigé vers la page d’authentification du serveur Zabbix (login: admin / password: ).

Installation du client Zabbix

Cette installation est à faire sur toutes les machines à surveiller. L’agent (le client) Zabbix existe pré-compilé sur de nombreux OS (Linux Ubuntu / Fedora, FreeBSD, Windows…).

Par exemple pour installer l’agent Zabbix sur une machine Linux Ubuntu, il suffit de faire:

# sudo apt-get install zabbix_agent

Il faut ensuite configurer les fichiers zabbix_agent.conf et zabbix_agentd.conf:

# sudo vi /etc/zabbix/zabbix_agent.conf

Server=adresse IP du serveur Zabbix

# sudo vi /etc/zabbix/zabbix_agentd.conf

Server=adresse IP du serveur Zabbix

Puis lancer le client:

# sudo /etc/init.d/zabbix-agent start

Pour installer un agent Zabbix sous Windows, il suffit de récupérer le binaire sur le site, de décompresser l’archive (via WinRAR) à la racine de votre disque c: et de créer un fichier c:\zabbix_agent.conf contenant la ligne suivante:

Server=adresse IP du serveur Zabbix

Puis de lancer l’exécutable c:\bin\win32\zabbix_agentd.exe

Configuration initiale de Zabbix

La première chose à faire une fois logué dans l’interface Web du serveur est de cliquer sur le lien Profile (en haut à droite) afin de modifier le mot de passe et la langue (Zabbix est traduit en Français).

Ensuite il faut ajouter des machines à surveiller (les machines ou l’on a installé le client Zabbix). Il faut donc se rendre dans le menu Configuration/Hôtes et cliquer sur le bouton Create Host (comme quoi il reste des choses à traduire…). Saisir les informations sur la machine (nom, adresse, …).

Vous pouvez consulter la documentation , le wiki ou le forum pour aller plus loin.

Catégories
Nagios Open-source Reseau

Installation de Nagios 3 sous Ubuntu

Update: Ce billet n’est plus à jour.

Merci de consulter cet autre tutoriel pour une installation de Nagios 3 sous Ubuntu

ou alors

cet autre billet avec un script automatique d’installation de Nagios sur GNU/Linux

Nagios, l’outil libre de monitoring réseau va bientôt passer en version 3.0. Nous allons donc dans cet article décrire l’installation de cette nouvelle monture sous un OS Linux Ubuntu (la procédure est presque la même pour Fedora).

Pre-requis

Nous avons d’abord besoin d’installer un serveur web (si ce n’est pas déjà fait) et les librairies de bases nécessaires pour la compilation de Nagios. Pour cela, il faut utiliser les commandes suivantes:

# sudo apt-get install apache2
# sudo apt-get install build-essential

Si vous voulez utiliser l’option de visualisation graphique de votre réseau (« status map »), il faut également installer les librairie suivantes.

# sudo apt-get install libgd2-noxpm-dev libpng12-dev libjpeg62 libjpeg62-dev

Il faut également créer un utilisateur et un groupe dédié au processus Nagios (pour d’évidente raison de sécurité).

# sudo -s
# /usr/sbin/useradd nagios
# passwd nagios
# /usr/sbin/groupadd nagios
# /usr/sbin/usermod -G nagios nagios
# /usr/sbin/groupadd nagcmd
# /usr/sbin/usermod -G nagcmd nagios
# /usr/sbin/usermod -G nagcmd www-data

Téléchargement des sources de Nagios

Afin de rendre cette procédure la plus générique possible (et don adaptable sous d’autres distributions Linux), nous allons faire une installation de Nagios à partir des sources. Nous allons donc commencer à les récupérer sur le site Nagios:

# cd /usr/src
# wget  http://surfnet.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz
# wget  http://kent.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz

PS: Pensez à changer le nom du fichier quand la version finale de Nagios sera sortie

Compiler les sources de Nagios

Une fois les sources décompressés:

# tar xzf nagios-3.0.2.tar.gz
# cd nagios-3.0.2

Nous allons lancer la compilation grâce aux commandes suivantes:

# ./configure –with-command-group=nagcmd
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Il faut ensuite installer l’interface Web:

# make install-webconf
# sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# /etc/init.d/apache2 reload

Puis finir par la compilation des plugins de base.

# cd ..
# tar xzf nagios-plugins-1.4.12.tar.gz
# cd nagios-plugins-1.4.12
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
# make
# make install

Configuration de Nagios

Nagios est maintenant installé sur votre machine. Avant de pouvoir le lancer, il faut éditer les fichiers de configuration qui se trouve dans le répertoire /usr/local/nagios/etc. Pour faire un premier test, le seul fichier à configurer avant d’éxecuter Nagios est le fichier /usr/local/nagios/etc/objects/contacts.cfg et de changer l’adresse email de contact (nagiosadmin) ou seront envoyés les mails en cas d’alerte.

Pour la configuration finale en fonction de vos besoin, vous pouvez consulter cette page qui décrit les fichiers de configurations.

Pour vérifier que la configration de Nagios est bonne (qu’il n’y a pas d’erreur dans les fichiers de configuration), vous pouvez utiliser l’option « -v » de la commande nagios:

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

Si vous n’avez pas d’erreurs, vous pouvez passer à la dernière étape.

Lancement de Nagios

Pour lancer Nagios, vous pouvez utiliser les commandes:

# /etc/init.d/nagios start
ou bien
# service nagios start

Pour le redémarrage de Nagios (par exemple si vous modifiez les fichiers de configurations):

# /etc/init.d/nagios restart
ou bien
# service nagios restart

Utilisation de Nagios

L’accès à l’interface Web de Nagios se fait par l’URL suivante: http://localhost/nagios/ (ne pas oublier le / final).

Pour aller plus loin…

Si vous avez besoins d’informations et d’aide supplémentaires sur Nagios, vous pouvez consulter:

Traitant régulièrement de sujet autour de Nagios, vous pouvez également vous abonnez au blog pour ne pas louper un article ;).

Catégories
Open-source Reseau

Comment surveiller son réseau avec le cochon Snort ?

Distribué sous licence open source (GPL), Snort est un IDS: c’est à dire un système de détection d’intrusion.

Souvent les réseaux (personnel ou d’entreprise) sont protégés par des Firewalls. Cette protection, bien que nécessaire, ne permet pas la détection des attaques extérieures. En effet, un Firewall est fait pour bloquer les flux réseaux non désirés tout en laissant passer le « trafic utile ». Deux problèmes peuvent se poser:

  • comment analyser à l’interieur d’un « trafic utile », les données potentiellement dangereuses (par exemple un script CGI contenant un virus).
  • comment se prévenir de attaques de type DOS (flood UDP).

Snort est une des réponses possible. Il va analyser, en temps réel, le trafic réseau, rechercher dans sa base de donnée des profils d’attaques connus et logger les résultats.

Nous allons donc dans ce billet installer Snort sur un routeur sous FreeBSD (mais la procédure est la même pour un OS de type Linux).

Installation de Snort

Snort est disponible dans les ports FreeBSD, il faut donc effecter les actions suivantes afin de le compiler sur votre système:

# cd /usr/ports/security/snort
# make WITH_MYSQL=YES WITH_FLEXRESP=YES install

Remarque: Sur Fedora, l’installation peut être effectuée avec la commande: « yum install snort »

Pour automatiser le lancement de Snort au démarrage du serveur FreeBSD, il faut éditer le fichier /etc/rc.conf et ajouter les lignes suivantes:

snort_enable= »YES »
snort_interface:= »bge0″

PS: il faut remplacer bge0 par le nom de l’interface qui se trouve du coté du réseau que l’on veut surveiller

Configuration de la base de donnée

Snort utilise une base de donnée pour stocker les attaques. Le schéma de la base de donnée se trouve dans le fichier ../usr/ports/security/snort/work/snort-<version>/schemas/create_mysql, il faut alors effectuer les taches suivantes sur la machine qui héberge votre serveur MySQL:

# mysql -u root -p
mysql> CREATE DATABASE snort;
mysql> GRANT ALL PRIVILEGES ON snort.* TO ‘snortuser’@’localhost’ IDENTIFIED BY ‘snortpassword’;
mysql> FLUSH PRIVILEGES;
# mysql -u root -p snort < ./create_mysql

Configuration de Snort

Le fichier de configuration par défaut se nomme snort.conf (sous FreeBSD dans /usr/local/etc/snort). Par rapport au fichier par défaut, j’ai juste modifié les deux lignes suivantes:

# vi /usr/local/etc/snort/snort.conf
var HOME_NET [192.168.1.0/24]
output database: log, mysql, user=snortuser password=snortpassword dbname=snort host=localhost
var SSH_PORTS 22
include $RULE_PATH/bleeding-all.rules

Il faut également mettre en commentaire toutes les autres lignes commencant par include « $RULE_PATH ».

Dans cette configuration, les attaques seront logger à la fois dans le fichier standard (/var/log/snort sous FreeBSD) et dans la base de donnée.

Initialisation des règles (attaques)

De nouvelles attaques apparaissant tous les jours, une mise à jour régulière des règles doit être effectuée. Direction le site officiel pour s’enregistrer en ligne et récupérer les dernières règles stables pour votre version de Snort.

Une fois les règles téléchargées (Sourcefire VRT Certified Rules – The Official Snort Ruleset (registered user release)), il faut les décompresser dans le répertoire /usr/local/etc/snort/rules.

Cette opération est à faire régulièrement, à chaque mise à jour des règles.

Lancement de Snort

On ajoute les options suivantes dans le fichier rc.d (sous FreeBSD):

# SNORT
snort_enable= »YES »
snort_interface= »em0″

Il ne reste plus qu’a lancer Snort.

Sous FreeBSD:
# /usr/local/etc/rc.d/snort start

Sous Fedora:
# service snort start

Comment exploiter les résultats

C’est très bien d’avoir un IDS en fonctionnement, mais maintenant comment voir et analyser les résultats…

Le plus rapide est d’aller voir le fichier alert (sous /var/log/snort). C’est ici qu’est logger la liste des attaques reconnus par vos règles.

Si vous voulez une interface plus « user friendly », vous pouvez utiliser Base, un autre outil open source proposant une interface Web pour l’analyse des logs venant de Snort.