Catégories
Open-source Reseau Systeme

Exemples de check de services Nagios

Quelques exemples de services pour Nagios. N’hésitez pas à donner d’autres exemples via les commentaires ou ma fiche de contact.

J’intégrerai les exemples les plus pertinents au billet.

On menu du jour:

  • superviser un serveur Web (HTTP)
  • superviser un serveur Web sécurisé (HTTP over SSL)
  • superviser un serveur de messagerie (mail)
  • superviser un serveur VoIP (sip)
  • superviser un serveur de fichiers (samba)
  • superviser un serveur annuaire (LDAP)
  • superviser un serveur de base de données (mySQL ou pgSQL)
  • superviser un serveur réseau (DHCP et DNS)
  • supervision de disques RAID (carte hardware HP Proliant)
  • supervision de disques RAID 1 logiciel sous FreeBSD
  • supervision d’un serveur Asterisk (suivre ce lien)
  • supervision d’un trunk IAX sur un serveur Asterisk

< tous les plats sont accompagnés de frites et de salade >

Catégories
Open-source

Actualité open-source de la semaine #28

L’actualité open-source de la semaine…

L’image de la semaine

gary.jpg
Et voilà Solo, à abuser de nmap et de john the ripper, on a des problèmes

Tout le monde en parle, sauf moi…

L’actualité du libre et de l’open source en vrac:

Autres choses ?

Catégories
Musique Open-source

Ecouter la musique de son Mac sous Linux

Si vous avez comme moi votre bibliothèque musicale stockée dans l’iTunes de votre Mac OS X et que vous souhaitez y accéder depuis votre PC Linux, alors ce billet est fait pour vous…

Comment ça marche ?

Nous allons utiliser DAAP (Digital Audio Access Protocol), un protocole commun entre votre Mac OS X qui va partager votre bibliothèque et votre lecteur audio sous Linux. Ce protocole se rapproche en fait du bien connu protocole HTTP (mais en écoute sur le port TCP/3689, avis aux utilisateurs de firewall…) permettant de partager des listes de lectures et de « streamer » des musiques (quelques soit le format/codec) sur le réseau.

Pour une description précise du protocole, vous pouvez consulter ce document.

Configuration du serveur DAAP sur le Mac OS X

Depuis iTunes 7.0, Apple (le vilain) a changé le protocole d’authentification des clients tiers. Il n’est donc plus possible d’accéder à une bibliothèque partager par iTunes 7.0 depuis un lecteur audio Linux comme Amarok, Banshee ou Rhytmbox.

Heureusement, la communauté open-source propose une solution alternative et que je trouve plus élégante: Fire Fly Media Server. Ce petit serveur DAAP (anciennement nommé mt-daap) est disponible sous Mac OS X.

Avant d’installer Fire Fly Media Server, on commence donc par vérifier que le partage est désactivé dans iTunes 7.0 afin qu’il n’y est pas de conflit entre les deux systèmes.

Partage-3.jpg

On peut alors passer à l’installation de Fire Fly Media Server. Il faut pour cela se rendre sur cette page et télécharger la dernière « nighly-build ».

Une fois installé, un nouvel icône est disponible dans les préférences systèmes:

Préférences Système.jpg

La configuration est très simple. On entre le nom du partage qui sera diffusé sur le réseau (1), le mot de passe (2) et si le serveur est lancé au démarrage de la session (3).

Firefly.jpg

Ensuite, dans l’onglet Avancé, on configure le répertoire ou se trouve la bibliothèque musicale (/Users/<login>/Music pour partager votre bibliothèque iTunes):

Firefly-1.jpg

Il ne reste plus qu’a démarrer le serveur .Cette action sera faite automatiquement au prochain reboot si vous avez sélectionné cette option (3).
Firefly-2.jpg

Configuration du client DAAP sous Linux

J’utilise le lecteur audio Banshee sous ma station Linux Ubuntu. La procédure pour accéder au partage est la suivante.

On commence par activer le plugin Partage de musique:

capture_200807313859.jpg

Le nom du partage devrait alors apparaître automatiquement dans la liste des Musique partagée de Banshee. Une fois sélectionné (1), il faut saisir le mot de passe (2).

capture_200807313522.jpg

Vous avez alors accès à votre bibliothèque. Lors de l’écoute d’un morceau, les données sont « streamées  » entre le Mac et le Linux. Ainsi, aucun fichier n’est stocké sur votre Linux.

capture_200807313727.jpg

Conclusion

Vous pouvez donc partager vos fichiers audio (MP3 ou autres) de manière très simple. L’avantage de cette solution par rapport à un simple partage iTunes (en dehors du fait que cela marche;) ) est qu’il n’est pas nécessaire de lancer iTunes pour accéder à vos musiques.

En cadeau bonux, Firefly Media Server dispose d’une interface Web d’administration accessible par défaut par l’adresse http://localhost:1024/index.html.

Catégories
Open-source Reseau

Tester la faille DNS CP en ligne de commande

Pour vérifier que vos serveurs DNS ne sont pas touchés par la faille DNS Caching Poisoning (DNS CP), un simple test via la ligne de commande de votre système est possible. Nous allons dans ce billet voir comment réaliser et interpréter ce test puis détailler les actions à prendre au cas ou ce test serait positif.

Faire le test

On va utiliser l’utilitaire dig, fourni en standard dans tout OS qui se respecte.On lance la commande suivante (remplacer dns par l’adresse IP de votre serveur DNS):

dig +short @dns porttest.dns-oarc.net TXT

Si le résultat est:

z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
« dns is GOOD: 26 queries in 4.4 seconds from 26 ports with std dev 20195.32″

Alors vous pouvez pavoiser, pas la peine d’aller plus loin, votre DNS est protégé contre ce type d’attaque.

Par contre si le résultat est le suivant:

porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
« dns is POOR: 26 queries in 4.3 seconds from 1 ports with std dev 0″

Il faut vite penser à mettre à jour votre DNS en suivant les conseils du paragraphe suivant.

Mettre à jour son serveur DNS

Sous FreeBSD

On commence par mettre à jour les ports en suivant cette procédure. Puis on tape les commandes:

cd /usr/ports/dns/bind9
make deinstall
make reinstall

Sous Linux Ubuntu

On passe par le gestionnaire de package apt-get:

sudo apt-get update
sudo apt-get upgrade

Sous Linux Fedora

On passe par le gestionnaire de package yum:

su – root
yum update

Configurer son serveur DNS

Si vous avez une architecture DNS avec un primaire et un secondaire (par exemple si vous avez suivi ce tutorial). Il peut être bon d’avoir une configuration différente entre le primaire (celui qui est le plus exposé aux attaques venant d’Internet et le secondaire qui sera uniquement utilisé par les clients de votre réseau local).

Source: SecureWorks

Sur le serveur primaire (« Authoritative nameserver ») il est conseillé de désactivé la résolution des requêtes par récursion (option allow-recursion) et d’activer le changement dynamique du port réseau de réponse du serveur DNS (option dnssec-enable).

Sur ce premier serveur, la section options di fichier named.conf ressemblera donc à:

options {

allow-recursion { none; };
dnssec-enable yes;
}

Selon la criticité de votre réseau vous pouvez également appliquer cette configuration sur le serveur secondaire (« caching nameserver »).

Il ne reste plus qu’a relancer le serveur DNS et à recommencer le test du premier chapitre.

Catégories
Open-source Reseau

Surveiller vos espaces disques SMB avec Nagios

Une petite astuce pour surveiller facilement avec Nagios, l’espace disque disponible sous ses serveurs Windows ou Samba (protocole SMB).

La première chose à faire est de tester le plugin en ligne de commande. Par exemple pour surveiller l’espace disque monpartage du serveur monserveur (\\monserveur\monpartage) en utilisant le couple login/password monuser/monpassword:

/usr/local/nagios/libexec/check_disk_smb -H monserveur -s monpartage -u monlogin -p monpassword

Il est possible que vous rencontriez l’erreur suivante sous Ubuntu 8.10:

