Introduction aux réseaux privés virtuels

VPN, IPSEC, SSL, etc…

Licence Creative Commons

Plan

  • Introduction
  • Cryptographie (simplifiée) et réseaux privés virtuels
  • ISAKMP
  • IPSEC
  • Démonstration
  • Intégration dans les réseaux d'entreprises
  • VPN sur le poste client
  • Conclusion

Introduction

Faiblesses inhérente aux réseaux IP

  • IP (v4 comme v6) n'a pas été conçu pour être sûr
    • Pas de protection de bout en bout du trafic
    • Pas d'authentification du destinataire ou de l'expéditeur (protocole non-connecté)
  • La sécurité était au départ le problème de la couche 7 (et de la couche 8)

Structure des réseaux d'entreprises

Dans un monde idéal…

Structure des réseaux d'entreprises

Et dans la réalité…

Structure des réseaux d'entreprises

Néanmoins, il faut

  • Assurer la mobilité du personnel
  • Assurer la mise à disposition des applications dans l'ensemble des entités/filiales de l'entreprise (flux applicatif, authentifiation, etc)
  • Assurer la supervision et l'administration du matériel, des applications et des services
  • Assurer la confidentialité des données et des échanges

Les solutions… (1)

  • Externalisation (IaaS, PaaS, SaaS)
    • Limitée par les protocoles disponibles (chiffrement obligatoire)
    • Problématique de bande passante
    • Limitée par les applications disponibles (messagerie, comptabilité, paie, etc)
  • Décloisonnement
    • Même genre de problème que pour l'externalisation
    • Nécessité d'assurer soi-même la sécurité en plus
  • Réseaux délégués (opérateur tiers)
    • Disponibilité géographique et technique limitée
    • Pas de « vraie » sécurité

Les solutions… (2)

  • VPN
    • Permet de sécuriser les communications sur un réseau non-sûrs
    • Nécessite seulement un accès Internet
    • Facile à étendre
    • Peu coûteux
    • À grande échelle, difficile à gérer

VPN

  • IPSEC
    • Chiffrer et/ou authentifier des paquets IP
    • Normé par l'IETF
    • Supporté par énormément d'équipements et de systèmes d'exploitation
  • VPN SSL
    • Construit sur le protocole TLS (comme le HTTPS)
    • Passe-partout

Cryptographie (très) simplifiée (1)

Chiffrement symétrique

  • Clé partagée entre les pairs
  • Chiffrement et déchiffrement se font avec la même clé
  • Taille des messages illimités, mais possibilité (théorique) de déchiffrement par un attaquant
  • Nécessité de renégocier une clé partagée à intervalles réguliers

Cryptographie (très) simplifiée (2)

Exemple : ROT13

m → message en clair ; c → message chiffré
k → clé symétrique

f(m,k) → c
f(c,k) → m
ROT13('MONDE DE MERDE') → 'ZBAQR QR ZREQR'
ROT13('ZBAQR QR ZREQR') → 'MONDE DE MERDE'

Cryptographie (très) simplifiée (3)

Chiffrement asymétrique (ou chiffrement à clé publique)

  • Paire de clés publique/privée
  • Signature par la clé privée (vérification par la clé publique)
  • Chiffrement par la clé publique (déchiffrement par la clé privée)
  • Extrêmement efficace, mais conçu pour des messages de taille déterminée, pas un flux continu

Cryptographie (très) simplifiée (4)

m → message en clair ; s → message signé ; c → message chiffré
Pu → clé publique ; Pr → clé privée

f(m,Pu) → c
f(c,Pr) → m
f(m,Pr) → s
f(s,Pu) → m

Algorithmes de chiffrement utilisés par IPSEC

  • Uniquement des algorithmes à chiffrement symétrique (cipher)
  • DES (Data Encryption Standard) chiffrement 56bits -> vulnérable !
  • 3DES le même que le précédent mais… 3 fois -> vulnérable !
  • AES (Advanced Encryption Standard) chiffrement 128, 192 ou 256bits pour la clé par bloc de 128 bits AES128 n'est plus recommandé !
  • Blowfish/Twofish peu utilisé mais peu attaqué

Fonctions de hachage (1)

  • Empreinte cryptographique comme une sorte de signature numérique
  • Principe basé sur une fonction injective

Fonctions de hachage (2)

  • Souci de collisions (complètes, partielles) inhérents à la nature même des fonctions de hachage
  • MD5 est officiellement obsolète
  • SHA-1 aussi depuis le 2016-01-01
  • Favoriser les hachages avec des condensés > 192bits
  • SHA-256 ou SHA-512

