Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar [email protected] Introduction: IP...

32
Protocole IPsec S. Lazaar [email protected] .ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuriser TCP/IP par l'authentification et le chiffrement des paquets IP afin de protéger les transmissions de données’ IPsec assure des communications privées et protégées sur des réseaux IP. IPsec offre un support pour IPv4 et IPv6, IPSec est déployé lorsqu'il s'agit de la mise en œuvre d'un VPN. Sécurité au niveau IP avec le protocole IPSec assure: Authentification Confidentialité Gestion des clés IPSec fournit la possibilité de sécuriser les transmissions de réseaux LAN, et WAN https://lazaarsaiida.wordpress.com 1

Transcript of Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar [email protected] Introduction: IP...

Page 1: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Protocole IPsecS. Lazaar

[email protected]

Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de:

‘Sécuriser TCP/IP par l'authentification et le chiffrement des paquets IP afin de protéger les transmissions de données’

• IPsec assure des communications privées et protégées sur des réseaux IP.

• IPsec offre un support pour IPv4 et IPv6, IPSec est déployé lorsqu'il s'agit de la mise en œuvre d'un VPN.

Sécurité au niveau IP avec le protocole IPSec assure:

• Authentification

• Confidentialité

• Gestion des clés

IPSec fournit la possibilité de sécuriser les transmissions de réseaux LAN, et WAN

https://lazaarsaiida.wordpress.com 1

Page 2: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Exemples d’utilisation

• Sécuriser une connexion de succursale sur Internet

• Accès à distance sécurisé sur Internet

• Etablir des liens Intranet et Extranet aves des

partenaires

• Améliorer la sécurité du e-commerce

https://lazaarsaiida.wordpress.com 2

Page 3: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Avantages d’IPSec

• IPSec est associé à un pare-feu ou à un routeur

• Il fournit une sécurité forte qui peut être appliquée à tout le trafic traversant le périmètre

• IPSec dans un pare-feu résistera aux tentatives de contournement

• IPSec est au dessous de la couche transport TCP, UDP

• Il est transparent aux applications & aux utilisateurshttps://lazaarsaiida.wordpress.com 3

Page 4: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 4

Page 5: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 5

• IPsec opère à la couche réseau contrairement

aux standards antérieurs qui opéraient à la

couche application

• IPsec devient indépendant des applications.

Page 6: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

• IPsec a pour vocation d'établir des canaux communications sécurisés garantissant l'intégrité et la confidentialité des données véhiculées au niveau de la couche IP.

• Ses principales implémentations se retrouvent dans les logiciels et les matériels créant des VPN.

Utilité en pratique:

• Sécuriser une liaison entre deux réseaux locaux, en passantpar un réseau non sécurisé.

• Le moyen utilisé est de créer un tunnel VPN

6https://lazaarsaiida.wordpress.com

Page 7: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Fonctionnement: Modes

Il existe deux modes pour IPSec :1. Mode de transport

• Le mode transport permet de protéger principalement les protocoles de niveaux supérieurs :

– IPSec récupère les données venant de la couche 4 (TCP/transport), les signe et les crypte puis les envoie à la couche 3 (IP/réseau).

Cela permet d'être transparent entre la couche TCP et la couche IP et d'être relativement facile à mettre en place.

– Il y a des inconvénients :

l'entête IP est produite par la couche IP et donc IPSec ne peut pas la contrôler.

7https://lazaarsaiida.wordpress.com

Page 8: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Modes de Fonctionnement

2. Le mode tunnel

Il permet d'encapsuler des datagrammes IP

– les paquets descendent dans la pile jusqu'à la couche IP et c'est la couche IP qui passe ses données à la couche IPSec.

– Il y a une entête IP encapsulée dans les données IPSec et une entête IP réelle pour le transport sur Internet

Aavantages :

• l'entête IP réelle est produite par la couche IPSec. Cela permet d'encapsuler une entête IP avec des adresses relatives au réseau virtuel et en plus de les crypter de façon à être sûr qu'elles ne sont pas modifiées.

• On a des adresses IP virtuelles tirant partie au mieux du concept de VPN

