Squid / SquidGuard / dansguardian

De Wiki des Responsables Techniques du 85
Révision datée du 29 juin 2016 à 13:55 par Alexandre (discussion | contributions) (Configuration)
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

Installer Squid avec votre gestionnaire de paquet

apt-get install squid

Installer Samba

apt-get install samba

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

Bloquer les blocs d'IP TOR connues

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 via ce lien :
 https://www.dan.me.uk/torlist/
  • 2 - On les stock dans un fichier
/etc/squid3/iptor
  • 3 - On créer notre acl dans :
/etc/squid3/squid.conf:
  • 4 - et on ajoute l'acl avec le http_acces qui va avec :
acl tor dst "/etc/squid3/torlist"
http_access deny tor

Très efficace, par contre TOR essaiera de passer par des port de votre firewall , il faut donc tout bloquer correctement et ne laisser sortir que le serveur proxy sur internet :

proxysortie

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

Configuration 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
    }


Configuration 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


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>