Vous êtes ici

Installation d'un Firewall HTTP/HTTPS avec Squid/dansguardian/clamav sur Ubuntu

Beaucoup de Firewall filtre trés bien les contenus HTTP mais moins bien les contenus HTTPS. Ici nous allons voir comment mettre en place une solution de filtrage internet avec un filtrage HTTPS en plus du HTTP. Nous allons en profiter pour également renforcer notre filtrage par une protection Antivirus (Clamav). 

Installation de Squid avec la gestion SSL

1) Mettre à jour votre distribution :

sudo apt-get update
sudo apt-get upgrade
sudo reboot
 
2) Installer les sources squid et les dépendances necessaires à la compilation des paquets :
 
cd /usr/src
sudo apt-get dpkg-dev
sudo apt-get install dpkg-dev
sudo apt-get source squid
sudo apt-get -y build-dep squid openssh openssl
sudo apt-get -y install devscripts build-essential fakeroot
 
3) Nous lançons la compilation avec les options necessaires :
 
cd squid3-3.1.19/
sudo sed -i -e "s/--enable-esi/--enable-esi --enable-ssl/g" debian/rules
sudo ./configure
 
4) Construction des paquets :
 
sudo dpkg-buildpackage -rfakeroot -D -us -uc -b
 
5) Nous pouvons maintenant lancer l'installation de squid à l'aide de nos paquets précedement construit et en installant au préalable les dépendances necessaires :
 
sudo apt-get install ssl-cert
sudo dpkg -i squidclient_3.1.19-1ubuntu3.12.04.2_amd64.deb squid-cgi_3.1.19-1ubuntu3.12.04.2_amd64.deb squid3-dbg_3.1.19-1ubuntu3.12.04.2_amd64.deb squid3-common_3.1.19-1ubuntu3.12.04.2_all.deb squid3_3.1.19-1ubuntu3.12.04.2_amd64.deb 
 
(si probleme de dépendance executer : sudo apt-get -f install puis repasser la commande précedente)
 
6) Squid est installé et fonctionnel, éditez maintenant le fichier de configuration pour l'adapter à votre réseau :
 
sudo vi /etc/squid3/squid.conf :
 
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl mynetwork src 192.168.0.0/24

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 81 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 mynetwork
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all

http_port 3128

cache_dir ufs /var/spool/squid3 100 16 256
minimum_object_size 0 KB
maximum_object_size 4096 KB

coredump_dir /var/spool/squid3

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern . 0 20% 4320
 
7) Relancer Squid
 
sudo /etc/init.d/squid3 restart
 
Installation de Clamav :
 
1) Installer les paquets necessaires
 
sudo apt-get install clamav-daemon clamav-freshclam
 
2) Telechargement des définitions antivirus :
 
sudo freshclam
 
3) Démarrer Clamav
 
sudo /etc/init.d/clamav-daemon start
 
Installation de Dansguardian :
 
1) Installer les paquets necessaires
 
sudo apt-get install dansguardian
 
2) Editer le fichier de configuration de Dansguardian 
 
sudo vi /etc/dansguardian/dansguardian.conf :
 
reportinglevel = 3

languagedir = '/etc/dansguardian/languages'

language = 'french'

loglevel = 2

logexceptionhits = 2

logfileformat = 1

filterip =

filterport = 8080

proxyip = 127.0.0.1

proxyport = 3128

accessdeniedaddress = 'http://localhost/cgi-bin/dansguardian.pl'

nonstandarddelimiter = on

usecustombannedimage = on
custombannedimagefile = '/usr/share/dansguardian/transparent1x1.gif'

filtergroups = 1
filtergroupslist = '/etc/dansguardian/lists/filtergroupslist'

bannediplist = '/etc/dansguardian/lists/bannediplist'
exceptioniplist = '/etc/dansguardian/lists/exceptioniplist'

showweightedfound = on

weightedphrasemode = 2

urlcachenumber = 1000
urlcacheage = 900

scancleancache = on

phrasefiltermode = 2

preservecase = 0

hexdecodecontent = off

forcequicksearch = off

reverseaddresslookups = off

reverseclientiplookups = off

logclienthostnames = off

createlistcachefiles = on

maxuploadsize = -1

maxcontentfiltersize = 256

maxcontentramcachescansize = 2000

maxcontentfilecachescansize = 20000

filecachedir = '/tmp'

deletedownloadedtempfiles = on

initialtrickledelay = 20

trickledelay = 10

downloadmanager = '/etc/dansguardian/downloadmanagers/fancy.conf'
downloadmanager = '/etc/dansguardian/downloadmanagers/default.conf'

contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'

contentscannertimeout = 60

contentscanexceptions = off

recheckreplacedurls = off

forwardedfor = off

usexforwardedfor = off

logconnectionhandlingerrors = on

logchildprocesshandling = off

maxchildren = 120

minchildren = 8

minsparechildren = 4

preforkchildren = 6

maxsparechildren = 32

maxagechildren = 500

maxips = 0

ipcfilename = '/tmp/.dguardianipc'

urlipcfilename = '/tmp/.dguardianurlipc'

ipipcfilename = '/tmp/.dguardianipipc'

nodaemon = off

nologger = off

logadblocks = off

loguseragent = off

softrestart = off

mailer = '/usr/sbin/sendmail -t'
 
3) Relancer le daemon clamav :
 
sudo /etc/init.d/clamav-daemon restart
 
4) Relance Dansguardian :
 
sudo /etc/init.d/dansguardian restart
 
Il ne vous reste plus qu'à configurer vos navigateurs internets pour passer par votre proxy. Pour cela spécifiez l'adresse de votre serveur Proxy et son port (ici 8080) dans les paramètres de vos navigateurs internets. 
Les sites que vous avez bloqués en les spécifiants dans le fichier /etc/dansguardian/lists/bannedsitelist ne seront plus accessible ni en HTTP, ni en HTTPS. Deplus les pages internets contenant des virus seront également bloquées.
 
 

www.le-gas.fr : Le guide de l'admin Systeme