**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** # Howto Squid Pour sécuriser le serveur web, nous installons un proxy HTTP en sortie. Cela permet d'interdire ou de garder des traces des requêtes faites vers l'extérieur. ## Installation ~~~ # aptitude install squid3 ~~~ ## Configuration La configuration se passe dans le fichier _squid.conf_ qui contiendra : ~~~ # ports 8888 transparent icp_port 0 # ACL #acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/32 acl INTERNE src ADRESSE_IP/32 127.0.0.0/8 acl Safe_ports port 80 # http acl SSL_ports port 443 563 acl WHITELIST url_regex "/etc/squid3/whitelist.conf" deny !WHITELIST allow INTERNE deny all logformat combined %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %h" "%{User-Agent}>h" %Ss:%Sh access_log /var/log/squid3/access.log combined ~~~ Le fichier _whitelist.conf_ contiendra les URLs autorisées en sortie : ~~~ ~~~ La liste des URLs que nous utilisons en standard peut-être trouvée sur Il reste évidemment à rediriger les requêtes HTTP en sortie vers Squid avec IPTables : ~~~ /sbin/iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner proxy -j ACCEPT /sbin/iptables -t nat -A OUTPUT -p tcp --dport 80 -d ADRESSE_IP -j ACCEPT /sbin/iptables -t nat -A OUTPUT -p tcp --dport 80 -d 127.0.0.1 -j ACCEPT /sbin/iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8888 ~~~ ## Tips ### Squid est lent / indispo Cas possible où squid tente de sortir en IPv6 alors qu'il n'y a qu'un lien local ! Astuce : rajouter `tcp_outgoing_address $IP` ### Astuce "pêche à la ligne" Si vous voyez passer des requêtes vers des sites suspects et que vous voulez identifier quel utilisateur les provoque, voici l'astuce "pêche à la ligne" : ~~~ # iptables -I OUTPUT -p tcp --syn -s --dport 8888 -j LOG --log-uid ~~~ ### Desactiver le cache Dans certains cas, on peut vouloir désactiver le cache de façon globale : ~~~ cache deny all ~~~ ### Problème avec Expect 100-continue En cas d'erreur 417 sur des Expect 100-continue, ajouter la directive : ~~~ ignore_expect_100 on ~~~