Você está na página 1de 27

Proxy et reverse proxy

Proxy et reverse proxy


Serveurs mandatares et reas nverses
Proxy et reverse proxy
Proxy et reverse proxy

Ou'est-ce qu'un proxy ?


Ou'est-ce qu'un proxy ?

Proxy = mandatare (traducton)


Proxy = mandatare (traducton)

Un proxy est un servce mandatare pour


Un proxy est un servce mandatare pour
une appcaton donne.
une appcaton donne.

C'est dre qu' sert d'ntermdare dans une C'est dre qu' sert d'ntermdare dans une
connexon entre e cent et e serveur pour connexon entre e cent et e serveur pour
reayer a requte qu est fate. reayer a requte qu est fate.

Ans, e cent s'adresse tou|ours au proxy, et Ans, e cent s'adresse tou|ours au proxy, et
c'est u qu s'adresse ensute au serveur. c'est u qu s'adresse ensute au serveur.

Permet de casser comptement a connectvt Permet de casser comptement a connectvt


drecte nternet des machnes nternes => drecte nternet des machnes nternes =>
possbt de fermer tous es ports entre es possbt de fermer tous es ports entre es
machnes nternes et nternet machnes nternes et nternet

Ne peuvent tre uts que es appcatons Ne peuvent tre uts que es appcatons
supportes par un reas appcatf supportes par un reas appcatf

Exempes : Exempes :

tenet ftp vers une machne reas pus vers nternet tenet ftp vers une machne reas pus vers nternet

cache Web (squd) cache Web (squd)

serveur reas de messagere serveur reas de messagere

exstence de reas transparents pour certanes exstence de reas transparents pour certanes
appcatons appcatons

socks socks
Proxy et reverse proxy
Proxy et reverse proxy
Proxy et reverse proxy
Proxy et reverse proxy

Fonctonnement
Fonctonnement

Pour une appcaton donne, http, ftp,


Pour une appcaton donne, http, ftp,
smtp, etc, peut donc modfer es
smtp, etc, peut donc modfer es
nformatons envoyer au serveur, ans
nformatons envoyer au serveur, ans
que cees renvoyes par ceu-c.
que cees renvoyes par ceu-c.

La contreparte est qu' faut un proxy par


La contreparte est qu' faut un proxy par
appcaton.
appcaton.

Cependant, beaucoup de proxy sont en fat


Cependant, beaucoup de proxy sont en fat
des mut-proxy qu sont capabes de
des mut-proxy qu sont capabes de
comprendre a pupart des appcatons
comprendre a pupart des appcatons
courantes
courantes
Internet
Serveur
messagerie
R
O
U
T
E
U
R

Proxy
WWW
Proxy
telnet/ftp
Serveur
WWW
R
O
U
T
E
U
R
\
Station \
Serveur
messagerie
Serveur
WWW
. . . \^0 ^V t
. . . \^0 ^V \
. . . \^0 ^V L
. . . \^0 ^V 0
Rseau adresse
officielle . . / \^0 ^V L
Rseaux adresse
prive / \ I
. . . \ \
Station
. . . \ \ t
. . . \ \ L
Station t
Serveur
telnet
Proxy et reverse proxy
Proxy et reverse proxy
Proxy et reverse proxy
Proxy et reverse proxy

Fonctonnats des serveurs


Fonctonnats des serveurs

Fonctons de cache
Fonctons de cache

Foncton de d'enregstrement
Foncton de d'enregstrement

Foncton de ftre
Foncton de ftre

Foncton de scurt
Foncton de scurt

Autres fonctons
Autres fonctons
Proxy et reverse proxy
Proxy et reverse proxy

Foncton de cache
Foncton de cache

Le cent conserve en mmore toutes es


Le cent conserve en mmore toutes es
requtes effectues par e cent
requtes effectues par e cent

Permet de conserver ocaement es


Permet de conserver ocaement es
nformatons afn d'tre rutses
nformatons afn d'tre rutses
utreurement
utreurement

Consquence
Consquence

e cache accre es consutatons des e cache accre es consutatons des


nformatons d| demande, nformatons d| demande,

e trafc rseau en est dmnu e trafc rseau en est dmnu

Rdut es maveances Rdut es maveances


