lindev : administration linux , développement php

Aller au contenu | Aller au menu | Aller à la recherche

lundi, mars 22 2010

Un antiVirus sous linux

Mon but est d'installer une solution anti-virus efficace sur mon serveur FTP.
virus.gif La solution retenu sera ClamAv qui je pense est largement assez puissante pour mon objectif .
Voilà la situation , serveur Linux sous débian lenny , avec VsfTP comme serveur FTP

L'installation

Commençons par le commencement ...

Prérequis

Voici les paquets qui doivent être installé avant la mise en place de ClamAv

#apt-get install zlib1g zlib1g-dev gcc bzip2 libbz2-dev build-essential ncurses-dev

Il nous faut ensuite créer l'utilisateur qui sera utilisé par ClamAv

groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

Récupération des sources et décompression

A vous de vérifier qu'il n'y a pas de nouvelle version depuis l'écriture de ce billet , ici nous allons installer la version 0.95.3

wget http://downloads.sourceforge.net/project/clamav/clamav/0.95.3/clamav-0.95.3.tar.gz?use_mirror=heanet

Ne reste plus qu'à décompresser ...

zcat clamav-0.95.3.tar.gz | tar xvf -
cd clamav-0.95.3

Compilation

Pour la compilation , vous avec de nombreuses option , pour les lister , voici la commande

$./configure --help | less

Pour une utilisation standard , voilà les commandes à utiliser

$./configure --sysconfdir=/etc --with-user=clamav --with-group=clamav --with-dbdir=/var/lib/clamav
$make
#make install

N'oubliez pas la mise à jour des liens des libs

#ldconfig

Les Chemins

Pour une bonne utilisation , il nous faut maintenant créer les répertoires suivants :

mkdir /var/lib/clamav /var/run/clamav /var/log/clamav
chown -R clamav:clamav /var/lib/clamav /var/log/clamav /var/run/clamav

Les fichiers de configuration

Ils se trouvent dans /etc et sont :

  • freshclam.conf
  • clamd.conf

Comparez et commentez/dé-commentez ce qu'il faut ( n'oubliez pas de commenter la ligne "exemple" au début de chacun de ces fichiers )

Voici les fichiers tel que vous devriez les avoir avec la configuration

clamd.conf
freshclam.conf

Mises à jours automatique

Pour mettre en place la mise à jour automatique des signatures de virus , nous allons créer une tâche CRON

#vim /etc/cron.d/freshclam

Voici le contenu de ce fichier

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

0 0,6,12,18 * * * clamav /usr/local/bin/freshclam --log-verbose
@reboot amavis /usr/local/bin/freshclam

MAILTO permet de définir l'utilisateur qui recevra les resultats/erreurs par courrier
Pour la périodicité , nous avons mis ici l'exécution du script chaque jour à 6h00 12h00 et 18h00 .Ainsi qu'au reboot éventuel de la machine .

Démarrer le démon au démarrage

Et oui dans la configuration actuelle , le mode daemon est activé , ce qui a pour avantage de charger une fois pour toute les signatures en mémoire à son démarrage , plutot qu'à chaque scan

Nous allons ajouter le petit script de start dans init.d

#vim /etc/init.d/clamd

voici le contenu

#!/bin/sh
# clamd

case "$1" in
'start')
	/usr/local/sbin/clamd
	;;
'stop')
/usr/bin/killall clamd > /dev/null 2>&1 && echo -n 'Clamd stopped'
	;;
*)
	echo "Usage: $0 { start | stop }"
	;;
esac
exit 0

Ajoutons ce script aux runlevels

chmod 777 /etc/init.d/clamd
update-rc.d clamd defaults

Il ne nous reste plus qu'à faire la première mise à jours des signatures

#freshclam -v

Une fois le téléchargement terminé , l'on peu démarrer le démon

/etc/init.d/clamd start

Mais .. la suite

Ne reste plus qu'à créer un serveur mandataire transparent , pour filtrer les flux FTP .. je travail actuellement sur FROX .. la suite bientot .

jeudi, novembre 26 2009

Apt-proxy

Un cache apt

apt-proxy.jpeg

C'est quoi

Si comme moi vous avez plusieurs serveurs sous linux , le téléchargement des mises à jours se fait de façon individuel . Chaque serveur se connecte sur les miroirs pour télécharger les paquets , pour enfin les installer ....

Les paquets sont donc téléchargés autant de fois qu'il y a de serveurs dans votre LAN .

Le principe d'apt-proxy , est de créer un cache de ces paquets , permettant ainsi de télécharger une seule fois un paquet , et donc limiter l'impacte de ces téléchargements sur votre bande passante .

Le principe

Très simple , mettons le décor en place .

5 serveurs ( S1, S2, S3, S4, S5 ) , un frontal ( S1 ), et les autres servent à des tâches internes à l'entreprise .

S2 souhaite installer "Python" , il se connecte alors à S1 , qui télécharge le paquet depuis les miroirs de la distribution .

S3, S4 et S5 souhaitent à leurs tour , installer python , il sollicitent donc S1 , qui cette fois va fournir le paquet mis en cache .

Pas besoin d'aller plus loin , vous voyez tout de suite l'avantage de l'utilisation d'apt-proxy.

L'installation

L'installation se fait via un simple :

apt-get install apt-proxy

Fini .. facile non ?

La configuration ( proxy )

Nous allons configure apt-proxy , afin qu'il pointent correctement vers les bons miroirs .

Pour cela éditer le fichier de configuration :

vim /etc/apt-proxy/apt-proxy-v2.conf

Les options par défaut suffisent dans la plupart des cas , cependant , notez bien le port utilisé

port 9999

et l'endroit ou seront stocké les paquets

cache_dir = /var/cache/apt-proxy

Viens ensuite les dépôts à paramétrer , et à améliorer pour être le plus prés de chez vous .
par exemple , dans mon cas , une debian , j'ai donc paramétrer les paramètres suivant comme ceci :

[debian]
;; The main Debian archive
;; You can override the default timeout like this:
;timeout = 30

;; Backend servers, in order of preference
backends =
        http://ftp.fr.debian.org/debian

min_refresh_delay = 1d

[security]
;; Debian security archive
backends =
        http://security.debian.org/

min_refresh_delay = 1m

Maintenant, je décide d'ajouter le dépôts volatile, je vais donc ajouter à la suite :

[volatile]
;; Debian volatile archive
backends =
        http://volatile.debian.org/debian-volatile

min_refresh_delay = 1d

Les clients

Passons maintenant à la configuration des clients ( S2 - S3 - S4 -S5 dans mon exemple ).

Il vous faut éditer le fichiers sources.list

vim /etc/apt/sources.list

Et remplacer les dépôts actuels par :

deb http://<adresse ip proxy>:9999/debian/ lenny main
deb-src http://<adresse ip proxy>:9999/debian/ lenny main

deb http://<adresse ip proxy>:9999/security/ lenny/updates main contrib
deb-src http://<adresse ip proxy>:9999/security/ lenny/updates main contrib

Si vous remarquez bien , apres le port , l'on spécifie un répertoire , qui correspond au nom paraétré entre crochets , exemple avec volatile :

...
[volatile]
;; Debian volatile archive
backends =
...

Pour les ajouter à notre sources.list , il faut mettre les lignes suivantes:

deb http://<adresse ip proxy>:9999/volatile/ lenny/volatile main
deb-src http://<adresse ip proxy>:9999/volatile/ lenny/volatile main

Et voilà ...
Ne vous reste plus qu'à apprécier ce système ...

A bientôt ,
Ch.

- page 1 de 8