« Squid3 » : différence entre les versions
Ligne 5 : | Ligne 5 : | ||
== Depuis les dépôts == | == Depuis les dépôts == | ||
* | * Pour installer le serveur proxy '''Squid3''' sans prise en charge du module '''ssl''', il suffit d'installer le paquet '''squid3'''. | ||
{{ Box Console | objet=sudo apt-get install squid3 }} | {{ Box Console | objet=sudo apt-get install squid3 }} | ||
<div style="width:100%;background-color:#dddddd;margin-top:15px; margin-bottom:15px"> | <div style="width:100%;background-color:#dddddd;margin-top:15px; margin-bottom:15px"> |
Version du 2 avril 2015 à 18:15
Installation
Depuis les dépôts
- Pour installer le serveur proxy Squid3 sans prise en charge du module ssl, il suffit d'installer le paquet squid3.
|
|
|
Si vous souhaitez un support ssl, l'installation par les sources est obligatoire. |
- Installation des paquets pour l'environnement de compilation :
|
|
- Obtention des sources du paquet Squid3 :
|
|
- Installation des dépendances :
|
|
- Pour activer le support SSL, il faut éditer le fichier squid3-3.x.x/debian/rules et y ajouter la ligne suivante :
--enable-ssl \
- Juste après la ligne :
--enable-ecap \
- On lance le script de configuration :
|
|
- Puis on construit les nouveaux packages :
|
|
|
Ce processus peut prendre plusieurs heures. |
- Une fois la compilation terminée les paquets suivants sont présents :
squid3_3.3.8-1ubuntu6.2_i386.deb squid-cgi_3.3.8-1ubuntu6.2_i386.deb squid_3.3.8-1ubuntu6.2_i386.deb squidclient_3.3.8-1ubuntu6.2_i386.deb squid3-common_3.3.8-1ubuntu6.2_all.deb squid-purge_3.3.8-1ubuntu6.2_i386.deb squid3-dbg_3.3.8-1ubuntu6.2_i386.deb
- On procède à l'installation des paquets squid3_3.3.8-1ubuntu6.2_i386.deb et squid3-common_3.3.8-1ubuntu6.2_all.deb.
|
|
Configuration de base
- Le fichier de configuration de squid3 fournit par défaut est un fichier commenté. Ce dernier contient toutes les informations nécessaires à la compréhension de chacun des paramètres.
- Nous effectuons une sauvegarde de ce fichier :
|
|
- Nous créons un nouveau fichier squid.conf vierge.
|
|
Architecture du réseau
- Dans notre topologie, le serveur Squid3 se trouve entre le routeur (Box, Modem Internet) et le LAN.
|
Dans ce type de configuration, le serveur Squid3 est utilisé comme passerelle. Pour configurer un équipement Linux comme routeur, veuillez vous reporter à l'article Routeur_Linux. |
Paramètres généraux
- Le fichier de configuration de Squid3 se trouve dans le répertoire /etc/squid3 et se nomme squid.conf.
- On définit en premier lieu le hostname qui correspond au nom de la machine.
visible_hostname prauxyla.net.ncad.fr
- On peut aussi renseigner l'adresse mail du responsable technique et qui sera communiquée dans les pages d'erreurs du proxy.
cache_mgr tech@ncad.fr
Définition des ACLs
Fonctionnement
Les ACcess Lists (Listes d'accès) permettent d'établir des règles d'accès selon plusieurs critères (adresse IP, nom d'hôte, protocole).
- La synthaxe d'une liste d'accès est la suivante :
acl <nom_reseau> src <plage_ip/adresse_ip>
Déclaration d'hôtes
- Nous allons définir une ACL pour identifier les machines du réseau local.
acl reseaulocal src 10.0.0.0/24
Déclaration des protocoles
- Nous allons définir une liste des protocoles TCP/IP qui seront autorisés à traverser le proxy.
acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 20 # ftp-data acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # ssl acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 10000 # Administration acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 5190 # AIM acl Safe_ports port 5222 # jabber acl Safe_ports port 5050 # Yahoo Messenger acl Safe_ports port 1863 # MSN Messenger 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
Pour des raisons de commodité nous nommons de la manière suivante les protocoles listés : Safe_ports pour les protocoles standard non sécurisé - et SSL_ports pour les protocoles sécurisés. |
|
Les règles d'accès seront définies par la suite. |
Règles d'accès
Initialisation du cache
- On procède à la purge du cache de Squid3. Ce dernier sauvegarde toutes les pages consultées par les utilisateurs afin d'éviter d'avoir à les télécharger de nouveau.
acl purge method PURGE
- On autorise l'établissement du tunnel HTTP entre les clients et le proxy.
acl CONNECT method CONNECT
Définition des autorisations
- On autorise uniquement les protocoles qui ont été listés dans l'ACL Safe_ports :
http_access deny !Safe_ports
- On autorise les postes informatiques du réseau local à se connecter au serveur proxy :
http_access allow reseaulocal
- On interdit tous les autres accès non listés :
http_access deny all
- Blocage des requêtes ICP :
icp_access deny all
- Blocage des requêtes HTCP :
htcp_access deny all
Paramètres de fonctionnement du proxy
- Port d'écoute du serveur proxy :
http_port 3128
- Ne pas interroger le cache pour l'accès à des scripts cgi :
hierarchy_stoplist cgi-bin ?
- Chemin vers le fichier des logs d'accès de Squid3 :
access_log /var/log/squid3/access.log squid
- Temps de rafraîchissement du cache et durée de vie du cache :
refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern (cgi-bin|\?) 0 0% 0 refresh_pattern . 0 20% 4320
- Port d'écoute du serveur proxy pour les requêtes ICP :
icp_port 3130 coredump_dir /var/spool/squid3
Fichier squid.conf
- Voici le fichier de configuration ainsi obtenu :
visible_hostname prauxyla.net.ncad.fr cache_mgr tech@ncad.fr acl goulouxiou src 10.0.0.0/24 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 20 # ftp-data acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # ssl acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 10000 # Administration acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 5190 # AIM acl Safe_ports port 5222 # jabber acl Safe_ports port 5050 # Yahoo Messenger acl Safe_ports port 1863 # MSN Messenger 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 http_access deny !Safe_ports http_access allow reseaulocal http_access deny all icp_access deny all htcp_access deny all http_port 3128 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 (cgi-bin|\?) 0 0% 0 refresh_pattern . 0 20% 4320 icp_port 3130 coredump_dir /var/spool/squid3