[RESOLU]Passerelle antivirus clamav : ipcop + squid sur DMZ

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

[RESOLU]Passerelle antivirus clamav : ipcop + squid sur DMZ

Messagepar man_mickey2001 » 19 Fév 2005 21:40

Bonsoir,
JE suis en train de mettre au point une passerelle antivirus libre afin de protéger mes postes de mon LAn, et souhaite vous faire partager cette expérience. J'en suis au début mais j'y arrive petit à petit.

J'utilise comme Firewall ipcop avec 2 cartes ethernet en verte et orange ainsi qu'un modem USB en rouge

J'ai installé un serveur RedHat Fedora Core 3 sur ma DMZ (orange)
Sur ce serveur tourne squid, je préfère ne pas activer le squid de l'ipcop car je ne pense pas pouvoir y intégrer un antivirus libre (clamav) car pas de compilation possible. De plus mon ipcop ne serait pas assez puissant pour accueuillir squid + clamav.

La navigation sur internet à partir de mes postes sur le Lan passe par le proxy sur la DMZ

1ère chose, vérifier que les postes arrivent bien à surfer en passant par ce squid (sur DMZ)
Je me suis fait avoir une fois (pas 2) : authoriser sur le Firewall intégré de la RedHat Fedora Core 3 le port 8080 en tcp. J'ai bataillé 2 jours avant de comprendre !!!

Sur ce serveur , compiler clamav (http://sourceforge.net) récupérer la dernière version, j'en suis à la 0.83

JE vous explique la compilation de clamav la prochaine fois
à bientôt
Dernière édition par man_mickey2001 le 04 Jan 2007 13:31, édité 1 fois au total.
Faites vivre le libre, combattez Bilou...
man_mickey2001
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 155
Inscrit le: 29 Juil 2004 18:46
Localisation: LE PAYS BASQUE BIEN SUR

Messagepar shwing » 20 Fév 2005 02:01

cela veut dire 2 pc pour surfer sur le net ?

Jolie pour le côté technique, mais question partique... :arrow: :?:
Avatar de l’utilisateur
shwing
Amiral
Amiral
 
Messages: 1246
Inscrit le: 14 Mars 2004 01:00
Localisation: GE/CH

Passerelle antivirus clamav : ipcop + squid sur DMZ

Messagepar man_mickey2001 » 20 Fév 2005 02:28

pour ta question Shwing:
1)Va installer un antivirus sur une passerelle comme ipcop pour voir !!!!
2) Mon proxy squid (sur DMZ) servira de filtre via squidguard + me permettra d'avoir des stats sur les sites concerné (sarg)


Je bosse en entreprise et les anciens PC sont ainsi réutilisés, de plus l'antivirus sur la DMZ filtrera tout le flux http . Je précise tout de même que les stations sur le Lan sont tout de même protégées par Etrust.
Ainsi les véroles sont filtrées avant même d'arriver sur le Lan.

Bye
La suite dès que j'y suis arrivé
Faites vivre le libre, combattez Bilou...
man_mickey2001
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 155
Inscrit le: 29 Juil 2004 18:46
Localisation: LE PAYS BASQUE BIEN SUR

Messagepar Vince1709 » 21 Fév 2005 12:32

Il ne faut pas mélanger un réseau privé d'un réseau d'entreprise...Etant administrateur système et réseau d'une société de services informatique je me dois de protéger au maximum les accés et d'obtenir un maximum de logs. Notre DMZ d'entreprise est configurée comme zone de décontamination (web, messagerie...) tout est filtré depuis cette zone...Je me vois trés mal orienter les $%#&! directement sur le LAN... Je rejoins ta config en rajoutant une machine de plus pour plus de sécurité et d'utiliser les logiciels libres...SQUID, SQUIDGUARD, CLAMSCAN....
Avatar de l’utilisateur
Vince1709
Second Maître
Second Maître
 
Messages: 33
Inscrit le: 17 Août 2004 14:31

Passerelle antivirus clamav : ipcop + squid sur DMZ

Messagepar man_mickey2001 » 22 Fév 2005 20:57

Vince1709 , on est sur la même longueur d'onde.

STP, qu'utilises-tu comme proxy + antivirus sur ta DMZ ?