• On a le contrôle total sur l'entête IP produite par IPSec pour encapsuler ses données et son entête IPSec.

8https://lazaarsaiida.wordpress.com

Page 9: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

• IP Authentification Header (AH) gère:

– l'intégrité : on s'assure que les champs restent invariants pendant la transmission, dans l'entête IP qui précède l'entête AH et les données

– l'authentification pour s'assurer que l'émetteur est bien celui qu'il dit être

– la protection contre le rejeu : un paquet intercepté par un pirate ne peut pas être renvoyé

– il ne gère pas la confidentialité : les données sont signées mais pas cryptées

9https://lazaarsaiida.wordpress.com

Sous - Protocoles IPsec

Page 10: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 10

Encapsulating Security Payload (ESP)

• Mode transport:

o Confidentialité : les données du datagramme IP encapsulé sont

cryptées

o Authentification : on s'assure que les paquets viennent de l'hôte

avec lequel on communique (qui doit connaître la clé associée à

la communication ESP pour s'authentifier)

o Unicité optionnelle contre le rejeu des paquets

o Intégrité des données transmises

• Mode tunnel: l'ensemble du datagramme IP encapsulé dans ESP est

crypté et subit des vérifications.

Sous - Protocoles IPsec

Page 11: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 11

• Une attaque par rejeu (replay attack) ou playback attack) est une forme d'attaque réseau dans laquelle une transmission est malicieusement répétée par un attaquant qui a intercepté la transmission.

• Il s'agit d'un type d'usurpation d'identité.

Rappel:

Page 12: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 12

Mode transport

Mode tunnel

Page 13: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Security Association (SA)

• Security Assocation (SA) définit l'échange des clés et des paramètres de sécurité.

• Il existe une SA par sens de communication.• Les paramètres de sécurité sont les suivants:

– protocole AH et/ou ESP– mode tunnel ou transport– les algorithmes de sécurité– les clés

La SAD (Security Association Database) stocke les SA afin de savoir comment traiter les paquets arrivant ou partant.

Elles sont identifiées par des triplets :• adresse de destination des paquets• identifiant du protocole AH ou ESP utilisé• un index des paramètres de sécurité (Security Parameter Index) qui est

un champ de 32bits envoyer en clair dans les paquets13https://lazaarsaiida.wordpress.com

Page 14: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

La SPD (Security Policy Database) est la base de configuration de IPSec.

• Elle permet de dire au noyau quels paquets il doit traiter.

C'est à sa charge de savoir avec quel SA il fait le traitement.

• La SPD indique quels paquets il faut traiter et le SAD indique comment il faut traiter un paquet sélectionné.

14https://lazaarsaiida.wordpress.com

Page 15: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

L'échange des clés:

L'échanges des clés nécessaires au cryptage des données dans IPSec peut se faire de trois façons différentes :

• à la main : pas très pratique• IKE (Internet Key Exchange) : c'est un protocole développé pour IPSec.

ISAKMP (Internet Security Association and Key Management Protocol) en est la base et a pour rôle la création (négociation et mise en place), la modification et la suppression des SA. Elle se compose de deux phases :

– la première permet de créer un canal sécurisé (par Diffie-Hellman) et authentifié à travers duquel on échange un secret pour dériver les clés utilisées dans la phase 2.

– la seconde permet de mettre en place IPSec avec ses paramètres et une SA par sens de communication.

– Les données échangées sont protégées par le canal mis en place dans la phase 1.

15https://lazaarsaiida.wordpress.com

Page 16: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 16

Protocoles de sécurité:

• Authentication Header (AH)

• Encapsulation Security Payload (ESP)

Protocole d'échange de clés:

• Internet Key Exchange (IKE)

Bases de données internes:

• Security Policy Database (SPD)

• Security Association Database (SAD)

Récapitulatif:

Composants d’’IPsec

Page 17: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Algorithmes cryptographiques dans IPsec

https://lazaarsaiida.wordpress.com 17

• Les algorithmes de chiffrement et d'authentification pour IPsec encapsulant le protocole ESP et AH sont :

Authentification Intégrité:

• HMAC-SHA1-96

• ChaCha20 + Poly1305

