vendredi 15 janvier 2016

L2TP/IPSec

Tunnel L2TP/IPsec


Un des derniers de type de tunnel configurable sur CISCO qui manquait à mon blog


Théorie du complot


Très rapide, je détaillerai les commandes en cours de route.

Le protocole L2TP est un dérivé du PPTP, mixé a L2F. Il consiste à créer des tunnels en encapsulant des trames PPP. Attention, cette version n'est pas sécurisée, on ne peut pas parler de VPN en tant que tel.
Pour palier cette limitation, nous utiliserons une variante L2TP/IPsec.

Le modèle de fonctionnement est basé sur un LAC et un LNS. Je dois bien avouer avoir encore des doutes à savoir qui fait quoi, surtout sur un routeur Cisco qui me semble cumuler en partie les deux rôles. Mais qu'importe !! il ne faut pas être étonné de trouvé des commandes qui font penser à des appels téléphoniques dans la configuration qui va suivre.

Je vous laisse à Wikipedia pour tous les aspects théoriques de la chose. Il est intéressant de voir l'empilement d'encapsulation, d'en-tête IPSEC, IP, UDP, L2TP, PPP, ....

Passons aux avantages :

  1. Natif sur une majorité de systèmes, Windows ou androïde
  2. Facilité de configuration
  3. Pris en charge par le module de cryptage embarqué (on board encryption card) de certains routeurs.
Pour les inconvénients :

  1. Contrairement aux tunnels SSL, nécessite l'ouverture de quelques ports supplémentaires sur les firewalls.
  2. Limitations des options de chiffrement sous Windows : utilisation de 3DES, DH groupe à 2 ...
  3. Vieillissant ? 

Plate-forme de test

Les clients 1 et 2 fonctionnent respectivement sous Windows 7 et 8.1.
Mon routeur R2 est un 7200 qui simule une box individuelle (Nat)
R1 est un 7200 sur lequel L2TP/IPsec est paramétré

Nous allons donc monter un VPN entre les clients et R1.
Les connections seront authentifiées par une clef partagée (comme sur un VPN site à site). 
Les utilisateurs seront authentifiés via la base locale du routeur. J'ai actuellement cette connexion en fonctionnement chez moi mais j'utilise RADIUS pour l'authentification : si c'est le cas utiliser la commande aaa authorization default if-authenticated.


Configuration du routeur


Pour authentifier les utilisateurs :

aaa authentication ppp VPDN_AUTH local


On oublie pas de créér des utilisateurs ...


Texto de chez Cisco :

A virtual private dial-up network (VPDN) allows a private network dial in service to span across to remote access servers (defined as the L2TP Access Concentrator [LAC]).
When a Point-to-Point Protocol (PPP) client dials into a LAC, the LAC determines that it should forward that PPP session on to an L2TP Network Server (LNS) for that client. The LNS then authenticates the user and starts the PPP negotiation. Once PPP setup has completed, all frames are sent through the LAC to the client and the LNS.

Vous voyez maintenant pourquoi je disais que le routeur officie à la fois en tant que LAC et LNS ?

Ce qui nous donne en config :



vpdn enable
!
vpdn-group L2TP
 ! Default L2TP VPDN group
 accept-dialin On accepte les appels rentrants
  protocol l2tp On utilise le protocole L2TP
  virtual-template 10 référence à l'interface Template 10
 no l2tp tunnel authentication Celle-ci sera effectuée via IPsec



Pour la partie ISAKMP/IPsec:


crypto isakmp policy 1
 encr 3des sniff, uniquement 3DES est pris en charge par Windows
 authentication pre-share utilisation d'une clef partagée
 group 2 sniff, uniquement DH 2 est pris en charge par Windows
!
crypto isakmp key BLABLA address 0.0.0.0 Définition de la clef partagée, qqch de méga FORT !!
!
!
crypto ipsec transform-set L2tp esp-3des esp-sha-hmac Définition des protocoles IPsec
 mode transport transport et pas tunnel !!!!!!!!!
!

!
crypto dynamic-map dyn-map 10 Création du dynamic-map 
 set nat demux support du Nat pour client windows
 set transform-set L2tp utilisation du transform-set créé juste au dessus
!
!
crypto map outside_map 65535 ipsec-isakmp dynamic dyn-map 


Pour des infos complètes :

http://www.cisco.com/c/en/us/td/docs/ios/12_4t/12_4t2/pt_wnlns.html

Voici la configuration de notre interface Template 10 :


interface Virtual-Template10
 ip unnumbered Loopback100 qui elle a une adresse en 10.3.20.1
 no ip redirects option
 no ip unreachables option
 no ip proxy-arp option
 zone-member security Tunnel ahh à voir dans un prochain article, ça va faire trop long ...
 peer default ip address pool SSL lié au pool d'adresses IP SSL pour nos clients
 ppp authentication ms-chap-v2 VPDN_AUTH authentification des utilisateurs

Application de notre crypto map sur notre interface WAN :


interface FastEthernet0/0
 ip address 10.10.10.1 255.255.255.252
 no ip unreachables
 no ip proxy-arp
 zone-member security out
 duplex full
 crypto map outside_map

Création de notre pool d'adresses IP :

IP local pool SSL 10.3.20.1 10.3.20.10



Configuration de Windows :

Procédure sous Windows 7, idem pour Windows 8.1






Ici, un nom de domaine fait parfaitement l affaire



Utilisateur et mot de passe correspondent aux comptes créés sur le routeur.


Type : L2TP
Chiffrement : exiger
Authentification : MS-CHAP V2



On oublie pas de rentrer la clef BLABLA



Verification 



R1#sh crypto isakmp sa detail
Codes: C - IKE configuration mode, D - Dead Peer Detection
       K - Keepalives, N - NAT-traversal
       T - cTCP encapsulation, X - IKE Extended Authentication
       psk - Preshared key, rsig - RSA signature
       renc - RSA encryption
IPv4 Crypto ISAKMP SA

C-id  Local           Remote          I-VRF  Status Encr Hash   Auth DH Lifetime Cap.

1007  10.10.10.1      192.168.2.2            ACTIVE 3des sha    psk  2  07:59:36
       Engine-id:Conn-id =  SW:7

IPv6 Crypto ISAKMP SA


Bon clic à tous,








Aucun commentaire:

Enregistrer un commentaire