Proxy et reverse proxy
Proxy et reverse proxy

Foncton d'enregstrement
Foncton d'enregstrement

Le serveur garde une trace dtae de


Le serveur garde une trace dtae de
toutes es nformatons qu e traversent
toutes es nformatons qu e traversent

Gnre un fcher |ourna (fcher de og).


Gnre un fcher |ourna (fcher de og).

enregstre a trace des requtes effectues par enregstre a trace des requtes effectues par
tous es cents utsant e proxy. tous es cents utsant e proxy.

Ldentfcaton du cent, Ldentfcaton du cent,

es dates et heures de connexon, es dates et heures de connexon,

Les URL des ressources consuts, Les URL des ressources consuts,

es tae et temps de tchargement, etc. es tae et temps de tchargement, etc.


Proxy et reverse proxy
Proxy et reverse proxy

Foncton de ftre
Foncton de ftre

Mse en pace de ftre au nveau des


Mse en pace de ftre au nveau des
requtes
requtes

Anayse des paquets qu' reot et agt ans en Anayse des paquets qu' reot et agt ans en
foncton de a potque de scurt chose foncton de a potque de scurt chose

Foncton de scurt
Foncton de scurt

Serveur permettant de protger es postes


Serveur permettant de protger es postes
cents d'agressons extreures
cents d'agressons extreures

Protge des attaques va des accs drects Protge des attaques va des accs drects

Attenton ce n'est pas un frewa ! Attenton ce n'est pas un frewa !


Proxy et reverse proxy
Proxy et reverse proxy

Autres fonctons
Autres fonctons

Foncton d'anonymat
Foncton d'anonymat

Les requtes reayes par un serveur peuvent Les requtes reayes par un serveur peuvent
ne pas contennr d'adresse du cent, de ne pas contennr d'adresse du cent, de
manre protger eur anonymat manre protger eur anonymat

Foncton de traducton d'adresse (NAT)


Foncton de traducton d'adresse (NAT)

Permet des rseaux prvs de sortr vers Permet des rseaux prvs de sortr vers
'Internet 'Internet
Proxy et reverse proxy
Proxy et reverse proxy

Avantages du proxy
Avantages du proxy

I est capabe d'nterprter e trafc et


I est capabe d'nterprter e trafc et
notamment de cacher es nformatons. On
notamment de cacher es nformatons. On
dmnue ans e trafc et augmente a
dmnue ans e trafc et augmente a
bande passante de a mme occason.
bande passante de a mme occason.

On peut auss autorser ou non 'accs


On peut auss autorser ou non 'accs
certanes parte d'un ste, certanes
certanes parte d'un ste, certanes
fonctonnats, etc.
fonctonnats, etc.

On a donc un bon contre de ce qu


On a donc un bon contre de ce qu
transte sur e rseau, et on sat ques
transte sur e rseau, et on sat ques
protocoes peuvent crcuer.
protocoes peuvent crcuer.
Proxy et reverse proxy
Proxy et reverse proxy

Proxy transparent
Proxy transparent

Le prncpe :
Le prncpe :

Le rseau est confgur avec une passeree par dfaut Le rseau est confgur avec une passeree par dfaut
et un serveur DNS. et un serveur DNS.

Chaque requte est automatquement , et de manre Chaque requte est automatquement , et de manre
nvsbe renvoye vers e proxy par e routeur/frewa. nvsbe renvoye vers e proxy par e routeur/frewa.

Le serveur proxy reaye a requete sur e serveur Le serveur proxy reaye a requete sur e serveur
Internet et stocke 'nformaton dans son cache. Internet et stocke 'nformaton dans son cache.

Le cent crot ans daoguer avec e serveur nternet , Le cent crot ans daoguer avec e serveur nternet ,
mas en rat, ee ne daogue qu'avec e serveur mas en rat, ee ne daogue qu'avec e serveur
proxy. proxy.
Proxy et reverse proxy
Proxy et reverse proxy

Proxy transparent
Proxy transparent

Fonctons :
Fonctons :

Mettre en cache es pages es pus vstes, afn Mettre en cache es pages es pus vstes, afn
d'vter de recharger une page qu a d| t vste d'vter de recharger une page qu a d| t vste

