Académique Documents
Professionnel Documents
Culture Documents
Ceci aura pour effet de rediriger tout chemin d'URL commençant par /foo/ vers
le même chemin d'URL sur le serveur www.example.com en remplaçant /foo/
par /bar/.
Vous pouvez rediriger les clients non seulement sur le serveur d'origine, mais
aussi vers n'importe quel autre serveur.
Les hôtes virtuels
Le mécanisme des sites virtuels permet à un serveur Web
d’héberger de multiples sites.
Les fournisseurs d’accès ont souvent recours à cette technique, car
ils ne souhaitent pas gérer une machine différente pour
chacun des domaines.
Apache distingue deux types d’hôtes virtuels :
Ceux qui se basent sur l’adresse IP : cette méthode nécessite une adresse IP
différente pour chaque site.
Ceux qui reposent sur le nom DNS du serveur web : cette méthode n’emploie
qu’une adresse IP et différencie les sites par le nom d’hôte communiqué par le
client HTTP.
La rareté des adresses IPv4 fait en général privilégier cette deuxième
méthode.
Hôtes virtuels basés sur adresses ip
le serveur doit disposer de différentes adresses IP pour chaque serveur
virtuel.
Il faut ensuite modifier le fichier httpd.conf afin d’y ajouter une
section VirtualHost pour chacun des serveurs à créer contenant, au
minimum, une directive DocumentRoot.
<VirtualHost 192.168.100.10:80 > <VirtualHost 192.168.100.120:80>
</VirtualHost> </VirtualHost>
Le serveur doit pouvoir résoudre les noms de domaine, il faut les rajouter
dans le DNS ou bien dans /etc/hosts.
192.168.100.10 www.exemple1.ca
192.168.100.20 www.exemple2.ca
Hôtes virtuels nommés
Avec un hébergement virtuel par nom, le serveur s'appuit sur les
informations transmises par le client dans les en-têtes HTTP de ses
requêtes.
Pour utiliser des serveurs virtuels par nom, vous devez désigner l'adresse
IP (et si possible le port) sur le serveur devant accepter les requêtes pour
des domaines. Cette configuration utilise la directive NameVirtualHost.
NameVirtualHost 192.168.100.20
Pour que cela fonctionne, il faut bien sur qu'un serveur DNS soit configuré
pour faire pointer www.domain.com et www.otherdomain.com sur l'IP
192.168.100.20.
Protection par .htaccess
Le principe consiste à créer dans le répertoire à protéger un fichier nommé
.htaccess (commençant par un point donc caché) et qui va en limiter les
droits d'accès.
Le fichier .htaccess va renvoyer vers un fichier contenant les logins et mots
de passe des utilisateurs autorisés.
Ce fichier doit être hors de portée des visiteurs, en clair ne doit pas faire
partie de l'arborescence /var/www/html/...
A noter que le fichier .htaccess peut être nommé différemment en utilisant la
directive AccessFileName
Par défaut, l’utilisation des fichiers .htaccess est désactivée. Il faudrait donc
l’activer pour le répertoire à protéger .
<Directory "/var/www/html/secret">
#AllowOverride None
AllowOverride AuthConfig
</Directory>
Protection par .htaccess
Création de .htaccess
Un serveur proxy est chargé d’effectuer une requête au nom d’un client vers un
autre serveur pour un protocole donné. Le terme français pour proxy est
d’ailleurs « mandataire», le serveur étant mandaté pour effectuer une
action au nom du client. On dit qu’un serveur proxy travaille en rupture de
flux. La plupart des proxys travaillent avec le protocole HTTP,
et si on parle de proxy sans préciser le protocole applicatif,
il s’agit d’un proxy web (HTTP).
Mandataire (proxy)
internet
clients
serveur routeur
18
Mandataire (proxy)
Réseau avec proxy
réseau local
internet
clients
serveur routeur
mandataire
19
Mandataire (proxy)
Réseau avec proxy
internet
clients
serveur routeur
mandataire
réseau local
internet
clients
serveur routeur
mandataire
22
Fonctionnement d’un proxy
• Le client
– se connecte sur un port du proxy
client serveur
mandataire
Port 3128 HTTP
• Le proxy
– filtre la requête
– effectue la requête à la place du client
23
Le proxy de référence : Squid
Caractéristiques
Multi-plateformes (Unix, Windows, …)
Libre (GPL)
Paramétrable
Performant (cache DNS, garbage collector)
Évolutif
Fonctionnalités
mandataire
cachant
filtrant (squidGuard)
http://www.squid-cache.org
24
Un cache, c’est quoi ?
Cache
Proxy avec
cache client
internet
serveur routeur
mémorisation
(base de données)
25
Cache : avantages/inconvénients
Avantages
clients servis plus rapidement
réduction du trafic sortant
accès à des serveurs indisponibles
masquage des adresses IP
Inconvénients
de plus en plus inutile (pages dynamiques)
26
Pourquoi filtrer ?
27
Critères de filtrage
L’origine de la requête
selon le client
La destination de la requête
selon le serveur
Le type de requête
selon le port, la méthode
Le contenu
analyse de mots-clés
Le temps
selon l’heure (créneaux différenciés)
28
configurer un serveur proxy squid
installation
Configuration de base
Squid est composé d’un service dont le script de lancement
normalisé trouve sa configuration dans un
fichier unique squid.conf, généralement situé dans /etc/squid.
configurer un serveur proxy squid
Configuration de base Extrait du fichier /etc/squid/squid.conf
grep ˆ[ˆ#] : affiche et enlève les commentaires qui se trouvent en début des lignes
configurer un serveur proxy squid
Configuration de base
Sans configuration particulière, un serveur proxy squid fait naturellement office de
serveur de cache, et protège les réseaux locaux par une rupture de flux (les
requêtes des navigateurs ne vont pas sur Internet,
mais s’arrêtent au proxy qui va consulter les serveurs en leur lieu et place).
configurer un serveur proxy squid
Configuration de base
Minimum de configuration
http_port numero_port
cache_dir ufs repertoire taille rep_niveau_1 rep_niveau_2
visible_hostname nom_serveur
configurer un serveur proxy squid
Gestion des accès clients
Il s’agit de préciser qui peut ou ne peut pas accéder à Internet par
l’intermédiaire du serveur proxy.
La première étape est de définir (dans squid.conf) des hôtes ou ensembles d’hôtes
(groupes, réseaux) auquel on appliquera une autorisation.
Ces groupes sont créés sous le nom d’ACL (Access Control List).
Définition de listes de contrôle d’accès dans le fichier squid.conf
La syntaxe :
Exemple :
Exemple :
internet clients
serveur routeur
proxy
Coté client
Rediriger les requêtes sur le port 80 vers le port proxy (3128 par défaut
pour squid), cela se fait sans problèmes sur le routeur NAT avec IPtables,
Configurer correctement squid pour qu'il interprète convenablement les
requêtes HTTP qu'il reçoit.
Coté client
Configuer internet explorer