3

Installer Squid3 sur un serveur Yunohost

Un petit mémo sur comment installer et configurer Squid3 avec l’authentification LDAP basée sur Yunohost.

L’idée et de proposer aux utilisateurs enregistrés dans Yunohost un accès Internet à travers un proxy.

Installer Squid3

Pour rappel, le serveur Yunohsot est installé sur la distribution Debian Jessie.
Toutes les commandes listées ci-dessous sont exécutées en tant que root.

  • Installer le paquet squid3 :
  • apt install squid3
  • Renommer le fichier de configuration par défaut de Squid3 pour le sauvegarder :
  • mv /etc/squid3/squid.conf /etc/squid3/squid.back
  • Editer un nouveau fichier de configuration pour Squid3 :
  • nano /etc/squid3/squid.conf
  • Mon fichier avec authentification LDAP des comptes Yunohost :
  • acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
    acl localnet src 172.16.0.0/12    # RFC1918 possible internal network
    acl localnet src 192.168.0.0/16    # RFC1918 possible internal network
    acl SSL_ports port 443        # https
    acl SSL_ports port 563        # snews
    acl SSL_ports port 873        # rsync
    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 Safe_ports port 631        # cups
    acl Safe_ports port 873        # rsync
    acl Safe_ports port 901        # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
    
    ###Directive pour n’autoriser que les comptes enregistrés dans le LDAP de Yunohost
    auth_param basic program /usr/lib/squid3/basic_ldap_auth -b dc=yunohost,dc=org -h 127.0.0.1 -D cn=admin,dc=yunohost,dc=org -w MOT2PASSE_ADMIN2YUNOHOST -f "uid=%s"
    
    auth_param basic children 50
    auth_param basic realm Web-Proxy
    auth_param basic credentialsttl 1 minute
    acl ldap_auth proxy_auth REQUIRED
    
    visible_hostname web-proxy
    http_access allow ldap_auth
    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow localhost
    http_access deny all
    
    ##cache DNS en local
    dns_nameservers 127.0.0.1
    ##Port d'écoute du Proxy
    http_port 3128 
    forwarded_for off ### mode transparant, la vrai IP est cachée
    cache_dir aufs /var/spool/squid3 10000 16 256
    hierarchy_stoplist cgi-bin ?
    access_log /var/log/squid3/access.log squid
    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
    hosts_file /etc/hosts
    coredump_dir /var/spool/squid3
    

    Ce fichier de configuration est fonctionnel mais peut être amélioré et optimisé.

  • Relancer le service du Squid3 :
  • systemctl restart squid3
  • Vérifier que le service tourne correctement :
  • systemctl status squid3 -l
    ● squid3.service - LSB: Squid HTTP Proxy version 3.x
       Loaded: loaded (/etc/init.d/squid3)
       Active: active (running) since Tue 2016-10-18 08:36:37 UTC; 39min ago
      Process: 23311 ExecStop=/etc/init.d/squid3 stop (code=exited, status=0/SUCCESS)
      Process: 23328 ExecStart=/etc/init.d/squid3 start (code=exited, status=0/SUCCESS)
       CGroup: /system.slice/squid3.service
               ├─23359 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
               ├─23361 (squid-1) -YC -f /etc/squid3/squid.conf
               ├─23362 (pinger)
               └─23363 (basic_ldap_auth) -b dc=yunohost,dc=org -h 127.0.0.1 -D cn=admin,dc=yunohost,dc=org -w MOT2PASSE_ADMIN2YUNOHOST -f uid=%s
    
    Oct 18 08:36:37 yunohost.yunohost.org squid3[23359]: Squid Parent: will start 1 kids
    Oct 18 08:36:37 yunohost.yunohost.org squid3[23328]: Starting Squid HTTP Proxy 3.x: squid3.
    Oct 18 08:36:37 yunohost.yunohost.org systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
    Oct 18 08:36:37 yunohost.yunohost.org squid3[23359]: Squid Parent: (squid-1) process 23361 started
    

    Tout est OK !

Ouvrir le port du Proxy Squid3 sur le serveur Yunohost

Deux façons de faire, soit via l’interface web ou via la moulinette de Yunohost. Pour des raisons de simplicités, j’utilise la moulinette :

yunohost firewall allow TCP 3128

Configuration du navigateur pour passer les connexion à travers le proxy

  • Exemple de configuration réseau du navigateur Firefox avec comme FQDN du proxy : proxy.domaine.tld (évidement, à changer par votre FQDN) :
  • firefox_proxy_yunohost

  • Test de connexion :
    • Boite de dialogue demandant les identifiants pour accéder à la page demandée :
    • yunohost_proxy_squid3

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

3 commentaires

  1. Bonjour,

    merci pour ce tuto qu’il faut que je test !!

    pensez vous pouvoir faire un tuto pour l’installation de log sur squid via ce logiciel à installer sur notre yunohsoht :

    http://squidanalyzer.darold.net/
    merci

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.