Pour les autres j'avance petit à petit
un résumé en fin de ce post de ce qui pour l'instant fait, c'est un peu fouillous mais pas trop le temps de tout mettre au propre.
Je suis bloqué ,sur un pb d'autorisation sur la redirection de programme ds squid.conf:

Le message qd je démarre squid ds /var/log/squid/squid.out:

FATAL: redirect_program /usr/local/bin/SquidClamAV_Redirector.py: (13) Permission denied
Squid Cache (Version 2.5.STABLE6): Terminated abnormally.
CPU Usage: 0.026 seconds = 0.018 user + 0.008 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0


la ligne posant pb ds /etc/squid/squid.conf:

redirect_program /usr/local/bin/SquidClamAV_Redirector.py -c /etc/squid/SquidClamAV_Redirector.conf

les droits sur /usr/local/bin/SquidClamAV_Redirector.py:
-rwxr-xr-x 1 root root 19353 jan 28 12:41 /usr/local/bin/SquidClamAV_Redirector.py
les droits sur /etc/squid/SquidClamAV_Redirector.conf:
-rw-r--r-- 1 root squid 480 fév 20 19:59 /etc/squid/SquidClamAV_Redirector.conf

j'ai essayé de mettre les owners en squid et group en squid, rien n'y fait.

Je comprend plus trop...

Si quelqu'un a une idée.....
Merci d'avance

:cry:

Maintenant le résumé de ce qui est fait:

Le but est d'installer une passerelle antivirus sur laquelle fonctionnera squid
une aide est sur le site:
http://www.danieleduca.it/transparentsquid.php

les binaires (RPM sont aussi dispo sur le site)

installation par compilation sur Fedora core 3:
vérifier la présence des packages (par rpm -qa nom_package):

zlib et zlib-devel
si message:
error: The installed zlib version may contain a security bug. Please upgrade to 1.2.2 or later: http://www.zlib.net.
mettre auparavant à jour zlib et zlib-devel , récupérer zib-1.2.2 sur
http://rpm.pbone.net/index.php3?stat=26 ... 1.i386.rpm
rpm -F --nodeps zlib-1.2.2.2-1.i386.rpm
récupérer zlib-devel-1.2.2-1 sur:
http://www.rpmfind.net/linux/rpm2html/s ... =Search+...
rpm -F zlib-devel-1.2.2.2-1.i386.rpm
lancer ensuite rpm -qa zlib et rpm -qa zlib-devel, vérifier que l'on est bien en version zlib-1.2.2.2-1 et zlib-devel-1.2.2.2-1

gcc (les versions 2.9.x et 3.x sont supportées)

bzip2 et bzip2-devel

gmp (version 3 ou >)

créer un group clamav:
groupadd clamav
créer un utilisateur clamav pointant sur /usr/local/clamav:
useradd -d /usr/local/clamav -g clamav -s /bin/false -c "Clam AntiVirus" clamav

Compilation:
transférer clamav-0.82.tar.gz sous /usr/local
lancer:
cd /usr/local
tar zxvf clamav-0.82.tar.gz
un répertoire /usr/local/clamav-0.82 se crée
rm clamav-0.82.tar.gz
cd /usr/local/clamav-0.82
lancer:
./configure --sysconfdir=/etc
vérifier s'il n'y a pas de message d'erreur à la fin

make
si message d'erreur à la fin:
gcc: /usr/lib/libidn.so: No such file or directory
lancer:
ln -s libidn.so.11.4.6 libidn.so
relancer le make

su -c "make install"

modifier /etc/clamd.conf, mettre en commentaire la ligne :Example
tester en lançant:
clamscan -r -l scan.txt clamav-0.82
le résultat est ds scan.txt , contenu du fichier:
--------------------------------------
Scan started: Sun Feb 13 16:51:49 2005

clamav-0.82/test/clam.rar: ClamAV-Test-File FOUND
clamav-0.82/test/clam.zip: ClamAV-Test-File FOUND
clamav-0.82/test/clam.cab: ClamAV-Test-File FOUND
clamav-0.82/test/clam.exe: ClamAV-Test-File FOUND
clamav-0.82/test/clam.exe.bz2: ClamAV-Test-File FOUND