Chiffrement symétrique:

• AES-CBC

• Triple DES-CBC

• AES-GCM

Page 18: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 18

Galois/Counter Mode (GCM) est un mode d'opération de chiffrement par bloc.

Il est répandu en raison de son efficacité et de ses performances.

C'est un algorithme de chiffrement conçu pour fournir l'intégrité et l'authenticité des données, ainsi que la confidentialité.

Un mode d'opération est la manière de traiter les blocs de texte clairs et chiffrés au sein d'un algorithme de chiffrement par bloc.

Un retour à la cryptographie!

Cipher Block Chaining - CBC:

On applique sur chaque bloc un ‘OU exclusif’ avec le chiffrement du bloc précédent avant qu’il soit lui-même chiffré.

Afin de rendre chaque message unique, un vecteur d'initialisation(IV) est utilisé.

Page 19: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 19

Cipher Block Chaining » (CBC):

**C’est un chiffrement par bloc.

Un retour à la cryptographie!

Page 20: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 20

Poly1305 est un code d'authentificationde message cryptographique (MAC) créé par Daniel J. Bernstein.

Il peut être utilisé pour vérifier l'intégrité des données et l'authenticité d'un message.

Un retour à la cryptographie!

La sécurité de Poly1305-AES est très proche de AES .Par conséquent, le seul moyen pour un

attaquant de casser Poly1305-AES est de casser AES.

ChaCha20 est un chiffrement de flux proposé au projet par Daniel Bernstein.

• Il est architecturé autour d'une fonction pseudo-aléatoire basée sur des opérations d'addition sur 32 bits, d'addition exclusive (XOR) et de rotations sur les bits

• Elle transforme une clé de 256 bits, un nombre pseudo aléatoire de 64 bits, et une position de flux sur 64 bits en un bloc de données en sortie de 512 bits.

Page 21: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 21

VPN IPSec

• L’interconnexion entre les sites se fait en utilisant internet de chacun d’eux.

• Les données vont transiter par le réseau public.

• Les données doivent être cryptées pour assurer leur protection durant le

transport.

• Afin de garantir la sécurité du réseau dans son ensemble, chaque site doit

s’équiper d’un firewall qui montera un tunnel sécurisé entre eux.

Page 22: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 22

MultiProtocol Label Switching (MPLS)

est un mécanisme de transport de

données basé sur la commutation de

labels (des « étiquettes »), qui sont

insérés à l'entrée du réseau MPLS et

retirés à sa sortie.

MPLS

Objectifs: Accroître la vitesse du traitement des datagrammes

dans l’ensemble des équipements intermédiaires.

MPLS facilite l'acheminement des paquets par des routes

préconfigurées, en fonction de critères comme le faible taux

d'encombrement, la répartition de la charge sur plusieurs routes

Page 23: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 23

• MPLS peut être utilisé pour transporter tout type de trac: la voix ou les paquets IPv4, IPv6 et même les trames Ethernet ou ATM.

• MPLS est un protocole développé par Cisco employé par lesoperateurs pour améliorer les performances de leur réseau IP.

S. LAZAAR

MPLS

• MPLS joue un rôle important dans le routage, la communication et le transfert de paquets au travers d'une infrastructure réseau innovante, qui prendra en compte les besoins de service et les utilisateurs du réseau.

• Chaque entité n'aura besoin que d'une connexion vers un fournisseur de service unique MPLS.

• Chaque nœud MPLS fonctionne comme un routeur IP quiutilise des protocoles de routage IP et échange avec les routeurs voisins.

S.

Page 24: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 24

• La première fonctionnalité de MPLS est d'accélérer la transmission des

informations au sein d'un backbone IP (cœur du réseau).

• La seconde est de permettre la création de VPN (Virtual Private Network)

• Un label est inséré en entrée du réseau, permet d'identifier l'appartenance à un VPN. (analogie avec le numéro de boite postal)

Une fois labellisé, un paquet IP n'est plus modifié.

Page 25: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 25

VPN MPLS

• Il va être possible de prioriser et de superviser certains

flux sur d’autres de façon garantie, et bidirectionnelle.

