Catégories
Open-source Reseau

Installation de Nagios sur Fedora

Update: pour une procédure d’installation de Nagios version 3, merci de suivre ce lien… 

Voici les étapes à suivre pour installer Nagios (le « bien connu » outil de monitoring réseau « open-source ») sur un serveur Fedora.

La configuration est la suivante:

  • Fedora Core 6 (avec kernel 2.6.19) avec serveur Apache pre-installé.
  • Nagios 2.6

On commence par l’installation de Nagios et des différents plugins.

# yum -y install nagios
# yum -y install nagios-plugins
# yum -y install nagios-plugins-ping nagios-plugins-tcp nagios-plugins-udp nagios-plugins-http nagios-plugins-dns nagios-plugins-smtp nagios-plugins-ldap nagios-plugins-pgsql nagios-plugins-mysql

Vient ensuite la configuration du serveur web (Apache dans notre exemple, mais on peut en utiliser un autre). On doit pour cela modifier le fichier nagios.conf dans /etc/httpd/conf.d/ pour autoriser l’accés depuis toutes les sources.

# vi /etc/httpd/conf.d/nagios.conf
> Remplacer les lignes deny from all par allow from all

On doit également générer un couple login/password pour accèder à l’interface Web d’administration. Pour cela, il faut:

# htpasswd -c /etc/nagios/passwd admin

Dans ma configuration il a aussi fallu que je passe ma Fedora en mode SELINUX permissive, sinon les scripts CGI de Nagios ne s’executaient pas.

# vi /etc/selinux/config
> SELINUX=disabled
# reboot

Il ne reste plus qu’a vérifier que le serveur Web marche bien.
http://<adresse de votre serveur>/nagios/

La configuration de base du daemon Nagios est alors la suivante:

# cd /etc/nagios
# cp nagios.cfg-sample nagios.cfg
# vi nagios.cfg
Se reporter à la documentation suivante pour configurer ce fichier.
# cp cgi.cfg-sample cgi.cfg
# vi cgi.cfg
Se reporter à la documentation suivante pour configurer ce fichier.
# vi contacts.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi dependencies.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi escalations.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hostgroups.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hosts.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi hostgroups.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi services.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.
# vi timeperiods.cfg
> Se reporter à la documentation suivante pour configurer ce fichier.

Update: j’ai également écrit un post pour détailler cette configuration.

Pour tester vos fichiers de configuration, vous pouvez utiliser la commande suivante:

# nagios -v /etc/nagios/nagios.cfg

Total Warnings: 0
Total Errors: 0
Things look okay – No serious problems were detected during the pre-flight check

Et voila le moment tant attendu, le lancement du process:

# service nagios start

Ne pas oublier de forcer le demarrage du process au reboot de la machine grâce à la commande (petit rappel):

# chkconfig –levels 235 nagios on

Il ne reste plus qu’a pointer votre navigateur Web favori sur l’URL suivante:
http://<adresseipduserveur>/nagios/

En cas de problème (serveur Web injoignable par exemple), il faut vérifier que le Firewallautorise bien les requêtes HTTP entrantes.

# iptable -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
# /sbin/iptables-save

Et voila le travail !!!

PS: en cas de modification des fichiers de configuration (par exemple ajout d’une machine monitorer), vous pouvez utiliser la commande suivante, qui vérifie vos fichiers de configurations et que les recharges.

# service nagios reload

Catégories
Reseau Systeme

Installation serveur FTP avec support LDAP

Voici un tutorial pour installer un serveur en 5 minutes chrono un serveur FTP avec le support LDAP pour l’authentification des utilisateurs sous Fedora (ou d’autres système Linux).

Top chrono…

La première chose à faire est de récupérer la dernière version de ProFTPd (serveur FTP) à l’adresse suivante:

# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz

PS: l’installation par yum ne convient pas car le package n’est pas compilé avec l’option LDAP qui nous interesse dans ce post…

Ensuite, il faut compiler:

# tar zxvf proftpd-1.3.0a.tar.gz
# cd proftpd-1.3.0a
# ./configure –with-modules=mod_ldap
# make
# make install

Puis automatiser le démarrage pour le prochain reboot (vous pouvez lire ce post pour des informations complémentaires sur le lancement automatique des services sous Fedora):

# cp contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd
# chmod +x /etc/init.d/proftpd
# chkconfig –levels 235 proftpd on

Vient ensuite la configuration du serveur via le fichier /usr/local/etc/proftpd.conf:

# vi /usr/local/etc/proftpd.conf

