Bonne et Heureuse Année 2010 !
Une nouvelle année commence, je vous la souhaite très belle, pleine de réussite avec beaucoup de joie. J’espère qu’elle sera bonne très bonne pour vous ainsi que tous vos proches…
BONNE ANNEE 2010
Une nouvelle année commence, je vous la souhaite très belle, pleine de réussite avec beaucoup de joie. J’espère qu’elle sera bonne très bonne pour vous ainsi que tous vos proches…
BONNE ANNEE 2010
OpenFire est un serveur XMPP (cad. Jabber) écrit en Java. Il a de nombreux avantages, dont celui d’être facilement configurable et administrable via une interface Web. Pour ma part, je pense qu’il s’agit du meilleur serveur Jabber disponible dans le domaine libre. Cet article vous aidera à installer et à configurer OpenFire sur une Debian 5.0 Lenny
Prérequis
Pour fonctionner Openfire exige au préalable d’avoir un serveur de base de donné sur votre machine. Je conseille l’installation de MySQL qui est installable facilement via cette commande :
apt-get install mysql-server mysql-client libmysqlclient15-dev
Installation de OpenFire
En premier lieu, il nous faut installer la machine virtuelle Java de Sun :
apt-get install sun-java6-jre
Et nous la déclarons comme machine virtuelle par défaut :
update-java-alternatives –set java-6-sun
Nous renseignons la version que nous souhaitons installer:
VERSION=3.6.4
Remarque: Rendez vous sur le site officiel d’Openfire pour connaître la dernière version.
Nous téléchargeons ensuite le paquet Debian de OpenFire :
/usr/bin/wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb \
–output-document=/tmp/openfire.deb
Et nous installons OpenFire:
dpkg -i /tmp/openfire_3.6.4_all.deb
Démarrez OpenFire si nécessaire:
/etc/init.d/openfire start
Configuration de votre pare-feu
Un certain nombre de ports doivent être ouvert pour que notre serveur Jabber soit joignable de l’extérieur. Je vous donne simplement la partie de mon fichier de configuration qui concerne Openfire
# Décommentez les lignes suivantes pour que le serveur Jabber éventuel
# soit joignable de l’extérieur.
-A INPUT -p tcp –dport 3478 -j ACCEPT
-A INPUT -p tcp –dport 3479 -j ACCEPT
-A INPUT -p tcp –dport 5222 -j ACCEPT
-A INPUT -p tcp –dport 5223 -j ACCEPT
-A INPUT -p tcp –dport 5229 -j ACCEPT
-A INPUT -p tcp –dport 7070 -j ACCEPT
-A INPUT -p tcp –dport 7443 -j ACCEPT
-A INPUT -p tcp –dport 7777 -j ACCEPT
-A INPUT -p tcp –dport 9090 -j ACCEPT
-A INPUT -p tcp –dport 9091 -j ACCEPT
Configuration Openfire
Nous devons maintenant configurer OpenFire, pour ce faire, connectez vous en HTTP à votre serveur sur le port 9090. Par exemple :
* http://localhost:9090
Et lancez-vous dans les différentes étapes de configuration.
Remarque : La même URL vous permet d’accéder à votre interface d’administration.
Paramètres du serveur
* Domaine : Saisissez le domaine Jabber que vous comptez associer à votre serveur. Vos utilisateurs Jabber seront de la forme name@domaine
Lors d’un changement de matériel (que ce soit carte mère avec interface réseau, ou carte réseau), il peut arriver que l’interface réseau eth0 ne soit plus accessible. Voici comment résoudre ce problème.
La mésaventure m’est arrivé deux fois, la première fois lors d’une installation à partir de deux ordis identique en changeant le disque dur de l’un à l’autre, la seconde lors d’un changement de carte mère. Ce problème qui existait déjà sous Etch demeure aussi sous Lenny. Pour pallier à la perte de temps, je note la solution.
Udev, ce petit blagueur, gère un cache des adresses mac des cartes réseaux. Pour résoudre le problème de disparition de l’interface eth0, il suffit de vider le cache des adresses Mac de Udev.
Pour ce faire, vous disposez de 2 solutions.
1. Modifier manuellement le fichier /etc/udev/rules.d/z25_persistent-net.rules, et effacer les lignes qui posent problème.
2. Écraser à la sauvage ce même fichier:
/bin/echo “” > /etc/udev/rules.d/z25_persistent-net.rules
XCache est un outil permettant d’accélérer l’exécution de vos scripts PHP
Installation
En premier lieu, installez les dépendances nécessaire à la compilation du logiciel:
apt-get install php5-dev make
Renseignez le numéro de la version de XCache que vous souhaitez installer:
VERSION=1.3.0
Une fois ceci fait, téléchargez les sources de XCache:
wget http://xcache.lighttpd.net/pub/Releases/$VERSION/xcache-$VERSION.tar.gz \
–output-document=/tmp/xcache-$VERSION.tar.gz
Décompressez l’archive obtenue:
tar –directory=/tmp -xzf /tmp/xcache-$VERSION.tar.gz
Et placez-vous dans le dossier créé:
cd /tmp/xcache-$VERSION
Lancez la compilation:
phpize –clean
/usr/bin/phpize
./configure –enable-xcache
/usr/bin/make
/usr/bin/make install
Une fois ceci fait, configurez PHP pour utiliser ce module:
cp /tmp/xcache-$VERSION/xcache.ini /etc/php5/conf.d/xcache.ini
/bin/sed -i -e ’s/^zend_extension_ts.*/; \0/’ \
-e “s|^\(zend_extension =\).*|\1 $(/usr/bin/find /usr/lib/php5 -name xcache.so | /usr/bin/head –lines=1)|” \
/etc/php5/conf.d/xcache.ini
Et configurez la quantité de mémoire que vous souhaitez utiliser pour le cache:
sed -i -e ’s/^\(xcache\.size[ ]*=\).*/\1 64M/’ \
-e ’s/^\(xcache\.var_size[ ]*=\).*/\1 64M/’ \
/etc/php5/conf.d/xcache.ini
Enfin, redémarrez votre serveur Web :
/etc/init.d/apache2 force-reload
NFS (Network File System) est un protocole standard de partage de répertoires sous Unix/Linux. Nous allons apprendre à partager un répertoire par NFS, puis à le monter sur un système client pour pouvoir l’utiliser. Vous le verrez, c’est extrèmement simple à mettre en œuvre.
Il faut installer le paquet nfs-kernel-server :
#aptitude install nfs-kernel-server
Éditez le fichier /etc/exports et rajoutez la ligne suivante pour partager le répertoire /home/test/ à la machine ordi2.exemple.org :
/home/test ordi2.exemple.org(rw,root_squash)
L’option rw permet d’exporter en lecture-écriture (utiliser ro pour exporter en lecture seule). L’option root_squash spécifie que le root de la machine ordi2.exemple.org n’a pas les droits de root sur le répertoire partagé (l’option no_root_squash spécifie que le root de la machine sur laquelle le répertoire est monté a les droits de root sur le répertoire). L’option root_squash est l’option par défaut.
![]() |
Note |
|---|---|
| L’option rw signifie en réalité que l’utilisateur dont l’ID est 1001 (par exemple…) sur le client NFS a les droits d’écriture sur les fichiers et les répertoires qui appartiennent à l’utilisateur dont l’ID est 1001 sur le serveur NFS. Attention, ces utilisateurs n’ont pas forcément le même nom de compte Unix et ne correspondent pas forcément aux mêmes personnes ! |
Enfin, demandez à nfs-kernel-server de relire sa configuration :
#/etc/init.d/nfs-kernel-server reload* Re-exporting directories for NFS kernel daemon... [ OK ]
Pour monter le répertoire /home/ftp/ partagé par la machine dont le nom DNS est ordi1.exemple.org dans le répertoire /mnt/test déjà crée, utilisez la commande mount :
#mount -t nfs ordi1.exemple.org:/home/ftp /media/test
Une fois que vous n’avez plus besoin de ce partage, vous pouvez le démonter :
#umount /media/test
Pour que ce répertoire soit monté à chaque démarrage, rajoutez la ligne suivante dans le fichier de configuration /etc/fstab :
ordi1.exemple.org:/home/ftp /media/test nfs soft,timeo=5,intr,rsize=8192,wsize=8192 0 0
Pour comprendre les options, regardez leur description dans man mount
Nous allons prendre une configuration simple, avec une machine GNU/Linux qui va cumuler plusieurs fonctions :
Nous allons donc installer sur la passerelle un serveur DHCP. Le DNS est tout à fait optionnel, mais ce serait bien qu’il y soit, il peut même y être déjà, ça n’est absolument pas gênant. S’il n’y est pas encore, vous pourrez le rajouter par la suite.
Les fonctions de passerelle et de firewall ne sont pas non plus fondamentales, nous pourrions nous contenter d’un serveur GNU/Linux, non connecté au Net (mais qui peut le plus peut le moins).
Nous pourrions même ajouter un autre serveur au réseau local, chargé du DNS et du DHCP et ne laisser à la passerelle que les fonctions de routage et de firewall.
Sur Debian, ceci se fait très simplement en installant les paquetages dhcp3-common et dhcp3-server. Dans la version Lenny de Debian, nous disposons de la version 3.1.1 du serveur. Il y a un seul fichier de configuration : /etc/dhcp3/dhcpd.conf, que nous pourrons configurer avec un éditeur de texte, où à travers l’interface Webmin. Ce que nous aurons à faire est suffisamment simple pour pouvoir le faire à la main
Comme nous l’avons vu plus haut, un serveur DHCP, en plus de fournir la configuration IP « de base » (Adresse et masque), peut aussi transmettre un nombre plus ou moins grand de paramètres supplémentaires. Nous aurons donc au moins deux choses à configurer :
Nous avons vu qu’un seul serveur DHCP pouvait être utilisé pour plusieurs réseaux logiques interconnectés, pourvu que les interconnexions disposent d’un agent de relais DHCP. Dans un tel cas, le serveur DHCP devra disposer d’au moins une étendue d’adresses IP par réseau logique dont il aura la charge.
En ce qui concerne les options, nous disposons d’une architecture hiérarchique :
Nous n’allons pas monter une usine à gaz, c’est inutile pour un petit réseau domestique et ça n’apporte rien de plus à la compréhension du protocole :
maison.mrs. Il n’a aucune réalité sur le Net, mais ça n’a pas d’importance, puisque c’est un domaine qui ne doit pas être visible depuis le Net ;Le « daemon » dhcpd écoute par défaut sur toutes les interfaces réseau actives sur le serveur. Ce n’est pas forcément souhaitable, c’est même assez souvent ennuyeux.
Fort heureusement, ce comportement par défaut peut être modifié, mais pas dans le fichier de configuration. Il faut utiliser un paramètre dans la ligne de commande qui va démarrer dhcpd.
Dans le cas de Debian Lenny, il faut éditer le fichier /etc/default/dhcp3-server. Il est bien documenté et vous trouverez aisément la variable INTERFACES qu’il faut initialiser avec le nom de la ou des interfaces qui doivent êtres écoutées. Dans notre exemple, nous aurons :
INTERFACES="eth0"
# La ligne qui suit est nécessaire. Elle est en rapport avec
# la mise à jour dynamique du DNS, que nous n'utiliserons pas
# pour l'instant.
ddns-update-style none;
# Ce serveur fait autorité sur le réseau
authoritative;
# Les options globales
option time-servers 192.168.0.252;
option domain-name "maison.mrs";
max-lease-time 3600;
default-lease-time 3600;
option domain-name-servers 192.168.0.252;
option subnet-mask 255.255.255.0;
option routers 192.168.0.252;
# le réseau 192.168.0.0/24, avec la réserve d'adresses dynamiques
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.64 192.168.0.127;
}
Cette configuration simplissime va suffire à nos besoins.
Dans ce fichier, il y a des directives, qui sont obligatoires :
ddns-update-style servira plus tard, ce sera la cerise sur le gâteau, pour ceux qui utilisent BIND 9 (le serveur DNS). Elle indique pour l’instant que nous ne ferons pas de mise à jour dynamique de DNS ;max-lease-time et default-lease-time (DHCP est plein de subtilités, pas toujours nécessaires dans un fonctionnement basique), la page man dhcpd.conf vous indiquera quelle est cette différence. Contentons nous pour l’instant d’assigner la même valeur aux deux, ici 3600 secondes.Et des options qui seront dans la pratique, des paramètres de configuration optionnels. Ici :
domain-name-serversdomain-nameroutersToutes les options qui figurent avant le paragraphe subnet 192.168.0.0 netmask 255.255.255.0 sont des options globales, il n’y a ici aucune option d’étendue (de sous-réseau) de définie.
Cette configuration doit nous permettre d’être efficient dans notre contexte. Il nous suffit de lancer ou de relancer le serveur :
/etc/init.d/dhcpd restart
Et ça devrait rouler tout seul
.
En premier lieu, connectez vous en root :
su
Nous désactivons la source CDROM d’apt de façon à obtenir tous nos paquets depuis l’internet (si vous lisez cette page, c’est que vous avez l’internet ;)).
NB : Cette méthode n’est valable que si vous avez fait une installation via un jeu de DVD ou CD. Si l’installation s’est déroulée via netinstall passez au paquet suivant.
sed -i -e 's/^\(deb cdrom\)/#\1/' /etc/apt/sources.list
et nous mettons à jour :
apt-get update
Nous installons ensuite le support du temps internet pour garder notre système à l’heure:
apt-get install ntp
Nous installons openssh-server et fail2ban pour avoir un accès ssh sécurisé à notre ordinateur :
apt-get install openssh-server fail2ban
Nous activons la colorisation de la commande ls:
/bin/cp /etc/skel/.bashrc $HOME /bin/sed -i -e 's/^# \(.*\(LS_OPTIONS\|dircolors\).*\)$/\1/' $HOME/.bashrc
Personnellement, étant un vimiste, il me faut mon outil de travail :
/usr/bin/apt-get install vim
Si vous le souhaitez, vous pouvez mettre en place une configuration par défaut pour Vim. Personnellement, j’utilise :
echo "set list set number set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2 set nobackup set encoding=utf-8 set fileencoding=utf-8 syn on" >> $HOME/.vimrc
Une fois ceci fait, déconnectez-vous et reconnectez-vous.
Pour vous assurer que votre serveur fonctionne correctement, et qu’il ne subit ni attaque, ni disfonctionnement, il est important de le configurer pour envoyer régulièrement des rapports sur son fonctionnement. C’est ce que nous allons voir maintenant.
Un système Unix peut être assez bavard, et a tendance a envoyer tous les emails importants au compte Root. Il est très important de suivre ces emails. Pour ce faire, vous pouvez utiliser un lecteur d’e-mail en ligne de commande…. ou alors, rediriger les emails destinés au compte root de la machine vers votre email habituel.
Attention : Suivant la configuration du serveur SMTP de votre fournisseur de compte e-mail, les emails envoyés par votre machine peuvent être rejetés. Personnellement, je n’ai pas ces problèmes avec les comptes GMail.
En premier lieu, renseignez l’email que vous souhaitez utiliser :
ROOT_EMAIL=my-account@gmail.com
Et configurez la redirection des emails du compte Root vers cet email :
/bin/sed -i -e "s/^\\(root:\\).*\$/\\1 ${ROOT_EMAIL}/" \
/etc/aliases
Nous installons logwatch pour surveiller notre système. Le rapport fourni par ce logiciel nous renseigne sur les tentatives d’intrusions et les éventuels problèmes rencontrés par le système.
/usr/bin/apt-get install logwatch libdate-manip-perl
Afin de recevoir des alertes lorsqu’il est nécessaire de mettre à jour votre Debian, installez cron-apt :
/usr/bin/apt-get install cron-apt
Et configurez le pour envoyer un e-mail au compte root lorsqu’une mise à jour est disponible :
/bin/sed -i -e 's/^#[ \t]*\(MAILTO="root"\)/\1/' \
-e '/^#[ \t]*\(MAILON="error"\)/a\
MAILON="upgrade"' \
/etc/cron-apt/config
Depuis que j’ai découvert cet outil, il est devenu mon meilleur ami. Ce script surveille les fichiers journaux, et banni temporairement les IPs qui jouent un peu trop avec votre serveur. C’est un outil IN-DIS-PEN-SABLE si votre serveur est directement présent sur Internet. Si ce n’est déjà fait, installez-le :
/usr/bin/apt-get install fail2ban
Nous allons maintenant activer certaines configurations supplémentaires afin d’augmenter sa portée. En premier lieu, nous activons la protection contre les attaques en déni de service sur le SSH :
/bin/sed -i -e '/\[ssh-ddos\]/, /filter/ {0,/^enabled.*/ s//enabled = true/ }' /etc/fail2ban/jail.conf
Nous activons aussi la protection du système d’authentification PAM (vu que ce mécanisme est présent un peu partout dans un système UNIX, c’est quelquechose de très pratique XD):
/bin/sed -i -e '/\[pam-generic\]/, /filter/ {0,/^enabled.*/ s//enabled = true/ }' /etc/fail2ban/jail.conf
Enfin, nous redémarrons fail2ban pour prendre en compte les nouvelles configurations:
/etc/init.d/fail2ban restart
Nous installons un outil de vérification de présence de root kits :
/usr/bin/apt-get install rkhunter libmd5-perl
Nous configurons rkhunter en fonction de notre système:
SSH_ROOT_ALLOWED=no
TEST_ROOT_ALLOWED=$(/bin/grep -i "PermitRootLogin.*yes" /etc/ssh/sshd_config)
if [ -n "$TEST_ROOT_ALLOWED" ]; then
SSH_ROOT_ALLOWED=yes
fi
/bin/sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.udev\)$|\1|' \
-e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.static\)$|\1|' \
-e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.initramfs\)$|\1|' \
-e "s|^[#]*\\(ALLOW_SSH_ROOT_USER=\\).*$|\\1${SSH_ROOT_ALLOWED}|" \
/etc/rkhunter.conf
Au besoin, nous autorisons la présence de certains fichiers dans le dossier /dev :
if [ -e /dev/shm/network/ifstate ]; then
/bin/sed -i -e '0,/ALLOWDEVFILE/{//a\
ALLOWDEVFILE=/dev/shm/network/ifstate
;}' \
/etc/rkhunter.conf
fi
La version de RkHunter présente dans Debian 5.0 Lenny permet de maintenir une base de signature des fichiers importants basée sur les informations fournies par le gestionnaire de paquets Debian. Cette fonctionnalité est importante car elle permet de détecter plus rapidement les modifications du contenu de certains logiciels (ps, ls, etc…). Pour activer cette fonctionnalité, utilisez la ligne de commande suivante :
/bin/sed -i -e 's|^[#]*\(HASH_FUNC=\).*$|\1md5sum|' \
-e 's|^[#]*\(PKGMGR=\).*$|\1DPKG|' \
/etc/rkhunter.conf
Mettez à jour la base des menaces de RkHunter pour la première fois (par la suite elle est mise à jour chaque semaine):
/usr/bin/rkhunter --update
Si vous avez activé la fonctionnalité de vérification de la signature des fichiers, utilisez cette commande pour mettre à jour la base des signatures :
/usr/bin/rkhunter --propupdate
Afin de ne pas être forcé d’exécuter cette commande après chaque utilisation d’apt-get, faites en sorte qu’elle soit exécutée automatiquement :
/bin/echo '// Update rkhunter file signatures databases after running dpkg.
DPkg::Post-Invoke {
"if [ -x /usr/bin/rkhunter ]; then if [ $(/usr/bin/rkhunter --help | /bin/grep "propupd" | /usr/bin/wc -l) -gt 0 ]; then /usr/bin/rkhunter --propupd; fi; fi";
};' | /usr/bin/tee /etc/apt/apt.conf.d/90rkhunter
Remarque: Pour connaître les informations que vous renverra RkHunter chaque jour, vous pouvez utiliser la commande:
/usr/bin/rkhunter --configfile /etc/rkhunter.conf --report-warnings-only --checkall
Remarque : il existe d’autres outils de recherches de root kits similaires à RkHunter. J’ai longtemps utilisé chkrootkit, mais comme il est impossible de le configurer proprement pour ignorer les faux positifs, j’ai fini par l’abandonner.
Si vous souhaitez améliorer encore la sécurité de votre serveur SSH, vous pouvez créé un utilisateur dédié pour l’accès SSH et interdire l’accès SSH au compte root. Une fois identifié sur le serveur, il vous suffira d’utiliser la commande “su” pour vous identifier avec le compte root.
Nous installons un outil de génération de mot de passes:
/usr/bin/apt-get install apg
Choisissez un mot de passe sécurisé. Pour créer un tel mot de passe, vous pouvez utiliser la commande suivante:
/usr/bin/apg -q -a 0 -n 1 -M NCL
Nous créons un compte utilisateur sans privilèges (remplacez “myuser” par le login de votre choix):
/usr/sbin/adduser myuser
Configurez le serveur SSH de façon à ce qu’il n’accepte pas les connexions avec l’utilisateur root. Utilisez pour ce faire les lignes de commande suivantes:
/bin/sed -i -e 's/PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config /etc/init.d/ssh restart
Attention: Ne faites ceci que si vous disposez d’un autre compte que le compte root sur la machine. Si vous ne disposez pas d’un compte utilisateur normal, votre machine ne sera plus accessible par SSH (La création d’un tel utilisateur est faite par la commande “adduser” ci-dessus).
Nous installons snort pour surveiller les tentatives d’intrusion sur notre système. Vous recevrez alors un résumé quotidien des alertes de sécurité.
/usr/bin/apt-get install snort
PortSentry permet de se protéger contre les scanners de ports. En premier lieu, il vous l’installer :
DEBIAN_FRONTEND='noninteractive' apt-get install portsentry iptables
Une fois ceci fait, il est nécessaire de configurer proprement portsentry avant de l’activer. La première chose à faire est de faire en sorte que PortSentry ignore votre adresse IP. Cela vous évitera d’être banni de votre propre serveur. En premier lieu, il vous faut entrer votre adresse IP (fixe de préférence):
PROTECTED_IP=$(/usr/bin/who --ips | /bin/grep root | /usr/bin/cut --characters=40-)
/bin/echo "Votre adresse IP est : ${PROTECTED_IP}."
PROTECTED_IP=83.243.21.40
Vous pouvez maintenant ajouter l’adresse IP à la liste des adresses IP ignorées par PortSentry :
/bin/echo "
# Ignoring root account owner IP:
${PROTECTED_IP}" \
| /usr/bin/tee -a /etc/portsentry/portsentry.ignore.static
A présent, activez le bloquage des scans de ports TCP et UDP :
/bin/sed -i -e 's/^BLOCK_UDP=.*/BLOCK_UDP="1"/' \
-e 's/^BLOCK_TCP=.*/BLOCK_TCP="1"/' \
/etc/portsentry/portsentry.conf
Configurez PortSentry pour utiliser “iptables” plutôt que “route” pour bloquer les attaques :
/bin/sed -i -e 's/^KILL_ROUTE=.*$/#\0/' \
-e '0,/^[\t #]*\(KILL_ROUTE=.*iptables[^\&]*\)$/s//\1/' \
/etc/portsentry/portsentry.conf
Activez le mode de détection avancé de PortSentry :
/bin/sed -i -e 's/^TCP_MODE.*$/TCP_MODE="atcp"/' \
-e 's/^UDP_MODE.*$/UDP_MODE="audp"/' \
/etc/default/portsentry
Enfin, redémarrez PortSentry :
/etc/init.d/portsentry restart![]()
Je suis un fan de musique surtout pendant que je travaille sur un logiciel ou que j’administre l’un de mes serveurs
. Je cherchais une solution simple, ne consommant pas beaucoup de ressources. Comme souvent avec les logiciels libres, j’ai fini par trouver cette perle rare. C’est avec une grande joie que je vous partage cette découverte. A consommer sans modération……..
.
Nous allons d’abord nous assurer que vous disposez des packages nécessaires pour le faire tourner…
Avec Synaptic, assurez vous que vous avez les packages suivants d’installés :
vous pouvez télécharger dans votre répertoire le script à cette adresse.
Pour lancer le script :
Suite à de passionnants échanges dans ce forum, différentes pistes ont été trouvées :
tout d’abord :
Ouvrir une console (terminal gnome ou Konsole) et tapez à l’invite :
| ls |
si le fichier radios.sh est dans votre répertoire perso, vous devriez le voir dans la liste :)
on va le mettre dans /usr/local, prêts ?
| sudo mv radios.sh /usr/local |
La commande mv (move) sert à déplacer (entre autres).
Nous allons maintenant créer un lien symbolique pour démarrer le script plus rapidement :
| sudo ln -s /usr/local/radios.sh /usr/local/bin/radios |
Enfin, lancer la première fois le script pour récupérer la liste des radios :
| radios |
et accepter de télécharger la liste des radios en saisissant “o”.
La liste des radios est alors disponible dans le fichier “radios.csv” du dossier “.radios” de votre compte utilisateur, vous pouvez modifier cette liste à votre guise avec une des commandes ci-dessous :
kedit ~/.radios/radios.csv
gedit ~/.radios/radios.csv
pico ~/.radios/radios.csv
Ce document est basé sur la dernière version Debian (5.0 / Lenny), ce qui devrait lui assurer une bonne durée de vie
. Toutes les applications utilisées sont disponibles sous forme de packages officiels (c’est plus simple pour les mises à jour).

