tunnels et vpn - formation.jussieu.fr€¦ · tunnels (stunnel) stunnel permet l ’utilisation d...

44
Tunnels et VPN

Upload: others

Post on 25-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Tunnels et VPN

Page 2: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Sécurisation des communications

Remplacement ou sécurisation de tous les protocoles ne chiffrant pas l’authentification + éventuellement chiffrement des données Permettre d’éviter les écoutes réseau Permettre l’accès à des services internes depuis

l’extérieur Accès haut débits ( ADSL et le câble ) Accès Modem avec des fournisseurs externes

Page 3: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Quelles sont les solutions ?

Modification d’applications existantes => Problème de compatibilité client-serveur

telnet windows 2000 !!! Sendmail, pop et imap StartTLS (Option négociée)

On veut garder les protocoles sans modifications => créer une connexion chiffrée entre clients et serveurs

Dans ce cadre on parle de tunnels applicatifs, tunnels et VPN

Page 4: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Quelles sont les solutions ?

Le faire au niveau application (couche 7 ) Créer de nouvelles applications intégrant les

fonctions cryptographiques SSH

Le faire au niveau transport ( couche 4 ) Liaison logique entre des programmes qui

chiffrent les communications. SSL (https, pops, imaps …)

Le faire au niveau réseau ( couche 3 ) Le chiffrement est effectué directement au dessus

du support réseau => interface virtuelle

Page 5: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

VPN et tunnels

VPN : Virtual private Network faire transiter un protocole par l’intermédiaire d ’un

autre Application dans IP ( port forwarding ) IP dans IP Ethernet, IPX, appletalk … dans IP

Généralisation du concept de tunnel C’est la valise diplomatique de l’informatique avec

tous les dangers que cela comporte Extension du périmètre de sécurité à des machines

externes

Page 6: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Tunnels – SSH

SSH peux être utilisé en tunnel pour des applications

( Port forwarding ) X11 par défaut Pop et SMTP exemple :

eudora+ putty sous windows firefox + openssh sous unix

Mode VPN complet depuis openSSH 5

Page 7: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Tunnels (STUNNEL) Stunnel

Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http, pop, imap, smtp …)

Il ne gère pas telnet et ftp exemples :

imap démarré au niveau de l ’inetdimaps stream tcp nowait root \/usr/local/sbin/stunnel stunnel -l /usr/sbin/imapd imapd

Désormais beaucoup de services supportent les options SSL sans passer par stunnel (wu-imap,courier-imap,dovecot …) Possibilité d ’activer une connexion PPP à l ’intérieur exemple :(PEU EFFICACE)

Sur le serveur utiliser (-L pour le Pseudo TTY) "stunnel -d 2020 -L /usr/sbin/pppd -- pppd local“ Sur le client pour activer le lien PPP sécurisé

"stunnel -c -r server:2020 -L /usr/sbin/pppd -- pppd local"

Page 8: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Numéro de Ports standards sous SSL https 443/tcp # http protocol over TLS/SSL smtps 465/tcp # smtp protocol over TLS/SSL (was ssmtp) nntps 563/tcp # nntp protocol over TLS/SSL (was snntp) sshell 614/tcp # SSL shell ldaps 636/tcp # ldap protocol over TLS/SSL (was sldap) ftps-data 989/tcp # ftp protocol, data, over TLS/SSL ftps 990/tcp # ftp protocol, control, over TLS/SSL telnets 992/tcp # telnet protocol over TLS/SSL imaps 993/tcp # imap4 protocol over TLS/SSL ircs 994/tcp # irc protocol over TLS/SSL pop3s 995/tcp # pop3 protocol over TLS/SSL (was spop3)

Page 9: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

VPN: Types de connexions

Réseau à Réseau Société multisite

=> Routage du VPN sur chacun des sites Machine à Réseau

Utilisateurs itinérants

=> Routage des clients VPN sur le site serveur Machine à Machine

vpn direct entre deux machines

Page 10: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Que doit assurer un VPN ?

Authentification ( de préférence forte ) Intégrité Confidentialité Protection contre le rejeu Eventuellement compression

Page 11: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Vtun (1)

