Archive pour le mot-clef ‘VPN’

VPNs & Sécurité réseau

Dimanche 14 décembre 2008

Définition d’un VPN

Un VPN (Virtual Private Network) est un réseau de données qui utilise l’infrastructure publique tout en maintenant le caractère privé des données. Pour cela, il fait appel à des procédures de sécurité ainsi que des protocoles permettant d’établir des tunnels.

Internet et ses risques

L’ensemble des risques auxquels vous pouvez être exposés lors d’une connexion Internet se classifie comme suit :

  • L’interception d’identité
  • La mascarade ou l’usurpation d’identité (Prétendre être quelqu’un d’autre)
  • Le rejeu (Reproduire une procédure de Login)
  • L’interception de données ou de trafic
  • La manipulation (Modifier ou supprimer des informations d’une transmission)
  • La répudiation (La victime ne peut plus émettre ou recevoir)
  • Le dénis de service
  • Le routage (Manipulation des tables de routage / corruption DNS)

Les 4 fonctions critiques d’un VPN

L’authentification

Pas d’interception d’identité

Garantit l’identité de la source des paquets

La confidentialité

Empêche quiconque de lire ou copier les données

Le contrôle d’accès

Seuls les utilisateurs autorisés peuvent accéder au réseau

L’intégrité

Impossibilité de modifier les données en transit

Mécanismes d’authentification

Il en existe deux types :

  • L’authentification logicielle (système à mot de passe ou challenge)
    ex : CHAP, PAP, Radius
  • L’authentification matérielle (par jeton ou par certificat)
    ex : EAP, certificats X.509

PAP - Password Authentification Protocol est un protocole peu sûre du fait que le client émet son mot de passe en clair au NAS. Seul le NAS encrypte le password (Crypatge symétrique : DES 40 bits) avant de le transmettre au serveur Radius.

CHAP - Challenge Handshake Authentification Protocol plus sécurisé que CHAP dans le sens qu’aucun mot de passe ne transit en clair sur le réseau.  Le serveur Radius transmet un challenge au client via le NAS : à partir d’un numéro d’identifiant, d’un nombre aléatoire tiré par le serveur, le client est-il capable de donner le condensé (Hash MD5 128 bits) = numéro d’identifiant + nombre aléatoire + password.

EAP - Extensible Authentification Protocol est une extension du  Protocole Point-to-Point (PPP) se chargeant de l’authentification et supportant plusieurs mécanismes d’authentification. EAP supporte notamment les challenges MD5 (CHAP), les mots de passe à usage unique, les cartes à jeton générique, …

ITU-T X.509 standard - Il s’agit du standard définissant le format des certificats. Ils sont généralement délivrés par une tierce partie : l’Autorité de Certification (CA) qui garantit l’origine des clés publiques. Un certificat contient entre autre :

  • Un numéro de version
  • Un numéro de série
  • Un propriétaire
  • Une clé publique
  • Le nom de l’algorithme utilisé
  • Les dates de validité
  • La signature de la CA
  • Des options (liste de révocations, …)

Les tunnels

Ils permettent l’authentification des correspondants, le contrôle d’accès et la confidentialité des échanges. Plusieurs protocoles cohabitent : GRE, PPTP, L2F, L2TP, MPLS VPNs, …

GRE (IETF, 1994) - Generic Routing Encapsulation est un protocole de niveau 3 (cf. modèle OSI) qui permet d’établir des tunnels IP sur de l’IP. Son usage est destiné aux communications entre 2 routeurs (noeuds). L’encryptage et l’authentification ne sont pas très évolués.

PPTP (Microsoft, 1996) - Point-to-Point Tunneling Protocol est un protocole de niveau 2 (cf. modèle OSI) qui utilise les méthodes d’authentification de PPP (ex : PAP, CHAP). Il permet d’établir des tunnels de paquets PPP à travers un réseau IP (requiert IP) par le biais d’une version modifiée du protocole GRE. Il doit son expansion aux systèmes d’exploitation de Microsoft qui incluent nativement PPTP dès Windows NT. L’encryptage est réalisée via l’algorithme RSA RC4 avec des clés de 40 bits (Cryptage asymétrique). Il est souvent utilisé dans les communications en les PCs clients et le LAN.

L2F (Cisco, 1996) - Layer 2 Fowarding Protocol est un protocole de niveau 2 (cf. modèle OSI) qui permet de créer des tunnels de type LAN to LAN. Ce protocole n’est pas dépendant d’IP et fonctionne avec ATM, … L’authentification utilise les méthodes PPP (ex : PAP, CHAP) avec un serveur Radius. Il y a 2 niveau d’authentification : celle du routeur puis celle du client. Attention : pas d’encryptage des données !

L2TP (IETF, 1998) - Layer 2 Tunneling Protocol est un protocole de niveau 2 (cf. modèle OSI) qui permet de créer des tunnels de type LAN to LAN. Il résulte de la combinaison des protocoles PPTP & L2F. Il réutilise les mécanismes de PPP (ex : PAP, CHAP, EAP) avec serveur Radius. L’établissement du tunnel est basé sur L2F et l’encryptage des données réutilise les méthodes d’IPSec.

MPLS VPNs - Multi Protocol Layer Switching VPNs sont des tunnels de niveau 2 ou 3 (cf. modèle OSI). En général, on les retrouve entre 2 sites distants à travers Internet, ou encore dans les grosses entreprises qui souhaitent mettre en place des VPNs.

Encryptage des données

Il existe plusieurs moyens de crypter les données :

  • Un valeur aléatoire, une clé, …
  • L’algorithme de condensation (Hash Algorithm) qui permet de vérifier l’intégrité des documents : MD5, SHA-1, …
  • Le cryptage asymétrique (Système à clé publique) qui permet de signer les documents : Diffie-Helllman (DH), Rivest Shamir & Aldeman (RSA), Pretty Good Privacy (PGP), …
  • Le cryptage symétrique (Système à clé privée) qui permet d’encrypter les données échangées : DES, 3DES, IDEA, AES, RC2, RC4, …

Les mécanismes associés sont :

  • SSL - Secure Socket Layer : utilisé dans les transactions sur le Web
  • TLS - Transport Layer Security : utilisé dans les transactions sur le Web
  • S/MIME - Secure/Multipurpose Internet Mail Extensions : utilisé pour sécuriser les échanges de mails entre serveurs
  • PGP - Pretty Good Privacy : utilisé pour sécuriser les échanges de mails entre utilisateurs
  • IPSec - Secure IP : utilisé à l’origine pour sécuriser les échanges entre LANs, il évolue vers une utilisation sur PCs et terminaux mobiles

Filtrage et Pare-Feu

Un pare-feu peut être considéré comme un ensemble de programmes, localisés au niveau de la passerelle réseau, protégeant les ressources d’un réseau privé, des utilisateurs externes au réseau. Il existe 2 types de pare-feu :

  • Stateless Packet Filter (ex : ACL Cisco) : chaque paquet est comparé à une règle d’acceptation ou de refus. Ce type de pare-feu est disponible dans de nombreux routeurs.
  • Statefull inspection (ex : Checkpoint Firewalls) : on applique les règles de filtrage de manière plus intelligente : reconnaissance d’un flux IP appartenant à un service.

Quelques principes fondamentaux :

  • Tous les flux entrants doivent être inspectés par le pare-feu
  • En cas de panne, il doit toujours rester un routeur avec un filtrage de paquet actif
  • Tout traffic non explicitement autorisé est interdit

NB : cet article a été réalisé à l’aide de mes notes de cours ( VPN and Network Security de Sophie Gastellier-Prevost) et divers sources Internet (RFCs, …).