Forcer es utsateurs du rseau utser un proxy, Forcer es utsateurs du rseau utser un proxy,
qu's e veuent ou non. qu's e veuent ou non.

Fare utser un proxy toutes es machnes d'un Fare utser un proxy toutes es machnes d'un
rseau sans avor confgurer chaque appcaton. rseau sans avor confgurer chaque appcaton.

Boquer des appcatons nternet (comme es Boquer des appcatons nternet (comme es
uttares de chat, ou de peer2peer) uttares de chat, ou de peer2peer)

scurser un rseau qu accde nternet en mtant scurser un rseau qu accde nternet en mtant
'accs certanes pages. 'accs certanes pages.
Proxy et reverse proxy
Proxy et reverse proxy

Proxy socks
Proxy socks

Socks est un protocoe proxy gnrque


Socks est un protocoe proxy gnrque
pour TCP/IP
pour TCP/IP

Standard IETF, RFC 1928


Standard IETF, RFC 1928

Fonctonne en mode cent-serveur


Fonctonne en mode cent-serveur

Agt au nveau des couches transport et Agt au nveau des couches transport et
appcaton appcaton
Proxy et reverse proxy
Proxy et reverse proxy

Proxy socks
Proxy socks

Accs rseau transparent au travers de


Accs rseau transparent au travers de
mutpes serveurs proxy
mutpes serveurs proxy

Pour chaque cana de communcaton TCP


Pour chaque cana de communcaton TCP
ou UDP que e protocoe SOCKS tabt,
ou UDP que e protocoe SOCKS tabt,

Transfert es nformatons utsateurs du cent Transfert es nformatons utsateurs du cent


SOCKS au serveur SOCKS pour 'authentfcaton SOCKS au serveur SOCKS pour 'authentfcaton
des utsateurs des utsateurs

Authentfe 'utsateur et e cana Authentfe 'utsateur et e cana

Garantt 'ntgrt des canaux TCP et UDP Garantt 'ntgrt des canaux TCP et UDP
Proxy et reverse proxy
Proxy et reverse proxy

Proxy socks
Proxy socks

Serveur socks nux (socks.conf) sur e port Serveur socks nux (socks.conf) sur e port
1080/Tcp 1080/Tcp

Permet 'mpmentaton de proxy dans des Permet 'mpmentaton de proxy dans des
appcatons (programme |ava etc..) appcatons (programme |ava etc..)

'avantage de ce cette mthode c'est que 'on n'a 'avantage de ce cette mthode c'est que 'on n'a
pas beson de connatre e protocoe de pas beson de connatre e protocoe de
communcaton des deux machnes donc pas communcaton des deux machnes donc pas
d'nterventon sur es paquets qu's se d'nterventon sur es paquets qu's se
transmettent (gan de temps) transmettent (gan de temps)

Inconvnent ncesste son mpmentaton dans Inconvnent ncesste son mpmentaton dans
es appcatons (cents) es appcatons (cents)
Proxy et reverse proxy
Proxy et reverse proxy

Squd
Squd

C'est un serveur proxy cache haute performance, C'est un serveur proxy cache haute performance,
qu supporte es protocoes HTTP, FTP qu supporte es protocoes HTTP, FTP

I prend en compte toutes es requtes demandes I prend en compte toutes es requtes demandes
un seu processus qu est non-boquant. un seu processus qu est non-boquant.

I conserve es donnes gnrques et I conserve es donnes gnrques et


spcaement es ob|ets trs demands en RAM spcaement es ob|ets trs demands en RAM

met en cache es requtes DNS, met en cache es requtes DNS,

et mpmente e cache ngatf ors es requtes et mpmente e cache ngatf ors es requtes
demandes ont chou. demandes ont chou.
Proxy et reverse proxy
Proxy et reverse proxy

Squd
Squd

I support I support

e cryptage SSL, e cryptage SSL,

une geston des accs voue, une geston des accs voue,

une |ournasaton compte des requtes une |ournasaton compte des requtes

Utsaton du protocoe ICP (Internet Cache Utsaton du protocoe ICP (Internet Cache
Protoco) Protoco)

es caches de squd peuvent tre rfrencs : es caches de squd peuvent tre rfrencs :