Http://vtun.sourceforge.net/ supporté sous linux, solaris et *bsd simplicité de mise en œuvre et documentation très

bien faite supporte le traffic shapping tunnels IP, Ethernet, PPP, PIPE compression LZO et ZLIB Encryption MD5 BLOWFISH Fonctionne en mode client serveur (serveur sur un port

configurable UDP ou TCP) Défaut: mot de passe en clair dans le fichier de

configuration

Page 12: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Vtun (2) Fichier de config clientoptions { port 5000; # Connect persist yes; # Persist mode timeout 60; # General timeout}# TUN example. Host 'cobra'. cobra { pass XXXXXX; # Password device tun1; # Device tun1 up {

# Connection is Up # Assign IP addresses. ifconfig "%% 10.3.0.2 pointopoint \

10.3.0.1 mtu 1450"; };}

Fichier de config serveuroptions { port 5000; # Listen on this port.}# TUN example. Host 'cobra'.cobra { pass XXXXXX; # Password type tun; # IP tunnel proto udp; # UDP protocol comp lzo:9; # LZO compression

level 9 encr yes; # Encryption up {

# Connection is Up # 10.3.0.1 - local, 10.3.0.2 - remote ifconfig "%% 10.3.0.1 pointopoint \ 10.3.0.2 mtu 1450";

};}

Page 13: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

PPTP Protocole Ouvert M$ PPTP ( Point to Point Tunneling Protocol )

RFC 1701, 1702 et 1171 Microsoft authentification MS/CHAP V2 Microsoft chiffrement MPPE (RC4 40 ou 128 bits) PPTP ne fait aucun chiffrement Utilise deux canaux de communication

Port 1723 TCP protocol IP 47 (GRE) pour les données

GRE: Generic Routing Encapsulation établissement d ’une connexion PPP à l ’intérieur

du canal de donnée éventuellement compressé et crypté

Abandonné par Microsoft dans Windows 2000 (L2TP)

A n’utiliser que si c’est la seule solution

Page 14: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

IPSec IPSec : est un standard ( pas un logiciel )

Inclus dans IPV6 Il assure :

Authentification ( DSS ou RSA) Intégrité ( MD5 SHA-1 RIPEMD …) Confidentialité (DES RC5 IDEA Blowfish …)

Une Implémentation libre : FreeS/WAN (Linux) Port et protocol utilisé:

UDP port 500 IKE ESP protocol 50 (Encapsulating Security Payload) AH protocol 51 (Authentication Header) IPSEC NAT Traversal UDP 4500

Page 15: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

OpenVPN encapsuler dans un tunnel n'importe quel sous-réseau IP ou

adapateur ethernet virtuel, dans un unique port TCP ou UDP; créer une infrastructure de tunnels entre n'importe quel système

d'exploitation supporté par OpenVPN. Sont concernés Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X, et Windows 2000/XP/VISTA

utiliser toutes les fonctionnalités de chiffrement, d'authentification et de certification de la librairie OpenSSL afin de protéger le trafic de votre réseau privé lorsqu'il transite par Internet;

utiliser n'importe quel algorithme de chiffrement, taille de clef, ou empreinte HMAC (pour l'authentification des datagrammes) supporté par la bibliothèque OpenSSL,

choisir entre un chiffrement conventionnel basé sur une clef statique, ou un chiffrement par clef publique en se basant sur les certificats,

utiliser les clefs statiques, pré-partagée, ou un échange de clef dynamiques basé sur TLS.

Page 16: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

OpenVPN utiliser une compression des flux adaptée en temps-réel, la mise

en forme de trafic pour gérer l'utilisation de la bande-passante du lien,

encapsuler les réseaux dont les extrémités publiques sont dynamiques comme on peut le rencontrer avec DHCP ou avec des clients connectés par modem,

encapsuler le trafic de réseaux grâce aux firewalls effectuant du suivi de sessions, sans nécessairement utiliser des règles de filtrage particulières,

