Le blog de Genma
Vous êtes ici : Accueil » Veille Technologique » Man in the middle par l’Entreprise

Man in the middle par l’Entreprise

D 9 avril 2014     H 09:00     A Genma     C 3 messages   Logo Tipee

TAGS : Proxy Https

Dans cet article, je voudrais reprendre le commentaire qu’à fait Morgan, un des co-animateurs de l’excellent podast le Comptoir Sécu, commentaire qu’il a fait en réponse à un commentaire publié par un des auditeurs. Plutôt que de réécrire ces propos en les paraphrasant, je les recite, tel quel :

Afin de détecter des tentatives d’exfiltration de donnée ou d’accès frauduleux, l’entreprise réalise un man in the middle sur la connexion HTTPS.

En entreprise tu es derrière un proxy pour ton surf, tu ne te connectes pas directement à youtube.com, tu te connectes à ton proxy d’entreprise qui lui se connecte à youtube.com et youtube.com répond au proxy qui redirige la réponse vers toi. Ça permet de faire plein de choses comme regarder ou tu surfes, vérifier que le contenu de la page n’est pas vérolé, vérifier que tu ne tentes pas d’envoyer des documents sensibles via une interface web, etc.

Le problème c’est qu’en HTTPS, disons sur gmail.com, ça ne marche pas, car il y a un chiffrement d’effectué entre toi et youtube.com. Donc pour pouvoir faire la même chose qu’en HTTP, il faut, faire deux chiffrements. Un chiffrement entre gmail.com et le proxy, et un chiffrement entre le proxy et toi (oui il n’a pas la clé pour le certificat de gmail.com ton proxy il ne peut pas simplement regarder et re-chiffrer derrière, encore heureux).

Le seul problème avec ça, c’est que du coup le chiffrement entre le proxy et toi n’est pas fait avec le certificat gmail.com, et du coup de base tu n’as plus le cadenas vert à gauche de l’URL dans le navigateur, voir tu as un bon gros message d’erreur qui fait peur. Ce que font les entreprises c’est qu’elles publient sur ton poste de travail un certificat créé spécifiquement pour l’entreprise, le définit comme « certificat de confiance », et là, comme par magie, le cadenas redevient vert dans le navigateur.

La seule façon de voir qu’il y a une interception est d’inspecter scrupuleusement le certificat du site web consulté, et de regarder sa chaine de confiance pour voir si c’est bien le certificat officiel.

Tu peux aussi plus simplement utiliser des addons comme Certificate Patrol ou Convergence. Le premier te prévient quand un certificat change, le second regarde si les gens ailleurs sur le globe ont bien le même certificat que toi en consultant le site.

A lire sur ce sujet et en complément Votre patron espionne-t-il vos communications cryptées ? Faites le test ! et Des mots de passe que l’on utilise au quotidien où j’indiquais que le proxy connaissait les mots de passe que j’utilise...

3 Messages

  • Merci pour l’article, c’est une problématique à laquelle je pense souvent mais je n’ai jamais poussé la paranoïa jusqu’à essayer de m’en prémunir sur mon poste de travail. (J’utilise déjà des moyens assez efficaces via un tunnel SSH)

    Si je ne dis pas de bêtise, il faut bien penser que ça, ça ne marche que sur les grosses plateformes. L’admin un peu trop indiscret ne pouvant pas générer des certificats à l’avance à l’infini pour tous les sites du monde entier en SSL. Il va donc devoir cibler d’abord quel site il veut surveiller. Donc probablement les FB/Google ou autre si le cœur lui en dit et qu’il veut surveiller une personne en particulier (sait-on jamais...)

    Merci pour l’extension CP, je vais me pencher là-dessus :)
    (Après si on est parano, on peut aussi remettre en question les réponses de CP, pouvant elles aussi être victimes d’un MITM pour cacher la fraude...)

    Je pense que la meilleure manière de se protéger c’est d’embarquer soit même un navigateur portable avec ses propres certificats en local.


  • Pour répondre au premier commentaire et ne pas laisser de fausses informations traîner sur le net, il est très facile de générer des certificats à la volée, ça se fait en une ligne de commande, il suffit que le poste client aie un certificat provenant de l’autorité de certification (CA) de son entreprise afin de lui faire confiance et le proxy génère tout seul les certificats à la volée en temps réel, l’utilisateur ne se rend compte de rien.

    Aussi c’est valable pour les petites et les grosses plateformes, un sysadmin déterminé et compétent n’aura besoin que de peu de temps pour mettre en place ceci.

    Il faut bien comprendre que nous n’avons pas les certificats de tous les sites du monde sur notre machine mais que nous ne possédons que les certificats des autorités de certification qui elles ont signé les certificats des sites web. Ainsi nous faisons confiance aux CA présentes dans nos systèmes d’exploitation et navigateurs pour assurer la communication avec les sites que l’on visite.

    Pour ma part j’ai déjà viré une ou deux CA pré-installées car je ne leur fais pas confiance et j’ai ajouté la CA de CAcert qui est une autorité de certification communautaire avec une politique très stricte de validation des certificats des sites web.


  • Les entreprises qui jouent à ce genre de jeux...je leur conseille d’avoir un solide service juridique...Exemple : un employé consulte sa banque en ligne, il se fait pirater...et on découvre que la boîte substitue les certificats...je vous laisse deviner la suite.