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
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..........
Faites vivre le libre, combattez Bilou...