LDAPServer
LDAPDNInfo
LDAPDoAuth on
LDAPDefaultAuthScheme « clear »
CreateHome on 711
LDAPGenerateHomeDir on 711
LDAPForceGeneratedHomedir on
LDAPGenerateHomedirPrefix /usr/local/data/

Dans cette configuration, à chaque connection d’un utilisateur renseigné dans le LDAP, un sous-repertoire avec l’UID de l’utilisateur sera créé sous /usr/local/data. Par exemple quand l’utilisateur nico se connecte via un client FTP, le repertoire /usr/local/data/nico sera automatiquement créé pour stocker les fichiers FTP.

Et enfin le démarrage du service:

# service proftpd start

TOP ! 5 minutes chronos 🙂

Catégories
Uncategorized

Bluetooth / Nokia et Fedora

Je viens d’essayer de faire communiquer mon PC sous Fedora Core 6 et mon téléphone Nokia Bluetooth (Nokia ). Voici les quelques actions à faire.

La première chose (si vous n’avez pas la chance d’avoir un PC compatible Bluetooth) est d’acheter un dungle Bluetooth USB (on en trouve à environ 30€). Pour ma part j’utilise un dungle Trendnet TBW-102UB. Celui-ci est reconnue disrectement sous Fedora:

# tail -f /var/log/message
Jan 11 16:47:37 gollum kernel: Bluetooth: HCI USB driver ver 2.9
Jan 11 16:47:37 gollum kernel: usbcore: registered new driver hci_usb
Jan 11 16:47:37 gollum hcid[2060]: HCI dev 0 registered
Jan 11 16:47:37 gollum hcid[2060]: Register path:/org/bluez/hci0 fallback:0
Jan 11 16:47:37 gollum hcid[2060]: HCI dev 0 up
Jan 11 16:47:37 gollum hcid[2060]: Device hci0 has been added
Jan 11 16:47:37 gollum hcid[2060]: Starting security manager 0
Jan 11 16:47:37 gollum hcid[2060]: Device hci0 has been activated

Vous pouvez alors tester le téléchargement de fichier sous votre portable en faisant un click droit sur le fichier puis « Envoyer à … ». Une fenêtre s’ouvre alors, il suffit de selectionner le portable:
Votre portable devrait recevoir l’image (après vous avoir demandé l’autorisation).

D’autre fonction son aussi disponibles, comme la possibilité d’envoyer des SMS via son portable (pratique si comme moi vous n’êtes pas assez jeune pour connaitre la langue SMS…). Il faut pour cela installer un package nommé gnome-phone-manager.

(en root)
# yum install gnome-phone-manager

Au premier lancement du programme, il faut configurer avec quel equipement il va communiquer (votre téléphone portable Bluetooth dans notre cas). Pour cela allez dans le menu Preferences / Connection puis saisir les informations suivantes:
Phone Manager vous demandera alors un code PIN. D’abord sur votre portable puis sur votre PC.
Il ne vous reste plus qu’a rediger le SMS avec votre clavier !

Catégories
Uncategorized

Tunnel IPSec sous FreeBSD

Nous allons dans ce post décrire le moyen de créer un tunnel IPSec entre deux réseaux distants et ainsi former un réseau privée virtuel (ou VPN pour les intimes).

Un VPN ou Virtual Private Network, est un tunnel logique (par opposition au réseau privé) établi entre deux entités et dans lequel les données circulant ne sont pas « visibles » de l’extérieur. Cette « invisibilité » peut être due par exemple à un chiffrement des données ou à un protocole particulier des échanges de données. Dans le cas des VPN IPSEC, on aurait tendance à dire qu’un VPN assure que les données circulent de façon sécurisée : les deux entités sont authentifiées, l’intégrité des données est vérifiée, et les données peuvent circuler chiffrées sur le réseau IP.

IPSEC est un protocole réseau de niveau 3, comme le protocole IP, mais auquel ont été rajoutées des fonctions de sécurité, comme le chiffrement des données par exemple. Le protocole IPSEC est prévu en natif dans la nouvelle version du protocole IP : IPV6.

Le protocole IPSEC permet deux traitements des données dans le tunnel :

  • L’authentification des extrémités et la vérification de l’intégrité des données ;
  • L’authentification, l’intégrité et le chiffrement des données.

Le premier traitement correspond au protocole AH1 (Authentication Header). Ce protocole permet de s’assurer de l’identité des deux extrémités du tunnel et de l’intégrité des données (les données reçues sont bien les données envoyées, elles n’ont pas été modifiées au passage).
Mais il est important de savoir que les données circulent en clair. En fait, techniquement, le protocole AH consiste à rajouter une entête à la trame IP, mais la partie « data » de la trame IP n’est pas changée.