Les pré-requis sont les suivants :
Petit rappel sur les différents éléments utilisés :
C’est parti …
apt-get install amavisd-new clamav clamav-daemon
L’installeur va vous poser des questions, normalement les réponses par défaut devraient convenir.
addgroup clamav amavis
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
apt-get install spamassassin
modifiez “ENABLED=1″
modifiez “OPTIONS=”–max-children 5 –helper-home-dir” (remplacez 5 par le nombre de process de “spamd” devant fonctionner simultanéement)
content_filter = smtp-amavis:[127.0.0.1]:10024
(attention à bien conserver un espace avant chaque “-o”)
smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
@local_domains_maps = ( [ '.domain1.com', '.domain2.com', '.domain3.com' ] );
/etc/init.d/spamassassin restart
/etc/init.d/clamav-daemon restart
/etc/init.d/amavis restart
postfix reload
Pour s’assurer qu’Amavis prenne bien en charge ClamAV et Spamassassin, aprés avoir relancé Amavis (étape précédente) on doit retrouver les lignes suivantes dans les logs du serveur de mail (normalement /var/log/mail.info)
Jul 15 11:44:37 hostname amavis[26709]: ANTI-VIRUS code loaded
Jul 15 11:44:37 hostname amavis[26709]: ANTI-SPAM-SA code loaded
Jul 15 11:44:37 hostname amavis[26709]: Using internal av scanner code for (primary) ClamAV-clamd
Jul 15 11:44:37 hostname amavis[26709]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
Il est également plus prudent de tester un envoi de mail avec la chaîne de test “EICAR” (allez faire un tour sur www.eicar.com), puis allez jeter un oeil sur les logs de Postfix :
Jul 15 14:02:41 hostname amavis[13251]: (13251-01) Blocked INFECTED (Eicar-Test-Signature), [192.168.0.1] <nom@domaine.fr> -> <test@testmail.fr>, quarantine: virus-lFDtkSo0b4vz, Message-ID: <20070509120235.D8AF02AA74@hostname>, mail_id: lFDtkSo0b4vz, Hits: -, 125 ms
On doit retrouver un truc comme ça dans les logs de Postfix :
Jul 15 14:24:45 hostname amavis[6446]: (06446-02) Blocked SPAM, [192.168.0.1] <nom@domaine.fr> -> <test@testmail.fr>, quarantine: spam-atCf69YINh+q.gz, Message-ID: <20070509122435.87ED32AA74@hostname>, mail_id: atCf69YINh+q, Hits: 1004.184, 2128 ms
Vous disposez désormais d’une solution de filtrage anti-virus et anti-spam fonctionnelle
!
C’est un blog, vous l’avez constaté. Il est simple. Il est là pour me servir d’aide-mémoire notamment pour les tutoriaux et aussi pour partager mes modestes connaissances sur les logiciels libres et notre OS favoris Debian avec vous.