Squid / SquidGuard / dansguardian

De Wiki des Responsables Techniques du 85
Révision datée du 29 juin 2016 à 14:09 par Alexandre (discussion | contributions) (Bloquer Tor avec Squid)
Aller à : navigation, rechercher

Squid2.gif

Présentation

  • Squid est un logiciel serveur permettant de faire passerelle et cache mémoire des connexions Internet
  • SquidGuard est un autre logiciel qui couplé a Squid permet de faire du filtrage des connexions Internet
  • dansguardian a le même rôle que SquidGuard

Installation de Squid/SquidGuard/DANSguardian

Tout d'abord on doit installer le paquet Squid

apt-get install squid

Ensuit il faut installer Samba pour la partie authentification

apt-get install samba

On choisi enfin si on veux choisir SquidGuard ou DANSGuardian

apt-get install squidguard

ou

apt-get install dansguardian

Configuration

Pour une meilleure sécurité il y a deux modes possibles :

  • Serveur Squid en "multi-patte" sur deux réseaux distinct, DANSGuardian écoute sur un des réseaux sur le port 8080, valide la recherche suivant les règles et transmet la requête à Squid sur l'adresse loopback ( 127.0.0.1 ) qui lui peut sortir sur vers internet.
  • Un seul réseau ou plusieurs avec routage, même topo dansguardian écoute sur le port 8080 transmet a squid en loopback qui lui est le seul à pouvoir passer le firewall pour l’accès à internet.

Fichier de configuration Squid

Voici un exemple de fichier de configuration Squid

dns_v4_first on
visible_hostname squid

error_directory /usr/share/squid/errors/French

cache_dir ufs /data/squid/spool 5000 16 256
cache_mem 256 MB
coredump_dir /data/squid/spool
cache_store_log none

auth_param ntlm program /usr/bin/ntlm_auth —helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive off
#auth_param ntlm realm ETAB

acl sitebypass dstdomain "/var/lib/squidguard/db/exception/bypassite/bypassite.url"
acl tor dst "/etc/squid/tor"

acl administrationzone src 172.21.0.0/16
acl srvzone src 172.20.0.0/16
acl ntlm proxy_auth REQUIRED
acl url_exe url_regex -i \.[Mm][Ss][Ii]$ \.[Dd][Ll][Ll]$


acl SSL_ports port 443
acl Safe_ports port 80    # 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 deny tor
http_access deny url_exe
http_access allow administrationzone
http_access allow srvzone
http_access allow ntlm

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow localhost manager
http_access deny manager

http_access allow localhost

http_access deny all
http_port 8080

url_rewrite_program /usr/bin/squidGuard -P -c /etc/squidguard/squidGuard.conf
url_rewrite_children 5


coredump_dir /var/spool/squid
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

Bloquer le réseaux Tor

Dans le cas de nos réseaux pédagogiques en Collège/Lycée il peut sembler légitime de restreindre l'accès aux réseaux Tor.

Bloquer Tor avec Squid

On peut essayer de bloquer le réseau TOR sur son réseau avec squid3.

Le premier essai est concluant:

1 - On récupère la liste des ip tor sur ce lien et on les stocks dans un fichier :

wget -O --no-check-certificate https://www.dan.me.uk/torlist/ > /etc/squid3/iptor

2 - On créer notre acl dans :

vim /etc/squid3/squid.conf:

3 - On ajoute l'acl avec le http_access qui va avec :

acl tor dst "/etc/squid3/torlist"
http_access deny tor

Bloquer Tor avec DANSGuardian

Pour bloquer la liste des ip du réseau tor (comme expliquer plus haut) vous pouvez également la faire avec dansguardian a ajoutant comme ceci toujours dans le fichier :

   /etc/dansguardian/lists/bannedsitelist

    # Bloc IP TOR
   .Include</etc/squid3/torlist>


Bloquer le surf IP

Cela signifie que l'utilisateur ne pourra pas surfer en tapant directement d'adresse ip : http://92.222.29.147 par exemple

Attention cela peut entraîner d'autre soucis

Blocage surf IP SquidGuard

Sous squidguard il vous suffit il vous suffit de rajouter !in-addr a votre acl, comme ceci : Dans le fichier :

   
   /etc/squidguard/squidguard.conf

    profs {
                pass !in-addr !autresitebloquer all
                redirect http://172.21.254.254/cgi-bin/squidGuard.cgi?clientaddr=%a+clientname=%n+clientident=%i+srcclass=%s+targetclass=%t+url=%u
    }


Blocage surf IP DansGuardian

Dans le fichier :

   /etc/dansguardian/lists/bannedsitelist


Dé-commenter les ligne comme ceci:

   #Blanket IP Block.  To block all sites specified only as an IP,
   #remove the # from the next line to leave only a '*ip':
   *ip

   #Blanket SSL/CONNECT IP Block.  To block all SSL and CONNECT
   #tunnels to sites specified only as an IP,
   #remove the # from the next line to leave only a '*ips':
   *ips