Par herarche, Par herarche,

Par stes vsts pour mnmser a bande passante Par stes vsts pour mnmser a bande passante
utse utse
Proxy et reverse proxy
Proxy et reverse proxy

Squd
Squd

Le packetage squd content:


Le packetage squd content:

un programme prncpa nomm Squd , un programme prncpa nomm Squd ,

un systme de DNS, un systme de DNS,

des outs de recrture de requtes et des outs de recrture de requtes et


d'authentfcaton, d'authentfcaton,

et des outs de geston. et des outs de geston.

Utser Iptabes pour utser SOUID en tant


Utser Iptabes pour utser SOUID en tant
que proxy transparent
que proxy transparent
Proxy et reverse proxy
Proxy et reverse proxy

Squd
Squd

Confguraton de squd
Confguraton de squd

http_port 3128 : http_port 3128 : c'est le port sur lequel travaille le cache, c'est le port sur lequel travaille le cache,
3128 par dfaut, certains dplacent ce port en 8080 3128 par dfaut, certains dplacent ce port en 8080

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

cache_mgr admin@formation.jussieu.fr : cache_mgr admin@formation.jussieu.fr : c'est le c'est le


nom de l'administrateur du serveur de cache nom de l'administrateur du serveur de cache

cache_effective_user nobody nobody : donne des cache_effective_user nobody nobody : donne des
droits droits un utilisateur et un groupe pour squid (viter root) un utilisateur et un groupe pour squid (viter root)

visible_hostname cache.formation.jussieu.fr : visible_hostname cache.formation.jussieu.fr :


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

cache_mem ! "# : cache_mem ! "# : c'est la mmoire que l'on alloue un c'est la mmoire que l'on alloue un
serveur Squid serveur Squid
Proxy et reverse proxy
Proxy et reverse proxy

Squd
Squd

Confguraton de squd:
Confguraton de squd:

cache_dir $var$cache 32%% 1 2& : cache_dir $var$cache 32%% 1 2& : indique le indique le
rpertoire devant accueillir les informations, avec en paramtre la rpertoire devant accueillir les informations, avec en paramtre la
taille disque, le nombre de rpertoires niveau et sous niveau pour taille disque, le nombre de rpertoires niveau et sous niveau pour
le cache le cache

cache_access_log $var$log$s'uid$access.log : cache_access_log $var$log$s'uid$access.log :


indique le fichier log des requtes appeles indique le fichier log des requtes appeles

cache_log $var$log$s'uid$cache.log : fichier cache_log $var$log$s'uid$cache.log : fichier


journal de s'uid journal de s'uid

cache_store_log none : cache_store_log none : pour ne pas enregistrer dans un pour ne pas enregistrer dans un
fichier de log les critures et effacements d'informations (trs fichier de log les critures et effacements d'informations (trs
verbeux) verbeux)
Proxy et reverse proxy
Proxy et reverse proxy

Squd
Squd

Confguraton de squd:
Confguraton de squd:

Rges d'accs au servce Rges d'accs au servce

