Auteur Sujet: Avoir un serveur cache pour le web chez soi  (Lu 7183 fois)

0 Membres et 1 Invité sur ce sujet

manoaratefy

  • Abonné FAI autre
  • *
  • Messages: 38
  • Antsirabe Madagascar
    • Hostibox
Avoir un serveur cache pour le web chez soi
« le: 30 mai 2016 à 16:24:44 »
Bonjour,

Voilà, j'ai un petit soucis. J'ai besoin d'alléger le trafic sortant sur mon réseau. Car en effet, près de 80% sont des fichiers statiques qui sont stockés sur mon VPS. Voilà donc, je cherche à faire comme un CDN. Sauf qu'ici, je ne veux pas changer de protocole.

Pour contrôler la cache, je voudrais comme par exemple les 50 Go de fichiers statiques les plus sollicités sont stockés 7 jours dans mon serveur.

J'ai pensé à NGINX qui me semble parfait pour faire un Reverse Proxy, mais l'installer chez moi et en faire pour les principaux sites que j'utilise, je ne l'ai encore jamais fait.

Quelqu'un a-t-il une idée ou une proposition ?

Merci d'avance pour vos coups de pouces.

vivien

  • Administrateur
  • *
  • Messages: 47 079
    • Twitter LaFibre.info
Avoir un serveur cache pour le web chez soi
« Réponse #1 le: 30 mai 2016 à 17:09:20 »
C'est bien du trafic http ? (il faut oublier un proxy sur du trafic https)

manoaratefy

  • Abonné FAI autre
  • *
  • Messages: 38
  • Antsirabe Madagascar
    • Hostibox
Avoir un serveur cache pour le web chez soi
« Réponse #2 le: 31 mai 2016 à 17:41:24 »
Oui, du http. Et je sais bien que c'est impossible en HTTPS.

Gabi

  • Abonné SFR THD (câble)
  • *
  • Messages: 94
Avoir un serveur cache pour le web chez soi
« Réponse #3 le: 01 juin 2016 à 14:15:01 »
J'ai besoin d'alléger le trafic sortant sur mon réseau. Car en effet, près de 80% sont des fichiers statiques qui sont stockés sur mon VPS.

Le serveur en question renvoie-t-il les bonnes entêtes HTTP pour une utilisation efficace du cache ? (Cache, Expires, ETag)
Il faut commencer par là, le cache des navigateurs est quand même très efficace.

Citer
C'est bien du trafic http ? (il faut oublier un proxy sur du trafic https)

Je dirais oui et non :)
Rajouter un proxy qui fait du cache sur du HTTPS implique de faire un vilain MITM, mais ça se fait : il suffit d'ajouter le certificat utilisé par le proxy pour re-signer les requêtes dans le "Trust store" de chaque machine.
Je déconseille de le faire, mais c'est quand même possible (Squid + SSLBump fait ça par exemple).

manoaratefy

  • Abonné FAI autre
  • *
  • Messages: 38
  • Antsirabe Madagascar
    • Hostibox
Avoir un serveur cache pour le web chez soi
« Réponse #4 le: 01 juin 2016 à 17:21:52 »
Bonjour,

Je pense que je pourrai apporter les modifications nécessaires sur le serveur vu que c'est moi qui a développé l'application.

manoaratefy

  • Abonné FAI autre
  • *
  • Messages: 38
  • Antsirabe Madagascar
    • Hostibox
Avoir un serveur cache pour le web chez soi
« Réponse #5 le: 19 avril 2017 à 09:46:33 »
Bonjour!

Après presque un an, je viens de me remettre sur le projet et j'ai réussi pour le HTTP avec NGINX. Cependant, le projet a quelque peu changé car maintenant je suis aussi intéressé à mettre en cache des sites web que je n'ai pas de contrôle. Néanmoins, en HTTP, ça marche toujours. Mais vous m'avez fait comprendre qu'on peut aussi le faire sur HTTPS et je suis curieux de savoir comment faire.

vivien

  • Administrateur
  • *
  • Messages: 47 079
    • Twitter LaFibre.info
Avoir un serveur cache pour le web chez soi
« Réponse #6 le: 19 avril 2017 à 10:01:00 »
Il faut que le proxy casse le chiffrement.

Cela nécessite de maîtriser les clients, en y installant la clé du cache.

De nombreux anti-virus font ça pour analyser le trafic https mais cela entraîne des risques très importants si le proxy est corrompu ou si il ne vérifie pas lui même correctement les certificats, pour éviter un man in the middle en amont de ton réseau.

Bref, je déconseille.

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 644
  • WOOHOO !
    • OrneTHD