-- summary --
Known viruses: 30342
Scanned directories: 43
Scanned files: 712
Infected files: 5
Data scanned: 10.52 MB
I/O buffer size: 131072 bytes
Time: 20.025 sec (0 m 20 s)

paramétrage de le mise à jour automatique de la base de donnée antivirus:
si le serveur est sur la DMZ, autoriser le serveur à sortir vers le web
Rq: ne peut pas pinguer mais en principe la dmz a droit de sortir sur le web, tester en lançant à partir de la dmz un ftp sur un site.


l'outil pour la mise à jour antivirus est freshclam
modifier /etc/freshclam.conf :
-mettre en commentaire (#) la ligne: Example
-enlever le commentaire sur la ligne: UpdateLogFile /var/log/freshclam.log
créer maintenant le ficher /var/log/freshclam.log:
touch /var/log/freshclam.log
chmod 600 /var/log/freshclam.log
chown clamav /var/log/freshclam.log
lancer la commande: freshclam, la mise à jour se fait vérifier alors /var/log/freshclam.log
pour lancer freshclam en mode démon:
freshclam -d
Rq qd on fait un ps -aef |grep freshclam, le démon tourne avec le compte clamav
Rq: la maj de base la maj se fait toutes les 2 heures
Afin que le démon tourne au redémarrage: modifier /etc/rc.d/rc.local et ajouter la ligne:
/usr/local/bin/freshclam -d

Rq très importante:
Si message d'erreur :error while loading shared libraries: libclamav.so.1 :: cannot openshared object file...
créer un lien symbolique (/usr/lib/libclamav.so.1) de /usr/local/lib/libclamav.so.1.0.8
se positionner ds /usr/lib
ln -s /usr/local/lib/libclamav.so.1.0.8 libclamav.so.1

créer un lien symbolique (/usr/lib/libclamav.so) de /usr/local/lib/libclamav.so.1.0.8
se positionner ds /usr/lib
ln -s /usr/local/lib/libclamav.so.1.0.8 libclamav.so

Paramétrage de squid afin que le serveur RedHat Fedora Core 3 serve de proxy antivirus (via clamav):
La solution de filtrage HTTP s'appuie sur un serveur Squid et l'utilitaire SCAVR (SquidClamAVRedirector).
SCAVR est un script python configuré comme redirecteur pour squid.
Sur le serveur RedHat, il faut paramétrer le firewall intégré à laisser passer le port 8080 (paramétré ds squid.conf)
paramétrage de squid.conf:

http_port 80
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
cache_effective_user squid
cache_effective_group squid
visible_hostname locaalhost
http_port 8080
coredump_dir /var/spool/squid


paramétrage de SCAVR:
vérifier auparavant la présence de python sur le serveur Redhat Fedora Core 3: rpm -qa python renvoie: python-2.3.4-11
Installer auparavant pyclamav:
récupérer pyclamav-0.2.2.tar.gz sur le site:
http://norman.free.fr/norman/python/pyclamav/
le transférer dans /usr/local
tar zxvf pyclamav-0.2.2.tar.gz
rm -rf tar pyclamav-0.2.2.tar.gz
cd /usr/local/pyclamav-0.2.2
lancer:
python setup.py build
python setup.py install



récupérer SCAVR sur : http://www.jackal-net.at
(récupérer la dernière version)
transférer SquidClamAV_Redirector.py dans /usr/local/bin
chmod +x SquidClamAV_Redirector.py
transférer SquidClamAV_Redirector.conf dans /etc/squid
chown squid:squid /etc/squid/SquidClamAV_Redirector.conf
modifier SquidClamAV_Redirector.conf
http = http://localhost:3128 par http = http://localhost:8080
(8080 étant pe port paramétré ds squid.conf)


Rq très importante:
Si message d'erreur :error while loading shared libraries: libclamav.so.1 :: cannot openshared object file...
créer un lien symbolique (/usr/lib/libclamav.so.1) de /usr/local/lib/libclamav.so.1.0.8
se positionner ds /usr/lib
ln -s /usr/local/lib/libclamav.so.1.0.8 libclamav.so.1

créer un lien symbolique (/usr/lib/libclamav.so) de /usr/local/lib/libclamav.so.1.0.8
se positionner ds /usr/lib
ln -s /usr/local/lib/libclamav.so.1.0.8 libclamav.so

pour tester le fonctionnement de SCAVR:
lancer:
/usr/local/bin/SquidClamAV_Redirector.py -c /etc/squid/SquidClamAV_Redirector.conf
taper ensuite:
http://virus.jackal-net.at/infected.php FOO FOO BAR

puis Ctrl + D

voir ensuite ds /var/log/message le résultat :
Feb 20 01:07:56 tuxweb64 SquidClamAV: Unable to get Size from Url http://virus.jackal-net.at/infected.php: ('http error', 403, 'Forbidden', <httplib.HTTPMessage instance at 0xf6d00dac>)
Feb 20 01:07:56 tuxweb64 SquidClamAV: Ignored Request http://virus.jackal-net.at/infected.php FOO FOO BAR

modification de squid pour utiliser le programme de redirection:
modifier le fichier /etc/squid/squid.conf:
à la section : # TAG: redirect_program
redirect_program /usr/local/bin/SquidClamAV_Redirector.py -c /etc/squid/SquidClamAV_Redirector.conf
à la section :# TAG: redirect_children
redirect_children 5

Recopier information.php ds /var/www/html

lancer squid -k reconfigure
lancer squid - restart

C'est là que cela se gâte .....
je le répète , le message d'erreur ds /var/log/squid.out:

FATAL: redirect_program /usr/local/bin/SquidClamAV_Redirector.py: (13) Permission denied
Squid Cache (Version 2.5.STABLE6): Terminated abnormally.
CPU Usage: 0.026 seconds = 0.018 user + 0.008 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0

HELP..........


:cry:
Faites vivre le libre, combattez Bilou...
man_mickey2001
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 155
Inscrit le: 29 Juil 2004 18:46
Localisation: LE PAYS BASQUE BIEN SUR

pb accés

Messagepar lrayssiguier » 06 Mars 2005 10:07

Bonjour,

j'ai trouvé ceci sur un site parlant du même sujet que toi :

redirect_program /usr/local/bin/SquidClamAV_Redirector.py -c /usr/local/squid/etc/SquidClamAV_Redirector.conf
redirect_children 5
redirector_access deny localhost

Il y a un 'redirector_access deny localhost ' que tu n'utilises pas.

Peut être que cela a un lien avec ton erreur.
Avatar de l’utilisateur
lrayssiguier
Matelot
Matelot
 
Messages: 1
Inscrit le: 26 Déc 2003 01:00
Localisation: France

[RESOLU] Passerelle antivirus clamav : ipcop + squid sur DMZ

Messagepar man_mickey2001 » 13 Mars 2005 20:38

Merci Milles fois lrayssiguier!!!!!!!!!!!!!!!!!!!!!

Je viens d'y arriver !!!

2 pb se posaient:

ds mon squid .conf comme tu me l'as indiqué lrayssiguier:
redirect_program /usr/local/bin/SquidClamAV_Redirector.py -c /etc/squid/SquidClamAV_Redirector.conf
redirect_children 5
redirector_access deny localhost

la ligne redirector_access est obligatoire !!!



ds mon
j'avais une ligne:
virusurl = http://localhost/infected.php
que j'ai remplacée par:
virusurl = http://localhost/information.php

j'ai recopié information.php sur mon apache en droits 644 apache.apache

service squid restart et roule ma poule

un test sur le site eicar marche à merveille, une page (information.php m'est téléchargé qd un virus est détecté ds un .com, .zip ....


Bien sur le navigateur doit pointer sur serveur squid ds le paramétrage proxy


J'espère que cela aidera d'autres Linuxiens....

MErci encore à toi lrayssiguier

Merci aussi à IXUS

PS: prochaine étape: passer le redirecteur via squidguard ...
Faites vivre le libre, combattez Bilou...
man_mickey2001
Enseigne de vaisseau
Enseigne de vaisseau
 
Messages: 155
Inscrit le: 29 Juil 2004 18:46
Localisation: LE PAYS BASQUE BIEN SUR


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron