Squid

Ce présent document n’a qu’un but de rappel rapide des manipulations à faire pour configurer rapidement un squid, il est fortement conseille de lire les man.

A l’aide de votre editeur favori, modifiez $PREFIX/etc/squid.conf pour obtenir ceci :


# PARAMETRES RESEAU
# port sur lequel le proxy ecoute
http_port 3128
# desactive le cache pour d'autres proxies
icp_port 0
# CONFIGURATION DU CACHE
# taille en memoire
cache_mem 32 MB
# utilisation minimale du cache en pourcent
cache_swap_low 95
# utilisation maximale du cache en pourcent
cache_swap_high 98
# taille maxi d'un objet sauve sur le disque
maximum_object_size 8192 KB
# taille mini d'un objet sauve sur le disque
minimum_object_size 0 KB
# taille maxi d'un objet en memoire
maximum_object_size_in_memory 128 KB
# nombre maxi de sites ( ips ) dans le cache
ipcache_size 2048
# nombre mini de sites ( ips ) present ds le cache en pourcents
ipcache_low 90
# nombre maxi de sites ( ips ) present ds le cache en pourcents
ipcache_high 95
# politique de gestion du cache disque
cache_replacement_policy lru
# politique de gestion de la memoire
memory_replacement_policy lru
# CONFIGURATION DES LOGS
# repertoire du cache ( repertoire, type_d_organisation, taille en mo, nombre de repertoire de
# niveau 1, nombre de rep de niveau 2 )
cache_dir ufs /usr/local/squid/cache 500 16 256
# fichier de log des acces
cache_access_log /var/log/squid/access.log
# fichier de log du cache
cache_log /var/log/squid/cache.log
# fichier de log de la gestion du cache
cache_store_log /var/log/squid/store.log
# fichier index du cache disque
cache_swap_log /usr/local/squid/cache/swap.log
# type de log
emulate_httpd_log off
# log de l'ip cible
log_ip_on_direct on
# chemin de l'interpreteur mime
mime_table /usr/local/etc/squid/mime.conf
# enregistrement des header mime
log_mime_hdrs off
# chemin du fichier contenant le pid ( processus id )
pid_filename /var/tmp/squid.pid
# options de debug
debug_options ALL, 1
# log ip ou noms dans le fichier d'acces
log_fqdn off
# ip a donner aux site quand on surf
client_netmask 255.255.255.255
# config des programmes externes a squid
ftp_user anonymous@
# taille maxi des noms de fichiers sur un ftp
ftp_list_width 128
# transfert ftp passif ( doit etre a off pr faire en passif )
ftp_passive off
# ecart entre deux tentatives de requete dns
dns_retransmit_interval 5 seconds
# au bout de combien de temps un domaine est considerer inresolvable ( dns )
dns_timeout 5 minutes
# nombre de proxy a lancer
redirect_children 5
redirect_rewrites_host_header on
# CONFIG FINE DU CACHE
# taille maxi des headers de requete
request_header_max_size 10 KB
# taille maxi d'un objet envoyé via le proxy
request_body_max_size 8 MB
# taille maxi d'un objet recut via le proxy ( O = illimité )
reply_body_max_size 0
# "age" maxi d'une page cachée dans le proxy
reference_age 1 year
# CONFIGURATION DES TIMEOUTS
# temps avant timeout d'une connection a un site
connect_timeout 120 seconds
# temps avant timeout d'une connection d'un pc client
request_timeout 30 seconds
# temps maxi que peut rester connecter un client
client_lifetime 2 hours
# temps maxi avant timeout d'une connection permanente via le proxy
pconn_timeout 120 seconds
# GESTION DES DROITS D'ACCES
# definition du reseau local
acl rezo_local src 192.168.0.0/255.255.255.0
# definition de tous
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21          # ftp
acl Safe_ports port 25          # ftp
acl Safe_ports port 80          # http
acl Safe_ports port 443 	# https, snews
acl CONNECT method CONNECT
# on definit l'acl pour bloquer microsoft
acl microsoft dstdomain .microsoft.com .microsoft.fr .microsoft.*
# on vire qq trucs de pubs
acl publicite dstdomain .cybermonitor.com .advertising.com .doubleclick.net .mgn.net .smartadserver.com
# on definit les droit a proprement parler
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than Safe ports
http_access deny CONNECT !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
# on interdit d'aller vers microsoft
http_access deny microsoft
# on interdit le chargement de la pub
http_access deny publicite
# on permet au lan d'acceder
http_access allow rezo_local
# maintenant on ferme tout a tous les autres
http_access deny all
icp_access deny all
# CONFIG DIVERSES
# ne pas broadcast de messages pour s'annoncer
announce_period 0
# on accelere l'http pour ce qui est masque
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
# combien de jours de fichiers de log doit on garder
logfile_rotate 14
# repertoire contenant les messages d'erreurs
error_directory /usr/local/etc/squid/errors
# repertoire contenant les icones
icon_directory /usr/local/etc/squid/icons