Service de proxy anti

Transcription

Service de proxy anti
Service de proxy anti-virus sur Debian
INTRODUCTION
1. INSTALLATION ET CONFIGURATION DES PREREQUIS
2. CONFIGURATION DE « SQUID3 »
3. TEST DE DÉTECTION
4. EXCLURE UNE RESSOURCE OU UNE URL DE LA DÉTECTION
5. LIENS
1
1
6
7
7
7
INTRODUCTION
Cette procédure décrit l'installation d'un service de proxy anti-virus basique sur Debian Wheezy.
Combiné à « squid3 » et « clamav-daemon », « squidclamav » permet de faire du filtrage
anti-virus à la volée pour le protocole HTTP ; il s'appuie sur un serveur ICAP (« c-icap »), dont il
est un service, pour communiquer avec « squid3 ».
ICAP, « Internet Content Adaptation Protocol », est un protocole défini par la RFC 3507 : un client
transmet des requêtes ou des réponses HTTP à un serveur ICAP qui traite les messages
(requêtes ou réponses HTTP) et retourne le contenu modifié ou adapté au client en fonction du
service demandé (en l'occurence ici « squidclamav »).
Avant d'installer « squidclamav », « squid3 » doit être opérationnel.
1. INSTALLATION ET CONFIGURATION DES PREREQUIS
Installer les paquets « clamav-daemon », « make », « gcc » et «apache2» :
# apt-get install clamav-daemon make gcc apache2
Mettre à jour les définitions de virus :
# freshclam
Démarrer le daemon « clamav-daemon » :
# /etc/init.d/clamav-daemon start
Télécharger l'archive d'installation de « c-icap » qui fournit le serveur ICAP :
# wget http://sourceforge.net/projects/c-icap/files/c-icap/0.3.x/
→ c_icap-0.3.3.tar.gz
Décompresser l'archive téléchargée et entrer dans le répertoire créé après décompression :
# tar xzf c_icap-0.3.3.tar.gz
# cd c_icap-0.3.3
1 - Service de proxy anti-virus sur Debian Squeeze
Romain Dècle (LEGTA de Coutances)
Configurer « c-icap », le compiler et l'installer dans « /usr/local/c-icap/ » :
#
#
#
#
./configure --prefix=/usr/local/c-icap --enable-large-files
make
make install
cd ..
Adapter le fichier de configuration de « c-icap » :
# vim /usr/local/c-icap/etc/c-icap.conf
- à la ligne 140, modifier la valeur du paramètre « ServerAdmin » :
ServerAdmin [email protected]
- à la ligne 149, modifier la valeur du paramètre « ServerName » :
ServerName proxy.eplefpa-coutances.lyc50.ac-caen.fr
Lancer « c-icap » :
# /usr/local/c-icap/bin/c-icap
Tester la connexion au service « echo » du serveur ICAP :
# /usr/local/c-icap/bin/c-icap-client
ICAP server:localhost, ip:127.0.0.1, port:1344
OPTIONS:
Allow 204: Yes
Preview: 1024
Keep alive: Yes
ICAP HEADERS:
ICAP/1.0 200 OK:
Methods:RESPMOD, REQMOD
Service:C-ICAP/0.3.3 server - Echo demo service
ISTag:CI0001-XXXXXXXXX
Transfer-Preview:*
Options-TTL:3600
Date:Sat, 03 May 2014 13:02:26 GMT
Preview:1024
Allow:204
X-Include:X-Authenticated-User, X-Authenticated-Groups
Encapsulated:null-body=0
Tuer le processus « c-icap » lancé pour le test de connexion au service « echo » :
# pkill c-icap
2 - Service de proxy anti-virus sur Debian Squeeze
Romain Dècle (LEGTA de Coutances)
Dans le répertoire « /etc/logrotate.d », créer le fichier « c-icap » avec le contenu suivant :
/usr/local/c-icap/var/log/*.log {
daily
missingok
notifempty
size 1M
rotate 1
compress
delaycompress
compresscmd /bin/bzip2
compressext .bz2
create 644 root root
copytruncate
maxage 7
}
Forcer le rechargement de « logrotate » pour prendre en compte la nouvelle configuration :
# logrotate -f /etc/logrotate.conf
Télécharger l'archive d'installation de « squidclamav » :
# wget http://sourceforge.net/projects/squidclamav/files/latest/
→ squidclamav-6.11.tar.gz
Décompresser l'archive téléchargée et entrer dans le répertoire créé après décompression :
# tar xzf squidclamav-6.11.tar.gz
# cd squidclamav-6.11
Configurer « squidclamav » en tant que service du serveur ICAP, le compiler et l'installer :
# ./configure --with-c-icap=/usr/local/c-icap
# make
# make install
Installer le script « cgi » francisé pour la redirection vers une page d'avertissement en cas de
détection positive de virus :
# cp cgi-bin/clwarn.cgi.fr_FR /usr/lib/cgi-bin/clwarn.cgi
# chown www-data:root /usr/lib/cgi-bin/clwarn.cgi
# chmod 500 /usr/lib/cgi-bin/clwarn.cgi
Adapter le fichier de configuration de « squidclamav » :
# vim /usr/local/c-icap/etc/squidclamav.conf
- à la ligne 17, modifier la valeur de la directive « redirect » :
redirect http://proxy-test.eplefpa-coutances.lyc50.ac-caen.fr/
→ cgi-bin/clwarn.cgi
3 - Service de proxy anti-virus sur Debian Squeeze
Romain Dècle (LEGTA de Coutances)
- à la ligne 17, mettre la valeur de la directive « safebrowsing » à « 1 » :
safebrowsing 1
Adapter le fichier de configuration « /etc/clamav/freshclam.conf » des mises à jour de
« clamav-daemon », après la ligne 23 ajouter :
SafeBrowsing true
Adapter le fichier de configuration de « c-icap » :
# vim /usr/local/c-icap/etc/c-icap.conf
- à la ligne 498, déclarer « squidclamav.so » en tant que service fourni par « c-icap » :
Service avscan squidclamav.so
Créer un lien vers « /etc/squidclamav.conf » :
# ln -s /usr/local/c-icap/etc/squidclamav.conf /etc/squidclamav.conf
4 - Service de proxy anti-virus sur Debian Squeeze
Romain Dècle (LEGTA de Coutances)
2. CONFIGURATION DE « SQUID3 »
Adapter le fichier de configuration de « squid3 » pour utiliser le service « squidclamav » fourni par
« c-icap » :
# vim /etc/squid3/squid.conf
- à la fin du fichier, ajouter les directives suivantes :
icap_enable on
icap_send_client_ip on
icap_send_client_username off
icap_client_username_encode off
icap_client_username_header X-Authenticated-User
icap_persistent_connections on
icap_preview_enable on
icap_preview_size 1024
icap_service service_req reqmod_precache bypass=1
→ icap://127.0.0.1:1344/squidclamav
adaptation_access service_req allow all
icap_service service_resp respmod_precache bypass=1
→ icap://127.0.0.1:1344/squidclamav
adaptation_access service_resp allow all
Pour activer le filtrage anti-virus dès le démarrage du proxy, modifier le script de démarrage du
daemon « squid3 » :
# vim /etc/init.d/squid3
- à la ligne 29, modifier la variable « PATH » de façon à avoir :
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/c-icap/bin
- après la déclaration de de la fonction « start » à la ligne 57, ajouter les lignes :
[ ! -d /var/run/c-icap ] && mkdir /var/run/c-icap
c-icap
- après la déclaration de de la fonction « stop » à la ligne 82, ajouter une ligne :
pkill c-icap
Redémarrer le daemon « squid3 » :
# /etc/init.d/squid3 restart
Pour visualiser en temps réel l'activité de « c-icap » (« Ctrl+c » pour arrêter) :
# tail -f /usr/local/c-icap/var/log/access.log
5 - Service de proxy anti-virus sur Debian Squeeze
Romain Dècle (LEGTA de Coutances)
3. TEST DE DÉTECTION
Ouvrir un navigateur configuré pour utiliser le proxy et tenter de télécharger le fichier « eicar.com »
en utilisant le protocole HTTP à partir de l'URL « HTTP://EICAR.ORG/85-0-DOWNLOAD.HTML ».
Si « squidclamav » fonctionne correctement, une redirection vers la page d'avertissement de
détection doit s'opérer.
4. EXCLURE UNE RESSOURCE OU UNE URL DE LA DÉTECTION
Il peut être utile d'exclure certaines ressources ou certains sites de confiance de la détection.
Concrètement, l'analyse par exemple d'un flux de taille inconnue diffusé en continu prendra du
temps car « squidclamav » effectuera un téléchargement partiel du flux jusqu'à la taille maximale
définie par le paramètre « maxsize 5000000 » dans le fichier « /etc/squidclamav.conf » avant
d'analyser ce qui aura été mis en tampon.
La mise en tampon et l'analyse de ce type de flux consomment par conséquent des ressources
serveur (temps processeur et écriture sur la swap) et prennent du temps à parvenir au client.
C'est le cas de l'écoute en direct de radios comme celles du groupe Radio France (France Inter,
France Info, FIP, …).
Pour éviter l'analyse des flux « mp3 » diffusés en direct par les sites du groupe Radio France, il
faut éditer le fichier « /etc/squidclamav.conf » et ajouter une liste blanche sous forme d'expression
régulière étendue à l'instar de l'exemple de la ligne 76 :
whitelist .*\/all\/[f-l].*\.mp3$
Une fois le fichier « /etc/squidclamav.conf » modifié, redémarrer le daemon « squid3 » :
# /etc/init.d/squid3 restart
5. LIENS
–
RFC 3507
HTTP://WWW.RFC-EDITOR.ORG/RFC/RFC3507.TXT
–
The c-icap project
HTTP://C-ICAP.SOURCEFORGE.NET/
–
SquidClamav
HTTP://SQUIDCLAMAV.DAROLD.NET/
6 - Service de proxy anti-virus sur Debian Squeeze
Romain Dècle (LEGTA de Coutances)

Documents pareils