Avoir un serveur cache pour le web chez soi
« Réponse #7 le: 19 avril 2017 à 10:03:38 »
Mais vous m'avez fait comprendre qu'on peut aussi le faire sur HTTPS et je suis curieux de savoir comment faire.

Tu peux tout à fait faire du proxying HTTPS, à la seule condition que tu maitrises entièrement les équipements de ton parc.

En effet, tu vas devoir resigner avec ton propre certificat les sites consultés, il faudra donc pousser ton propre certifs sur les machines clientes (pour qu'elles ne bronchent pas parce qu'elles ne connaissent pas le certif sinon). Cela se fait pas mal en entreprise (tu maitrises ton réseau, du proxy aux clients, donc c'est nickel) et les employés n'y voient que du feu ;)

manoaratefy

  • Abonné FAI autre
  • *
  • Messages: 38
  • Antsirabe Madagascar
    • Hostibox
Avoir un serveur cache pour le web chez soi
« Réponse #8 le: 19 avril 2017 à 10:28:41 »
Oui, je maîtrise la totalité des hôtes. D'ailleurs, une grande partie des hôtes sont connectés à l'Active Directory que j'ai mis en place.

Donc, me faut-il un certificat SSL auto-signé à chaque nouveau site que je veux mettre en cache ?

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 644
  • WOOHOO !
    • OrneTHD
Avoir un serveur cache pour le web chez soi
« Réponse #9 le: 19 avril 2017 à 13:12:07 »
Oui, je maîtrise la totalité des hôtes. D'ailleurs, une grande partie des hôtes sont connectés à l'Active Directory que j'ai mis en place.

Donc, me faut-il un certificat SSL auto-signé à chaque nouveau site que je veux mettre en cache ?
Oky super, ce sera simple de déployer alors.

Au sujet des certifs, ça dépend si tu veux te faire chier ou non :)

Le plus simple, c'est de configurer tes navigateurs (Internet Explorer en active directory) pour qu'ils ne bronchent pas si le certif n'est pas bon.

Le plus propre, c'est de créer ton propre certificat "racine", de le pousser sur les postes clients, et de configurer ton proxy pour refaire un cert par site avec le cert racine que tu viens de créer. Comme ça, tous les sites auront un beau cadenas vert :)

Gabi

  • Abonné SFR THD (câble)
  • *
  • Messages: 94
Avoir un serveur cache pour le web chez soi
« Réponse #10 le: 19 avril 2017 à 14:50:13 »
Le plus simple, c'est de configurer tes navigateurs (Internet Explorer en active directory) pour qu'ils ne bronchent pas si le certif n'est pas bon.

Par pitié, ne jamais proposer de telles solutions, même si elles existent !

Pour en revenir au sujet, faut bien se rappeler HTTPS est un élèment fondamental de la sécurité du Web, et il faut peut-être en mesurer les conséquences avant de tout casser sur son propre réseau. Lorsqu'un proxy intercepte et déchiffre un flux HTTPS (et le modifie potentiellement), l'intégrité et le chaîne de confiance avec l'hôte originel sont rompues.
Par ailleurs, il y a de très, très fortes chances que ton proxy affaiblisse la sécurité, soit en ne validant pas correctement les certificats (coucou les antivirus), soit en ne supportant que des versions anciennes des protocoles (cf : https://jhalderm.com/pub/papers/interception-ndss17.pdf)
C'est pour ça qu'ajourd'hui, on ne recommande pas d'intercepter les flux HTTPS, explications du CERT/CC (https://www.us-cert.gov/ncas/alerts/TA17-075A), et même de l'ANSSI (https://www.ssi.gouv.fr/administration/guide/recommandations-de-securite-concernant-lanalyse-des-flux-https/), qui recommande de bien mesurer les risques introduits par de telles pratiques.

Bref, je ne sais pas quel est exactement le contexte ici, mais avant de me lancer dans la décryption du HTTPS, je commencerais par mesurer le trafic sortant HTTP et HTTPS, puis mettre en place un bon vieux proxy+cache HTTP, sans déchiffrement du HTTPS, et observer les gains.

C'est certain que tous les grands du Web (Facebook, Google, ...) sont en HTTPS et ont "de grosses apps", avec beaucoup d'assets statiques, mais ils gèrent aussi très bien les règles de cache au niveau des clients. Et le contenu "par utilisateur" ne bénéficierait pas d'un hypothétique proxy-cache HTTPS.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
Avoir un serveur cache pour le web chez soi
« Réponse #11 le: 19 avril 2017 à 15:09:58 »
Rappel : manoaratefy est à Madagascar, un pays ou la bande passante est chère et ou les accès sont lents