Le deuxième traitement correspond au protocole ESP2 (Encapsulation Security Payload) et assure en plus de l’authentification, le chiffrement des données. Techniquement, la trame IP originelle est chiffrée et réencapsulée dans une autre trame IP.

Enfin, on peut encore dire sur le protocole IPSEC que celui-ci est particulièrement souple et n’impose aucun algorithme de chiffrement ou de hachage. Les deux extrémités du tunnel se mettent d’accord entre elles sur les modalités avant l’établissement du VPN.

Le mode Tunnel remplace les en-têtes IP originaux et encapsule la totalité du paquet IP. Par exemple, l’adresse IPA externe pourra être celle de la passerelle de sécurité implémentant IPSec, et l’adresse IPB interne sera celle de la machine finale, sur le réseau derrière la passerelle.

La configuration suivante est donnée sur un système FreeBSD (4.x).

Il faut d’abord configurer sur les deux routeurs VPN les fichiers /etc/racoon.conf et /etc/psk.txt de la manière suivante:

Racoon.conf (commun)
path pre_shared_key « /usr/local/etc/racoon/psk.txt » ;
remote anonymous
{
exchange_mode aggressive,main,base;
lifetime time 24 hour; # sec,min,hour

proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key ;
dh_group 2 ;
}
}
sainfo anonymous
{
pfs_group 2;
lifetime time 12 hour;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1 ;
compression_algorithm deflate ;
}

psk.conf (sur routeur A)

psk.conf (sur routeur B)

Ensuite il faut monter le tunnel IPSec au demarrage de la machine (ou à la demande). Pour cela j’utilise un script que je met dans le répertoire /usr/local/etc/rc.d:

000.ipsec.sh (sur le routeur A)
#!/bin/sh

case « $1 » in
start)
setkey -F
setkey -FP
setkey -c / / any -P out ipsec esp/tunnel/-/require ;
spdadd / / any -P out ipsec esp/tunnel/-/require ;
EOF
route add -net /
;;
stop)
route -n delete -net /
setkey -F
setkey -FP
;;
*)
echo « Usage: `basename $0` {start|stop} » >&2
;;
esac

exit 0

Faire de même sur le routeur B en inversant les adresses IP.

Pour lancer le tunnel IPSec:

# /usr/local/etc/rc.d/000.ipsec.sh start

Pour detruire le tunnel IPSec:

# /usr/local/etc/rc.d/000.ipsec.sh stop

Voili A+

Catégories
Systeme

Citation dans la signature des mails

Voici un tutorial pour insérer automatiquement une citation aléatoire dans la signature de vos e-mail.

La premiere chose a faire est d’installer Fortune. Ce script permet d’extraire aléatoirement une citation dans une base de données.

# yum install fortune-mod

Des bases de données sont fournies en standard (mais en Anglais) avec le script. Elles sont localisées dans le répertoire suivant (sous Fedora): /usr/share/games/fortune/

Pour ajouter une nouvelle base de données, vous pouvez vous rendre sur le site suivant: http://www.fortunes-fr.org/
Celui-ci regroupe quelques bases classées par thémes:
cinema : Citations extraites du monde du cinéma
humoristes : Citations d’humoristes
informatique : Citations en rapport avec l’informatique
litterature_etrangere : Extraits d’oeuvres littéraires étrangères
litterature_francaise : Extraits d’oeuvres littéraires françaises
personnalites : Citation de personnes connues, principalement du show business
proverbes : Proverbes et dictons d’origine diverse

Pour installer une nouvelle base de données (par exemple litterature_etrangere), il faut suivre la procédure suivante (en root):

# cd /usr/share/games/fortune/
# wget http://www.fortunes-fr.org/data/litterature_etrangere
# strfile litterature_etrangere litterature_etrangere.dat

Ensuite l’utilisation en ligne de commande est très simple:

# fortune litterature_etrangere
La vérité souffre d’être trop analysée.
-+- Frank Herbert, Dune -+-

Dans Evolution, pour insérer automatiquement une citation dans la signature de vos emails, il faut d’abord créer un script tout simple:

# cd ~/bin/
# vi citation-litterature_etrangere.sh
#!/bin/sh
/usr/bin/fortune litterature_etrangere
# chmod 700 citation-litterature_etrangere.sh

puis dans Evolution, ouvrir le menu: Editions / Preferences / Preferences de l’editeur / Signatures puis cliquer sur le bouton Ajouter un script et saisir les informations suivantes:

Lors de la rédaction du mail, il ne vous reste plus qu’a choisir la signature Citation litterature_etrangere et le tour est joué !

a+