Can't exec "//monserveur/monpartage": No such file or directory at /usr/local/nagios/libexec/check_disk_smb line 166.
Use of uninitialized value $res in split at /usr/local/nagios/libexec/check_disk_smb line 172.
Use of uninitialized value $_ in pattern match (m//) at /usr/local/nagios/libexec/check_disk_smb line 180.
Result from smbclient not suitable

Dans ce cas, je vous conseille la lecture de cette discussion dans le forum pour corriger le problème.

On commence par éditer le fichier commands.cfg pour ajouter le plugin:

define command{

command_name    check_disk_smb

command_line    $USER1$/check_disk_smb -H $HOSTADDRESS$ -s $ARG1$ -u $ARG2$ -p $ARG3$

}

Puis on utilisera la définition de service suivante (à mettre par exemple dans le fichier objects/servers.cfg):

define service{

use                     generic-service

host_name               monserveur

service_description     Disk space

check_command           check_disk_smb!servernas!monpartage!monuser!monpassword

}

Un alerte d’avertissement (warning) sera générée si l’espace disque est inférieur à 15%, une alerte critique (critical) si cette valeur passe à 5%.

Catégories
Web

La brute de Nicolargo

Comme tout le monde je viens de créer ma brute pour affronter virtuellement ceux qui oseraient s’y attaquer… Mais ma brute à un plus que les autres n’ont pas…

C’est en fait la plus mauvaise brute de la blogosphére. Elle se prend tannée sur tannée….

Alors si toi aussi tu veux lui foutre une bonne branlée et gagner facilement quelques points d’expériences il suffit de cliquer sur ma brute:

Nicolargo LA BRUTE
La brute de Nicolargo

PS: si tu sors de ta grotte et que tu ne connais pas La brute, clique ici pour créer ton personnage.

Catégories
Open-source Reseau Systeme

Mise à jour des plugins dans Nagios

Comme vous le savez tous (ou pas), Nagios est composé d’un coeur (Nagios le bien nommé actuellement en version 3.x) et de packages d’extensions (NDO, Nagios-plugins…).

Voici une simple procédure à suivre pour mettre à jour les plugins dans Nagios. C’est un complément de l’article sur la mise à jour de Nagios.

Téléchargement des plugins

Il faut au préalable des opérations suivantes, se loguer en tant qu’utilisateur nagios afin que les fichiers soient générés avec les bons droits.

Sur Fedora:

su -l nagios

Sur Ubuntu ou Debian:

sudo -s nagios

Puis télécharger la dernière version stable des plugins (1.4.12 au moment de l’écriture de ce billet).

mkdir src
cd src
wget http://heanet.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz
tar zxvf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12

Mise à jour des plugins

On commence par compiler les plugins:

./configure
make

puis on installe en lieu et place des anciens plugins:

make install
exit

Certains plugins (check_dhcp) nécessitent les droits root pour être installés:

su – root

make install-root

exit

Redémarrage de Nagios

Afin que les plugins soit pris en compte, il faut redémarrer Nagios en utilisant les commandes suivantes:

Sur Fedora:

service nagios restart

Sur Ubuntu ou Debian:

/etc/init.d/nagios restart

Et voili…

Catégories
Blog

Un bon plugin pour les commentaires de votre blog

WP Comment Remix est un plugin WordPress (testé avec WP 2.6) qui ajoute quelques fonctions intéressantes aux commentaires de votre blog:

  • ajout d’un bouton « Répondre » en bas de chaque commentaire (celà va automatiquement insérer un lien vers  le commentaire en question dans le commenatire que vous êtes en train de rédiger)
  • ajout d’un bouton « Citer » en bas de chaque commentaire (pour citer un commentaire d’une autre personne)
  • gestion des tags par commentaires
  • mise à disposition d’un widget pour afficher les derniers commentaires
  • mise à disposition d’un widget pour afficher les derniers trackbacks
  • mise à disposition d’un widget pour afficher les billets les plus commentés
  • mise à disposition d’un widget pour afficher les commenatires les plus actifs

Après installation, il suffit de ce rendre dans les options pour configurer le plugin selon vos besoins (notamment pour changer les mots clès de l’Anglais vers le Francais).

Celà donne cela sur votre blog:

C’est le genre de plugin tout en un que je trouve assez pratique.

A télécharger ici.

Catégories
Open-source

Actualité open-source de la semaine #27

L’actualité open-source de la semaine…

Tout le monde en parle, sauf moi…

L’actualité du libre et de l’open source en vrac:

Autres choses ?

Catégories
Open-source Systeme

Générer votre script de démarrage Ubuntu

Vous venez de développer un « super_daemon_de_la_mort_qui_tue » qui doit se lancer au boot de votre machine Ubuntu mais vous ne savez absolument pas comment écrire un script de démarrage en bonne et due forme (et pas « en bonnet du forme »…) ?

Heureusement, Robert Peclot’s (merci à Mumbly pour la découverte) propose un petit script en ligne permettant de générer celà pour vous.

Il faut ce rendre à l’adresse suivante puis saisir le formulaire:

Puis le résultat (facilement téléchargeable):

#! /bin/sh
#
# This script was generated by The Ubuntu Linux Startup Script Builder
# version 1.7 located at http://rob.pectol.com/startup_scriptbuilder/.
#
# Generated: Fri Jul 25 05:18:02 MDT 2008
#
# super_daemon_de_la_mort_qui_tue.sh – Script de démarrage pour super_daemon
#
##################################################

set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

if [ -r /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
logbegin= »log_begin_msg »
logend= »log_end_msg »
else
logbegin= »echo -n »
logend=`printf « echo .\n »`
fi

# Exit if the daemon binary is NOT available, executable, etc.
test -x /usr/bin/super_daemon || exit 0

# Read config file if it is present.
if [ -r /etc/default/super_daemon.conf ]; then
. /etc/default/super_daemon.conf
fi

# Start function
d_start() {
start-stop-daemon –start –pidfile /var/run/super_daemon –exec /usr/bin/super_daemon — -d
}

# Stop function
d_stop() {
start-stop-daemon –stop –pidfile /var/run/super_daemon –name super_daemon
}

# SigHup function
d_reload() {
start-stop-daemon –stop –pidfile /var/run/super_daemon –name super_daemon –signal 1
}

case « $1 » in
start)
$logbegin « Starting super_daemon… »
d_start
$logend $?
;;
stop)
$logbegin « Stopping super_daemon… »
d_stop
$logend $?
;;
reload)
$logbegin « Reloading configuration for super_daemon… »
d_reload
$logend $?
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
log_success_msg « Usage: $0 {start|stop|reload|restart} »
exit 1
;;
esac
exit 0