acl ()*+_,-+)./*0 src 1%.1.%.%$2&&.2&&.%.% : acl ()*+_,-+)./*0 src 1%.1.%.%$2&&.2&&.%.% :


on dfinit les rseaux ou les machines autorises on dfinit les rseaux ou les machines autorises

http_access allo1 23/04+* : http_access allo1 23/04+* : on autorise les accs on autorise les accs
http aux machines dfinit dans l'acl HOST_AUTORISE http aux machines dfinit dans l'acl HOST_AUTORISE

http_access deny all : http_access deny all : on interdit toutes les autres on interdit toutes les autres

Mse en pace d'une hrarche de cache Mse en pace d'une hrarche de cache

icp_access allo1 152.18.1.1% : icp_access allo1 152.18.1.1% : on autorise les on autorise les
accs icp aux machines dfinit dans l'acl HOST_AUTORISE accs icp aux machines dfinit dans l'acl HOST_AUTORISE

icp_access deny all : icp_access deny all : on interdit toutes les autres on interdit toutes les autres
Proxy et reverse proxy
Proxy et reverse proxy

Proxy transparent avec squd


Proxy transparent avec squd

Squd et ptabes sur a mme machne


Squd et ptabes sur a mme machne

Ee est mons scurse car e serveur


Ee est mons scurse car e serveur
proxy est accessbe drectement va e
proxy est accessbe drectement va e
port TCP 3128
port TCP 3128

pour actver e proxy transparent sufft


pour actver e proxy transparent sufft
de taper a gne suvante :
de taper a gne suvante :

ptabes -t nat -A PREROUTING - eth0 -p tcp ptabes -t nat -A PREROUTING - eth0 -p tcp
-s 192.168.1.0/24 --dport 80 -| REDIRECT --to- -s 192.168.1.0/24 --dport 80 -| REDIRECT --to-
port 3128 port 3128
Proxy et reverse proxy
Proxy et reverse proxy

Proxy transparent avec squd


Proxy transparent avec squd

Iptables et Squid sur deux machines diffrentes :


Iptables et Squid sur deux machines diffrentes :

Les paquets ne provenant pas du proxy mais tant a Les paquets ne provenant pas du proxy mais tant a
destination du port 80 seront redirigs vers le proxy ; que destination du port 80 seront redirigs vers le proxy ; que
les paquets revenant depuis le proxy, passeront par le les paquets revenant depuis le proxy, passeront par le
routeur ; et que nous autorisons les paquets provenant du routeur ; et que nous autorisons les paquets provenant du
rseau local tre redirigs vers le proxy rseau local tre redirigs vers le proxy

iptables -t nat -A PREROUTING -i eth0 -s ! 10.1.0.1 -p tcp --dport iptables -t nat -A PREROUTING -i eth0 -s ! 10.1.0.1 -p tcp --dport
80 -j DNAT --to 172.20.0.1:3128 80 -j DNAT --to 172.20.0.1:3128

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -d iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -d
10.1.0.1 -j SNAT --to 172.20.0.4 10.1.0.1 -j SNAT --to 172.20.0.4

iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.0.1 -i eth0 -o iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.0.1 -i eth0 -o
eth1 -p tcp --dport 3128 -j ACCEPT eth1 -p tcp --dport 3128 -j ACCEPT
Proxy et reverse proxy
Proxy et reverse proxy

Proxy transparent avec squd


Proxy transparent avec squd

Iptables et Squid sur deux machines diffrentes :


Iptables et Squid sur deux machines diffrentes :

Modification du fichier squid.conf Modification du fichier squid.conf

acl machines_locales src 10.1.0.0/16 acl machines_locales src 10.1.0.0/16

http_access allow machines_locales http_access allow machines_locales

http_access deny machines_locales http_access deny machines_locales

Et Et

acl machines_locales src 192.168.1.0/24 acl machines_locales src 192.168.1.0/24

http_access allow machines_locales http_access allow machines_locales

http_access deny !machines_locales http_access deny !machines_locales

Reverse proxy
Reverse proxy

proxy 'envers
proxy 'envers

Permettre des cents externes d'utser un Permettre des cents externes d'utser un
servce nterne servce nterne

achemne des requtes extreures vers e serveur achemne des requtes extreures vers e serveur
du rseau nterne du rseau nterne

garde es proprts d'un proxy garde es proprts d'un proxy

Utse SSL (avec 'accraton hardware) Utse SSL (avec 'accraton hardware)

amoraton des performances rseau va es caches amoraton des performances rseau va es caches
ou/et un oad baancng ou/et un oad baancng
Proxy et reverse proxy
Proxy et reverse proxy

Reverse proxy
Reverse proxy

proxy 'envers
proxy 'envers

Un reas nverse n'est ute que s' apporte des Un reas nverse n'est ute que s' apporte des
fonctonnats fonctonnats

d'authentfcaton par mots de passe ou forte par d'authentfcaton par mots de passe ou forte par
certfcats, certfcats,

de chffrement, de chffrement,

de ftrage appcatf de ftrage appcatf

Pour protger des scrpts vunrabes, faut que Pour protger des scrpts vunrabes, faut que
e reas nverse sot capabe de ftrer es e reas nverse sot capabe de ftrer es
donnes envoyes par 'utsateur dans URL donnes envoyes par 'utsateur dans URL
Proxy et reverse proxy
Proxy et reverse proxy

Você também pode gostar