Click here to load reader
Upload
noel-mace
View
853
Download
6
Embed Size (px)
DESCRIPTION
préparation à la certification LPIC2 version 3.5 en français Chapitre 8 : Topic 208 : Services Web Configuration de Apache2 et Squid Partie 4 : mise en place d'un serveur mandataire (proxy) Topic 208.3 Installation, configuration et gestion du Proxy Squid sous GNU/Linux. Supports créés par Noël Macé sous Licence Creative Commons BY-NC-SA.
Citation preview
Linux LPIC2 noelmace.com
Noël MacéFormateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Mise en place d'un serveur mandataire (proxy)
Services web
Licence Creative CommonsCe(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Linux LPIC2 noelmace.com
Plan• Introduction
Squid
• Configuration
Paramètres généraux
• ACLs
ACLs : Exemples
• Restriction d'accès
• Authentification utilisateur
Authentification utilisateur pour Squid 2.4-
Linux LPIC2 noelmace.com
Introduction• Serveur mandataire (proxy)
intermédiaire entre deux réseaux (ex : local / internet)
• Avantages et fonctionnalités
performances
• mémoire cache, compression
sécurité
• anonymisation
• surveillance (journalisation)
filtrage
• des publicités et contenus lourds (performance)
• des contenus indésirables
Linux LPIC2 noelmace.com
Squid• Proxy libre de référence
Licence GNU GPL
créé en Juillet 1996
Notamment utilisé par Wikimedia Fondation et Flickr
version actuelle (au 13 Juillet 2013) : 3.3.8
• Support des protocoles HTTP, HTTPS, FTP et Gopher
• Nombreuses fonctionnalités
mémoire cache
contrôle étendu des accès
cache DNS
mandataire inverse
Linux LPIC2 noelmace.com
Configuration• squid.conf
/etc/squid (CentOS et Debian Squid 2) ou /etc/squid3 (Debian Squid 3)
Ensemble de directive complexes
• ligne par ligne
Fonctionnel à l'installation
• Exemple (Extrait) :
visible_hostname ubuntuhttp_port 3128...acl allowedips src 192.168.1.1/255.255.255.0...forwarded_for off...
visible_hostname ubuntuhttp_port 3128...acl allowedips src 192.168.1.1/255.255.255.0...forwarded_for off...
Linux LPIC2 noelmace.com
Paramètres généraux• Définition du port d'écoute HTTP (3128 par défaut)
• Interface d'écoute HTTP (toutes par défaut)
limiter aux réseaux locaux pour des raisons de sécurité
• Nom de la machine (obtenu via gethostname() par défaut)
http_port 3177http_port 3177
http_port 192.168.1.1:3177http_port 192.168.1.1:3177
http_port 3177http_port 3177
visible_hostname nom_machinevisible_hostname nom_machine
Linux LPIC2 noelmace.com
ACLs• Syntaxe
acltype :
• src : adresse IP de la source (ie. le client) (adresse/masque) ou d'une place d'adresses (adresse_IP_debut-adresse_IP_fin)
• dst : adresse IP de la destination (ie. ordinateur cible)
• srcdomain : domaine du client
• dstdomain : domaine de destination.
• url_regex : chaîne contenu dans l'URL
- possibilité d'utiliser les jokers ou un fichier
- sensible à la casse
• urlpath_regex : chaîne comparée avec le chemin de l'URL
- possibilité d'utiliser les jokers
• proto : protocole.
acl aclname acltype string[string2]acl aclname acltype string[string2]
Linux LPIC2 noelmace.com
ACLs : Exemples
acl mon_domaine_dst dstdomain noelmace.comacl mon_domaine_dst dstdomain noelmace.com
acl url_interdit url_regex forbiddenacl url_interdit url_regex forbidden
acl url_interdites url_regex "/etc/squid/denied_url"acl url_interdites url_regex "/etc/squid/denied_url"
acl clients src 192.168.0.0/255.255.0.0acl clients src 192.168.0.0/255.255.0.0
Linux LPIC2 noelmace.com
Restriction d'accès• A partir d'une acl pré-définie
doit être placé après la définition de cette acl
• Syntaxe
• Exemples
interdire l'accès au domaine noelmace.com
interdire l'accès aux pages contenant le mot forbidden
Restreindre l'accès au proxy aux seul réseau 192.168.0.0
http_access allow|deny [!]aclnamehttp_access allow|deny [!]aclname
http_access deny mon_domaine_dsthttp_access allow all http_access deny mon_domaine_dsthttp_access allow all
http_access deny url_interdithttp_access allow all http_access deny url_interdithttp_access allow all
http_access allow localhost http_access allow clientshttp_access deny all
http_access allow localhost http_access allow clientshttp_access deny all
Linux LPIC2 noelmace.com
Authentification utilisateur• 4 types d'authentification HTTP possible
Basic, NTLM (SMB LM, v1 and v2), Digest, et Negotiate.
• Nombreuses solutions disponibles
APM, LDAP, NCSA auth, SMB …
• Avec NCSA auth
à partir des mêmes outils (htpasswd) que pour Apache2 mod_auth_basic
Exemple
• Documentation : http://wiki.squid-cache.org/Features/Authentication
•
auth_param basic program /usr/local/squid/bin/ncsa_auth /usr/local/squid/etc/passwdacl auth_users proxy_auth REQUIREDhttp_access allow auth_usershttp_access deny all
auth_param basic program /usr/local/squid/bin/ncsa_auth /usr/local/squid/etc/passwdacl auth_users proxy_auth REQUIREDhttp_access allow auth_usershttp_access deny all
Linux LPIC2 noelmace.com
Authentification utilisateur pour Squid 2.4-
• Avec NCSA auth
• Avec LDAP
• LDAP_USER : ou (organizational unit) contenant les clients
exemple ou=people, ou= ac-limoges, ou=education, ou=gouv, c=fr
authenticate_program /usr/lib/ncsa_auth /etc/squid/passwdacl auth_users proxy_auth REQUIREDacl all src 0/0http_access allow auth_usershttp_access deny all
authenticate_program /usr/lib/ncsa_auth /etc/squid/passwdacl auth_users proxy_auth REQUIREDacl all src 0/0http_access allow auth_usershttp_access deny all
acl identification proxy_auth REQUIREDhttp_access allow identificationauthentificate_program /usr/lib/squid/squid_ldap_auth -b $LDAP_USER -u uid SERVEUR_LDAP
acl identification proxy_auth REQUIREDhttp_access allow identificationauthentificate_program /usr/lib/squid/squid_ldap_auth -b $LDAP_USER -u uid SERVEUR_LDAP
Linux LPIC2 noelmace.com
Test : configuration du client Debian• Pour tester votre serveur, vous pouvez utilisez n'importe quel
client http (firefox, epiphany, etc …)
• La configuration peu se faire au niveau de l'OS client ou du logiciel client web
pour configurer firefox : Documentation officielle
pour configurer le proxy sur votre client Debian
•$ gnome-network-preferences$ gnome-network-preferences
Linux LPIC2 noelmace.com
Ce qu’on a couvert• Gestion et configuration du serveur mandataire Squid
• Restriction d'accès grâce aux ACLs
• Authentification utilisateur
Weight : 1
Description : Candidates should be able to install and configure a proxy server, including access policies, authentication and resource usage.
208.3 Implementing a proxy server
Linux LPIC2 noelmace.com
LicenceCe(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
partager — reproduire, distribuer et communiquer cette œuvre
remixer — adapter l’œuvre
Selon les conditions suivantes :
Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins d'en demander expressément la permission).
Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une autorisation explicite de l'auteur est requise.
Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration de ce support.