• La sortie internet se trouve mutualisée pour tous les sites

et gérée en cœur de réseau.

Page 26: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 26

IPsec et VPN

• IPsec VPN est réalisé par l'authentification, l’intégrité et le cryptage des paquets IP entre deux points d'extrémité.

IPsec VPN Tunnel

https://forum.mikrotik.com/

Page 27: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

https://lazaarsaiida.wordpress.com 27

VPN IPSec ou VPN MPLS ?

Page 28: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Implémentation Linux:• Il existe plusieurs implémentation de IPSec dans Linux suivant la version du noyau

• 2.4 et inférieur : FreeS/WAN (http://www.freeswan.org) et OpenSWAN(http://www.openswan.org)

• 2.6 et supérieur : support Natif (KAME-tools at http://ipsec-tools.sourceforge.net/), OpenSWAN ou isakmpd (de OpenBSD)

Configuration de base• La configuration est assez compliquée mais peu se résumer de la façon suivante :

on crée un script pour définir les paramètres IPSec à mettre dans la SAD (Security Association Database) et dans la SPD (Security Policy Database) :– SAD

• les IP source et destination• le mode tunnel ou transport• les algos de hachage, cryptage et autres• des clés pour AH et ESP

– SPD• les IP source et destination• le sens du traffic• si AH et/ou ESP sont requis

on exécute le script avec la commande setkey -f.28

https://lazaarsaiida.wordpress.com

Page 29: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Openswan est une implémentation IPsec pour Linux

• Projet FreeS/WAN (1999).

• Openswan permet la mise en place de liens IPsec entre machines, tunnels VPN, entre réseaux d'entreprises ou pour des clients nomades.

• Il est compatible avec un grand nombre de systèmes d’exploitation et de solutions propriétaires.

• OpenSwan est disponible sous licence GPL.

https://lazaarsaiida.wordpress.com 29

Page 30: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Installation de OpenSwan (grandes étapes)

# sudo apt-get install openswan

• Génération des clés:

# ipsec ranbits 256

• Puis édition du fichier /etc/ipsec.secrets sur le ROUTEUR VPN A:

# sudo vi /etc/ipsec.secretsPUBLIQUE_A PUBLIQUE_B “0×02e91301_438852a5_da987f97_762d2c97_22f0b9c9_8fe399c6_49b81858_603d90fe”

• PS: remplacer PUBLIQUE_A et PUBLIQUE_B par les adresses IP publiques de vos routeurs

• Copie de la clés sur le ROUTEUR VPN B:

# scp /etc/ipsec.secrets root@PUBLIQUE_B:/etc/ipsec.secrets

• PS: si besoin, remplacer root par un compte administrateur valide

30https://lazaarsaiida.wordpress.com

Page 31: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Configuration du tunnel IPSec:

• Configuration sur le ROUTEUR VPN A (exemple adresse IP réseaux PRIVEE_A=192.168.1.0/24 et PRIVEE_B=192.168.2.0/24):

• Configuration sur le ROUTEUR VPN B (exemple adresse IP réseaux PRIVEE_A=192.168.1.0/24 et PRIVEE_B=192.168.2.0/24):

Quelques commandes utiles:

Démarrer le daemon IPSec (à faire sur les deux serveurs VPN)# sudo /etc/init.d/ipsec startRedémarrer le daemon IPSec (en cas de modification d’un des fichiers de

configuration):# sudo /etc/init.d/ipsec restartStatus des tunnels VPN:# sudo ipsec whack –statusDebug:# tail -f /var/log/messages | grep pluto

31https://lazaarsaiida.wordpress.com

Page 32: Protocole IPSEC - WordPress.com · Protocole IPsec S. Lazaar slazaar@uae.ac.ma Introduction: IP Sec, développé par l'IETF (Internet Engineering Task Force), a pour but de: ‘Sécuise

Bibliographie

• William Stalings. ‘Sécurité des réseaux. Application et standards’. Editeur Vuibert Informatique, 2001

• https://sc1.checkpoint.com/• http://www.kernel-panic.it/• https://www.openswan.org/

https://lazaarsaiida.wordpress.com 32