ISAKMP

Établissement d'un tunnel VPN

  • S'assurer de l'identité du correspondant
  • S'assurer des capacités du correspondant
  • Établir les canaux de communication, les maintenir, les supprimer
  • Négocier et re-négocier les clés de chiffrement des canaux de communication

ISAKMP

Internet Security Association and Key Management Protocol

  • « Cadre général » pour l'établissement de l'identité du correspondant, de l'échange et du maintien des clés de chiffrement
  • Indépendant, par construction, du mécanisme d'échange de clés
  • Permet d'établir, de maintenir, de renouveler ou de supprimer les SAs (Security Associations)

Échange de clés Diffie-Hellman

Src: Wikipedia

Internet Key Exchange (IKE)

Main mode

SA

Security Association

  • Source (IP, plage d'adresses, protocole, etc)
  • Destination (IP, plage d'adresses, protocole, etc)
  • Algorithme de chiffrement associé
  • Symétrique entre les pairs
  • Est établie à la fin de la phase 1

IPSEC

Internet Protocol Security

  • Protocoles de niveau 3
  • Authentification et intégrité
  • AH Authentication Header, protocole 51
  • Intégrité et confidentialité
  • ESP Encapsulating Security Payload, protocole 50
  • Deux modes de fonctionnement : transport et tunnel
  • Mode transport : authentifie/sécurise les communications entre deux points d'un même réseau
  • Mode tunnel : authentifie/sécurise les communications entre deux réseaux distants

Authentication Header

Mode transport

Mode tunnel

Encapsulating Security Payload

Mode transport

Mode tunnel

Démonstration

OpenBSD

ipsec.conf

ike [mode] [encap] [tmode] \
[proto protocol] from src [port sport] to dst [port dport] \
[local localip] [peer remote] \
[mode auth algorithm enc algorithm group group] \
[quick auth algorithm enc algorithm group group] \
[psk string]
		

Exemple 1

Exemple 2

Exemple 3

Intégration dans les réseaux d'entreprises

Topologie et routage

  • IPSEC n'est pas un protocole de routage !
  • Mode routé/mode non-routé
  • Topologie en étoile
  • Topologie maillé possible, mais très complexe

Intégration dans les réseaux d'entreprises

  • En général une passerelle VPN redondée
  • Problématique de la redistribution et du routage
  • Pare-feux et tunnels

VPN sur le poste client

Objectifs

  • Favoriser la mobilité et le nomadisme
  • Encourager le télé-travail
  • Simplifier les plans de reprise d'activité

Contraintes

  • Authentification du poste/des utilisateurs
  • Révocation des accès
  • Sécurité du poste client en lui-même
  • IPSEC supporte mal les NAT (malgré IPSEC-NAT-T)
  • IPSEC est souvent filtré

VPN SSL

  • Basé sur un protocole de niveau 7
  • Supporte très bien les NAT…
  • … et les proxies !
  • Utilisable en TCP ou en UDP
  • La plupart du temps utilisé en TCP:443 donc assimilé à du HTTPS

VPN SSL : Gestion des certificats

VPN SSL : transaction SSL

Transaction TLS et magasin de certificats

  • Sur votre OS, votre navigateur… s'appuient sur des autorités de certification racine (Root CA)
  • Microsoft, Google, Mozilla… décident donc en qui vous devez avoir confiance (!)
  • Ces autorités n'ont pas toujours été très fiables par le passé… (DigiCRT, Thawte, VeriSign)
  • Microsoft, Google, Mozilla… peuvent décider de révoquer leur confiance en une autorité (unilatéralement)
  • Vous faites confiance au magasin dans son ensemble (et il est très facile d'y glisser un Rogue CA)

Le problème avec la confiance…

Y'a que deux personnes en qui j'ai confiance : la première, c'est moi, la deuxième, c'est pas toi.

Les Ailes de l'Enfer (Con-Air)

Authentification des certificats X509

  • DANE : DNS-Based Authentication of Named Entities
  • DNS CAA : DNS Certification Authority Authorization

Le problème, c'est que toutes ces techniques sont basées sur le DNS

  • protocole basé sur UDP (non-connecté)
  • protocole non-authentifié (très facile à intercepter/modifier)
  • protocole non-sécurisé (tout passe en clair !)
  • protocole s'appuyant beaucoup sur des relais…

Conclusion

Questions ? Suggestions ? Insultes ?