encapsuler le trafic de réseaux avec du NAT (translation d'adresse), et

créer des ponts ethernets sécurisés utilisant les périphériques tap.

Page 17: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

VPN Conclusions Eviter les implémentations sur TCP

Problème d’efficacité (c’est parfois la seule solution qui marche )

C’est un outil efficace extrêmement puissant Mais … aussi une arme redoutable

Une anecdote Quelques questions :

Pour quels services ? Ou mettre le point d’entrée dans l’architecture réseau ? Que faut il comme sécurité sur le poste client ?

A n’utiliser que dans le cadre d’une architecture déjà sécurisée

Page 18: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Serveurs mandataires et relais inverses

Page 19: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Qu'est-ce qu'un proxy ? Proxy = mandataire (traduction) Un proxy est un service mandataire pour une

application donnée. C'est à dire qu'il sert d'intermédiaire dans une

connexion entre le client et le serveur pour relayer la requête qui est faite.

Ainsi, le client s'adresse toujours au proxy, et c'est lui qui s'adresse ensuite au serveur.

Page 20: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Permet de casser complètement la connectivité directe à l ’internet des machines internes => possibilité de fermer tous les ports entre les machines internes et l ’internet

Ne peuvent être utilisé que les applications supportées par un relais applicatif

Exemples : telnet ftp vers une machine relais puis vers l’internet cache Web (squid) serveur relais de messagerie existence de relais transparents pour certaines applications socks

Proxy et reverse proxy

Page 21: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Fonctionnement Pour une application donnée, http, ftp, smtp, etc,

il peut donc modifier les informations à envoyer au serveur, ainsi que celles renvoyées par celui-ci.

La contrepartie est qu'il faut un proxy par application.

Cependant, beaucoup de proxy sont en fait des multi-proxy qui sont capables de comprendre la plupart des applications courantes

Page 22: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Internet

Serveurmessagerie R

OUTEUR

2

ProxyWWW

Proxytelnet/ftp

ServeurWWW

ROUTEUR

1

Station 1

Serveurmessagerie

ServeurWWW

195.220.97.3

195.220.97.10

195.220.97.4

195.220.97.5

Réseau adresseofficielle 195.220.97/24

Réseaux adresseprivée 10/8

10.1.2.2

Station 2

10.1.3.2

10.1.2.4

Station 3

Serveurtelnet

Proxy et reverse proxy

Page 23: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Fonctionnalités des serveurs Fonctions de cache Fonction de d'enregistrement Fonction de filtre Fonction de sécurité Autres fonctions

Page 24: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Fonction de cache Le serveur conserve en mémoire toutes les

requêtes effectuées par le client Permet de conserver localement les

informations afin d'être réutilisées ultérieurement Conséquence

le cache accélère les consultations des informations déjà demandée,

le trafic réseau en est diminué Réduit les malveillances

Page 25: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Fonction d'enregistrement Le serveur garde une trace détaillée de toutes les

informations qui le traversent Génère un fichier journal (fichier de log).

enregistre la trace des requêtes effectuées par tous les clients utilisant le proxy. L’identification du client, les dates et heures de connexion, Les URL des ressources consultés, les tailles et temps de téléchargement, etc.

Page 26: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Fonction de filtre Mise en place de filtre au niveau des requêtes

Analyse des paquets qu'il reçoit et agit ainsi en fonction de la politique de sécurité choisie

Fonction de sécurité fonction d'authentification Serveur permettant de protéger les postes

clients d'agressions extérieures Protège des attaques via des accès directs Attention ce n'est pas un firewall !

Page 27: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Autres fonctions Fonction d'anonymat

Les requêtes relayées par un serveur peuvent ne pas contenir d'adresse du client, de manière à protéger leur anonymat

Page 28: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Avantages du proxy Il est capable d'interpréter le trafic et

notamment de cacher les informations. On diminue ainsi le trafic et augmente la bande passante de la même occasion.

On peut aussi autoriser ou non l'accès à certaines partie d'un site, à certaines fonctionnalités, etc.

On a donc un bon contrôle de ce qui transite sur le réseau, et on sait quels protocoles peuvent circuler.

Page 29: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Proxy transparent Le principe :

Le réseau est configuré avec une passerelle par défaut et un serveur DNS.

Chaque requête est automatiquement , et de manière invisible renvoyée vers le proxy par le routeur/firewall.

Le serveur proxy relaye la requete sur le serveur Internet et stocke l'information dans son cache.

Le client croit ainsi dialoguer avec le serveur internet , mais en réalité, elle ne dialogue qu'avec le serveur proxy.

Page 30: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Proxy transparent Fonctions :

Mettre en cache les pages les plus visitées, afin d'éviter de recharger une page qui a déjà été visitée

Forcer les utilisateurs du réseau à utiliser un proxy, qu'ils le veuillent ou non.

Faire utiliser un proxy à toutes les machines d'un réseau sans avoir à configurer chaque application.

Bloquer des applications internet (comme les utilitaires de chat, ou de peer2peer)

sécuriser un réseau qui accède à internet en limitant l'accès à certaines pages.

Page 31: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Proxy socks Socks est un protocole proxy générique pour

TCP/IP Serveur socks linux sur le port 1080/Tcp Permet l'implémentation de proxy dans des applications

(programme java etc..) l'avantage de ce cette méthode c'est que l'on n'a pas besoin

de connaitre le protocole de communication des deux machines donc pas d'intervention sur les paquets qu'ils se transmettent (gain de temps)

Inconvénient nécessite son implémentation dans les applications (clients)

Page 32: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy Squid

C'est un serveur proxy cache haute performance, qui supporte les protocoles HTTP, FTP

Il prend en compte toutes les requêtes demandées un seul processus qui est non-bloquant.

Il conserve les données génériques et spécialement les objets très demandés en RAM il met en cache les requêtes DNS, Le rôle du cache est de stocker les objets

demandés par les utilisateurs pour la première fois via les protocoles HTTP, FTP

le délais d'accès à un objet devient celui de la recherche de cet objet dans le cache + les temps d'accès réseau

Page 33: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Squid Il supporte

le cryptage SSL, une gestion des accès évolués, une journalisation complète des requêtes

Utilisation du protocole ICP (Internet Cache Protocol) les caches de squid peuvent être référencés :

Par hiérarchie, Par sites visités pour minimiser la bande passante

utilisée

Page 34: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Squid Le packetage squid contient:

un programme principal nommé Squid , un support pour les applications externes (DNS,

ftp) des outils de réecriture de requêtes et

d'authentification, et des outils de gestion.

Utiliser iptables pour utiliser SQUID en tant que proxy transparent

Page 35: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Squid : configuration de squid Options réseau

http_port 3128 : c'est le port sur lequel travaille le cache, 3128 par défaut, certains déplacent ce port en 8080

icp_port 3128 : c'est le port sur lequel le cache peut être interrogé par un autre serveur

udp_incoming/outgoing_adresse : permet de définir sur quelle inteface les requêtes seront reçues

cache_peer hostname type http_port icp_port : définition des serveurs de cache voisins avec lesquels on communique

visible_hostname : c'est le nom du serveur squid depuis les resaux externes

Page 36: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Squid : configuration de squid Configuration principale du cache

cache_mgr [email protected] : c'est le nom de l'administrateur du serveur de cache

cache_mem 64 MB : c'est la mémoire que l'on alloue à un serveur Squid

maximum_object_size/maximum_object_size_in_memory: permet de spécifier la taille maximale des objets stockés dans le cache/mémoire

cache_dir ufs /var/cache 3200 16 256 : indique le répertoire devant accueillir les informations, avec en paramètre la le type, taille disque (Mo), le nombre de répertoires niveau et sous niveau pour le cache

Page 37: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy Squid : configuration de squid

Configuration user et logs cache_effective_user/goup nobody nobody :

donne des droits à un utilisateur/un groupe pour squid (éviter root) attention aux droits des fichiers de logs

cache_access_log /var/log/squid/access.log : indique à le fichier log des requêtes appelées

cache_log /var/log/squid/cache.log : fichier journal de squid

cache_store_log none : pour ne pas enregistrer dans un fichier de log les écritures et effacements d'informations (très verbeux)

Page 38: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy Squid : configuration de squid Règles d'accès au service

acl HOST_AUTORISE src 10.1.0.0/255.255.0.0 : on définit les réseaux ou les machines autorisées

http_access allow HOST_AUTORISE : on autorise les accès http aux machines définit dans l'acl HOST_AUTORISE

http_access deny all : on interdit toutes les autres

Règles d'accès à une hiérarchie de cache icp_access allow 192.168.1.10 : on autorise

les accès icp à des machines souhaitées icp_access deny all : on interdit toutes les autres

Page 39: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy Squid : code des requêtes tcp

TCP_HIT : copie valide dans le cache TCP_IMS_HIT : le client demande une mise à jour, et l'objet est dans le

cache et est récent, le proxy ne forward pas la requête. TCP_IMS_MISS : le client demande une mise à jour, puis le proxy

forwarde la requête TCP_MISS : pas dans le cache TCP_CLIENT_REFRESH : le client envoie une requête avec une

demande de ne pas utiliser le cache, le proxy forward la requête TCP_REFRESH_HIT : objet dans le cache, mais périmé, le proxy

demande une nouvelle version est disponible, réponse : pas de nouvelle version

TCP_REFRESH_MISS : objet dans le cache, mais périmé, demande une mise à jour qu'il reçoit

TCP_REF_FAIL_HIT : objet dans le cache, mais périmé, le proxy demande une mise à jour, mais n'obtient pas de réponse du serveur, renvoie l'ancienne version

Page 40: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy

Proxy transparent Les utilisateurs doivent paramétrer l'application pour

utiliser le proxy,et donc peuvent contourner la stratégie mise en place.

2 possibilités pour forcer les clients à sortir par le proxy: utilisez un firewall pour bloquer pour les postes clients avec

un accès direct à Internet pour les ports souhaités (http, https...)

rendre le proxy transparent, ce qui veut dire que les clients soient configurés ou non, les requêtes passeront obligatoirement par le proxy. Rediriger en PREROUTING le port 80 vers le port 3128

du proxy (pour squid) via la NAT (iptables)

Page 41: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy Proxy transparent avec squid

Routeur (iptables) et le proxy (Squid) sur deux machines différentes, et le serveur proxy dans une DMZ Avec un routeur gérant 3 réseaux, deux réseaux locaux

LAN (192.168.216.0) et la DMZ (10.1.0.0), et un accès Internet Soit le serveur proxy avec l'adresse IP 10.1.0.2

La règle iptables s'écrira alors : iptables -t nat -A PREROUTING -s

192.168.216.0/255.255.255.0 -p tcp --dport 80 -j DNAT --to-destination 10.1.0.2:3128

Ne pas oublier de modifier les ACL d'accès dans squid.conf

Page 42: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Proxy et reverse proxy Proxy transparent avec squid

Routeur (iptables) et le proxy (Squid) sur la même machines Avec un routeur gérant son LAN (192.168.216.0) et un

accès Internet, avec le service de proxy embarqué : Soit le serveur proxy avec l'adresse IP 192.168.216.2

La règle iptables s'écrira alors : iptables -t nat -A PREROUTING -s

192.168.216.0/255.255.255.0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Ne pas oublier de vérifierr les ACL d'accès dans squid.conf

Page 43: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Reverse proxy proxy à l'envers

Permettre à des clients externes d'utiliser un service interne achemine des requêtes extérieures vers le serveur du

réseau interne garde les propriétés d'un proxy

Utilise SSL (avec l'accélération hardware) amélioration des performances réseau via les caches

ou/et un load balancing Un serveur web est protégé des attaques directes de

l'extérieur, ce qui renforce la sécurité du réseau interne

Proxy et reverse proxy

Page 44: Tunnels et VPN - formation.jussieu.fr€¦ · Tunnels (STUNNEL) Stunnel Permet l ’utilisation d ’un certain nombre de protocol TCP standard au dessus d’une couche SSL ( http,

Reverse proxy Les caches HTTP, HTTPS réduisent de façon

drastique la charge des serveurs Web, La compression « à la volée » du contenu des

documents retournés avec diminution des temps de réponse,

Multiplexage des sessions HTTP(S) avec possibilité de Keep-Alive "synchrone" ou "asynchrone" vers le Web,

Intégration des cartes d’accélération SSL les plus répandues sur le marché

Proxy et reverse proxy