<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog sur les technologies réseau et sécurité &#187; IOS</title>
	<atom:link href="http://bmigette.fr/tag/ios/feed/" rel="self" type="application/rss+xml" />
	<link>http://bmigette.fr</link>
	<description>Blog de Bastien Migette sur les technologies réseau et sécurité, particulièrement cisco.</description>
	<lastBuildDate>Sat, 19 May 2012 14:49:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Comment taper un point d&#8217;interrogation &#8216;?&#8217; dans un mot de passe ?</title>
		<link>http://bmigette.fr/2011/03/16/comment-taper-un-point-dinterrogation-dans-un-mot-de-passe/</link>
		<comments>http://bmigette.fr/2011/03/16/comment-taper-un-point-dinterrogation-dans-un-mot-de-passe/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 18:36:39 +0000</pubDate>
		<dc:creator>Bastien Migette</dc:creator>
				<category><![CDATA[astuces]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[asa]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[interrogation]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[point]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://bmigette.fr/?p=570</guid>
		<description><![CDATA[Comment taper un point d'interrogation '?' dans un mot de passe ?]]></description>
			<content:encoded><![CDATA[<p>Pour ceux d&#8217;entre vous qui ne le savent pas, le &#8216;?&#8217; sur un routeur cisco affiche l&#8217;aide.</p>
<p>Comment faire donc si je veux créer un utilisateur salut avec le mot de passe &laquo;&nbsp;cava?&nbsp;&raquo; ?<br />
Voici ce qu&#8217;il se passe:</p>
<pre>R1(config)#username salut password cava?
LINE    &lt;cr&gt;

R1(config)#username salut password cava</pre>
<p>Autrement dit, ça ne parche pas.</p>
<p>Pareil sur l&#8217;asa:</p>
<pre>ASA1(config)# username salut password cava?

configure mode commands/options:
 WORD
ASA1(config)# username salut password cava</pre>
<p>Donc petite astuce, il faut taper Ctrl+V avant. Pourquoi ? je ne sais pas, mais il en est ainsi.</p>
<pre>R1(config)#username salut password cava? !ici j'ai tapé ctrl+v avant le '?'
R1(config)#do sh run | i salut
username salut password 0 cava?</pre>
]]></content:encoded>
			<wfw:commentRss>http://bmigette.fr/2011/03/16/comment-taper-un-point-dinterrogation-dans-un-mot-de-passe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exemple GETVPN avec utilisation du CA server IOS</title>
		<link>http://bmigette.fr/2010/10/04/exemple-getvpn-avec-utilisation-du-ca-server-ios/</link>
		<comments>http://bmigette.fr/2010/10/04/exemple-getvpn-avec-utilisation-du-ca-server-ios/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 17:51:43 +0000</pubDate>
		<dc:creator>Bastien Migette</dc:creator>
				<category><![CDATA[Réseau Avancé]]></category>
		<category><![CDATA[Sécurité réseau]]></category>
		<category><![CDATA[ca-server]]></category>
		<category><![CDATA[gdoi]]></category>
		<category><![CDATA[get vpn]]></category>
		<category><![CDATA[getvpn]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[MPLS]]></category>
		<category><![CDATA[pki server]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://bmigette.fr/?p=542</guid>
		<description><![CDATA[Un article sur le GETVPN en utilisant un routeur cisco en tant qu'autorité de certification.]]></description>
			<content:encoded><![CDATA[<p>Bon après une longue période d&#8217;inactivité, du moins du coté de mon blog, car à coté de cela beaucoup de choses à faire (sinon j&#8217;aurai évidemment faire plus d&#8217;articles <img src='http://bmigette.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ), eh bien j&#8217;ai décidé de faire un petit article sur le GETVPN car je vais sauter les 2 dernières certifs CCSP et attaquer directement le CCIE comme un grand.</p>
<h2><span id="more-542"></span></h2>
<h2>Topologie</h2>
<p><a href="http://bmigette.fr/wp-content/uploads/2010/10/tpo.zip">topologie .net gns3</a></p>
<p><a href="http://bmigette.fr/wp-content/uploads/2010/10/topologie.png"><img class="aligncenter size-medium wp-image-545" title="topologie" src="http://bmigette.fr/wp-content/uploads/2010/10/topologie-286x300.png" alt="" width="286" height="300" /></a></p>
<h2>Introduction</h2>
<p>J&#8217;avais un peu parlé, très très rapidement, du GETVPN dans un article précédent. Ici, on vas voir un peu plus en détail le fonctionnement et la configuration.</p>
<p>Le GET VPN ça sert à quoi déjà ? Vous avez peut être un super VPN MPLS au bureau qui marche super mais ça vous embête un petit peu d&#8217;avoir votre trafic qui se balade en clair. On peut donc mettre du DMVPN, mais on parleras de VPN Overlay dans la mesure ou on réencapsule les paquets et donc on rajoute une surcouche IP, donc on perd l&#8217;intérêt du VPN MPLS. Avec le GET VPN, on laisse le backbone MPLS s&#8217;occuper du VPN, et nous (le client) on s&#8217;occupe du chiffrement du traffic entre les équipement client (le provider n&#8217;a pas a gérer la configuration).</p>
<p>Pour fonctionner, le GETVPN utilise une variante de isakmp qui s&#8217;appelle GDOI qui permets la synchronisation des clés de sessions IPSec entre les différents clients, le principe du GET VPN étant d&#8217;être multicast, tous les clients auront la même clé de chiffrement à l&#8217;instant T (TEK &#8211; Traffic encryption key) et un rekeying global de cette TEK s&#8217;éffectura de temps en temps via la KEK (Key Encryption Key)</p>
<h2>Config initiale</h2>
<p>Bon je penses que ceux qui suivent un peu mon blog doivent être familier avec les VPNMPLS donc on va passer les détails de la config (les autres lisez mes autres articles).<br />
Voici les configs: <a href="http://bmigette.fr/wp-content/uploads/2010/10/GETVPN_init.zip">GETVPN_init_configs</a></p>
<p>On va commencer par faire une petite capture de ping entre C1 et C2 et faire un capture au niveau de F2/0 de core 1 pour voir ce qu&#8217;il ressort:</p>
<pre>C1#ping 10.1.2.2 data DEAD repeat 20

Type escape sequence to abort.
Sending 20, 100-byte ICMP Echos to 10.1.2.2, timeout is 2 seconds:
Packet has data pattern 0xDEAD
!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (20/20), round-trip min/avg/max = 52/106/192 ms</pre>
<p>ce qui nous donne:</p>
<div id="attachment_546" class="wp-caption aligncenter" style="width: 310px"><a href="http://bmigette.fr/wp-content/uploads/2010/10/Frame_uncrypted.png"><img class="size-medium wp-image-546" title="Frame uncrypted" src="http://bmigette.fr/wp-content/uploads/2010/10/Frame_uncrypted-300x83.png" alt="" width="300" height="83" /></a><p class="wp-caption-text">Frame uncrypted</p></div>
<p>le fichier wireshark pour les curieux:</p>
<p><a href="http://bmigette.fr/wp-content/uploads/2010/10/trace_uncrypted.zip">trace_uncrypted</a></p>
<h2>Mise en place du serveur de certificats IOS</h2>
<p>Alors vu que j&#8217;ai pas envie de démarrer une VM en CA, et qu&#8217;on a pas vu comment faire un CA sous IOS, et bien on va le faire ici.</p>
<p>Le procédure est dispo ici:<br />
<a href="http://www.cisco.com/en/US/tech/tk583/tk372/technologies_configuration_example09186a0080210cdc.shtml" target="_blank">http://www.cisco.com/en/US/tech/tk583/tk372/technologies_configuration_example09186a0080210cdc.shtml</a><br />
En gros on génère des clés exportables, on les exportes sous forme de certificats, on active le serveur sur un des routeurs (ici core 1) et on va enroller les autres sur ce serveur CA.</p>
<pre>c1(config)#crypto key generate rsa general-keys label <strong><span style="color: #ff0000;">carsa</span></strong> exportable modulus 512
% They will be replaced.

% The key modulus size is 512 bits
% Generating 512 bit RSA keys, keys will be exportable...[OK]

c1(config)#
*Oct  4 17:24:40.303: %SSH-5-DISABLED: SSH 1.5 has been disabled
*Oct  4 17:24:41.227:  RSA key size needs to be atleast 768 bits for ssh version 2
c1(config)#
*Oct  4 17:24:41.243: %SSH-5-ENABLED: SSH 1.5 has been enabled
<strong>!export format PEM, encryption clé privée DES, pass cisco 123</strong>
<strong>!Je suis pas sur que ça soit obligatoire, je penses que c'est plutot
!pour archiver les clés si on les perds mais j'ai pas testé sans</strong>
c1(config)#crypto key export rsa <strong><span style="color: #ff0000;">carsa</span></strong> pem url nvram: 3des cisco123
% Key name: carsa
 Usage: General Purpose Key
Exporting public key...
Destination filename [carsa.pub]?
Writing file to nvram:carsa.pub
Exporting private key...
Destination filename [carsa.prv]?
Writing file to nvram:carsa.prv
c1(config)#ip http server !activation HTTP pour SCEP
c1(config)#crypto pki server <strong><span style="color: #ff0000;">carsa</span></strong>
c1(cs-server)#database url nvram:
c1(cs-server)#database level names !on stock en plus le nom de chaque certificat
! par défaut minimum = juste le contenu crypto
core1(cs-server)#issuer-name CN=c1 L=MYDESK C=BE
! L = location, C = country
c1(cs-server)#no shut
%Some server settings cannot be changed after CA certificate generation.
% Please enter a passphrase to protect the private key
% or type Return to exit
Password: <span style="color: #3366ff;">cisco123 </span>
Re-enter password: <span style="color: #3366ff;">cisco123</span>
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]
% Exporting Certificate Server signing certificate and keys...

% Certificate Server enabled.
c1(cs-server)#
*Oct  4 17:36:57.087: %PKI-6-CS_ENABLED: Certificate server now enabled.
c1(cs-server)#do write
Building configuration...
[OK]
c1(cs-server)#exi
c1(config)#</pre>
<p>Voilà normalement on est bon ici.</p>
<p>On va maintenant &laquo;&nbsp;enroller&nbsp;&raquo; nous routeurs afin qu&#8217;ils puissent s&#8217;authentifier les uns et les autres.<br />
Je rappelle la procédure, on fait un trustpoint afin d&#8217;obtenir le certificat du CA (via la commande crypto ca authenticate), et ensuite on s&#8217;enroll (on demande notre certificat).</p>
<pre>c2(config)#crypto ca trustpoint carsa
! vu que j'ai pas mis de CRL dans mon CA ça pourrait déconner
c2(ca-trustpoint)#revocation-check none
c2(ca-trustpoint)#enrollment url http://10.1.1.2:80
c2(ca-trustpoint)#exi
c2(config)#crypto ca authenticate carsa
Certificate has the following attributes:
 Fingerprint MD5: F9060FED EFDD437B 0971B86E 2CC79D65
 Fingerprint SHA1: 9261C779 35420504 12F77C07 B0EF5938 66F3DC48 

% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
c2(config)#crypto ca enroll carsa
%
% Start certificate enrollment ..
% Create a challenge password. You will need to verbally provide this
 password to the CA Administrator in order to revoke your certificate.
 For security reasons your password will not be saved in the configuration.
 Please make a note of it.
<strong><span style="color: #3366ff;">!password défini lors du no sh du CA</span></strong>
Password: <span style="color: #3366ff;">cisco123</span>
Re-enter password: <span style="color: #3366ff;">cisco123 </span>

% The subject name in the certificate will include: c2
% Include the router serial number in the subject name? [yes/no]: no
% Include an IP address in the subject name? [no]: no
Request certificate from CA? [yes/no]: yes
% Certificate request sent to Certificate Authority
% The 'show crypto pki certificate verbose carsa' commandwill show the fingerprint.

c2(config)# ! voilà la requête de certificat, il faut maintenant l'approuver
*Oct  4 17:46:27.135: CRYPTO_PKI:  Certificate Request Fingerprint MD5: 4D9971C8 F02B5822 B4062ABE E4FD370A
*Oct  4 17:46:27.147: CRYPTO_PKI:  Certificate Request Fingerprint SHA1: 1CD7E7FA B4A4016E 5A7D4F9E FEDD64BD D3234946
c2(config)#</pre>
<p>on va donc sur C1:</p>
<pre>C1#sh crypto pki server <span style="color: #ff0000;"><strong>carsa </strong></span>requests
Enrollment Request Database:

Subordinate CA certificate requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------

RA certificate requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------

Router certificates requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------
<span style="color: #00ff00;"><strong><span style="text-decoration: underline;">1</span></strong></span>      <span style="text-decoration: underline;"><strong>pending</strong></span><strong>    </strong>B50C87B6E5AD25927EFDB485EF0003ED hostname=C2

C1#crypto pki server <strong><span style="color: #ff0000;">carsa </span></strong>grant <strong><span style="text-decoration: underline;"><span style="color: #00ff00;">1</span></span></strong>
C1#sh crypto pki server carsa requests
Enrollment Request Database:

Subordinate CA certificate requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------

RA certificate requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------

Router certificates requests:
ReqID  State      Fingerprint                      SubjectName
--------------------------------------------------------------
<strong><span style="text-decoration: underline;"><span style="color: #00ff00;">1</span></span></strong>      <strong><span style="text-decoration: underline;">granted</span></strong>    B50C87B6E5AD25927EFDB485EF0003ED hostname=C2</pre>
<p>on doit voir sur C2:</p>
<pre>*Oct  4 18:17:32.151: %PKI-6-CERTRET: Certificate received from Certificate Authority</pre>
<p>Maintenant on fait pareil sur<span style="color: #ff0000;"> C3 ET C1 (les certificats sur C1 servent pour le serveur, pas pour que notre routeur s&#8217;authentifie !).</span></p>
<h2>Configuration du GET VPN</h2>
<p>Donc le chiffrement va se faire au niveau des clients (C#). Au niveau du process, on a une isakmp (1ère phase uniquement) qui va permettre d&#8217;établir une connexion sécurisée entre les différents routeurs, puis GDOI (port UDP 848, ISAKMP=500) va gérer les clés IPSec (au lieu de la phase 2 isakmp).</p>
<p>On a un routeur qui fera office de keyserver (KS) et qui distribuera les TEK ainsi que les message de rekeying, et aura aussi la fonction d&#8217;indiquer aux autres routeurs (Group member) le traffic à sécuriser (via une ACL).</p>
<p>Note: on peut redonder les KS.</p>
<p><span style="color: #ff0000;">Note2 (edit): Le KS ne peut, à ma connaissance forwarder du trafic, il est uniquement la pour synchroniser les différents routeurs afin qu&#8217;ils puissent communiquer de manière sécurisée, mais ne communique pas. Si quelqu&#8217;un toutefois à réussi à faire en sorte que le KS puisse forwarder du trafic, je suis preneur !</span></p>
<p>Il faut donc que tous nos routeurs aient une policy isakmp identique:</p>
<pre>C1(config)#crypto isakmp policy 666
C1(config-isakmp)#auth rsa-sig
C1(config-isakmp)#hash sha
C1(config-isakmp)#group 5
C1(config-isakmp)#exi</pre>
<p>Ensuite, coté KS, on créé un transform set et un profile ipsec qui utilise ce transform set, puis une ACL pour le traffic à chiffrer, et enfin la config GDOI.</p>
<pre>C1(config)#crypto ipsec transform-set <span style="color: #ffff00;">TSET1</span> esp-aes
C1(cfg-crypto-trans)#mode transport
C1(cfg-crypto-trans)#exi
C1(config)#crypto ipsec profile <span style="color: #ccffff;">P1</span>
C1(ipsec-profile)#set transform-set <span style="color: #ffff00;">TSET1</span>
C1(ipsec-profile)#exi
C1(config)#ip access-list extended <span style="color: #99cc00;">private-traffic</span>
C1(config-ext-nacl)#deny udp any eq 848 any eq 848 ! on chiffre pas GDOI
C1(config-ext-nacl)#permit ip 10.1.0.0 0.0.255.255 10.1.0.0 0.0.255.255
C1(config-ext-nacl)#exi
C1(config)#crypto gdoi group GETVPN1
C1(config-gdoi-group)#identity number <span style="color: #cc99ff;">1234</span> ! doit matcher sur les GM
C1(config-gdoi-group)#server local
C1(gdoi-local-server)#rekey ? <span style="color: #ff0000;">! ici je laisse tout par défaut</span>
 address         Define the rekey packet format
 algorithm       Set the rekey encryption algorithm
 authentication  Identify the rekey authentication keypair
 lifetime        Define the rekey lifetime
 retransmit      Define the rekey retransmission parameters
 transport       Specify the rekey distribution method

C1(gdoi-local-server)#sa ipsec 1
C1(gdoi-sa-ipsec)#profile <span style="color: #ccffff;">P1</span>
C1(gdoi-sa-ipsec)#match address ipv4 <span style="color: #99cc00;">private-traffic</span>
C1(gdoi-sa-ipsec)#exi
C1(gdoi-local-server)#address ipv4 10.1.1.2 !interface d'écoute
C1(gdoi-local-server)#exi
C1(config-gdoi-group)#exi</pre>
<p>Coté client on va voir que c&#8217;est beaucoup plus simple, tout est géré par le KS quasiment:</p>
<pre>C2(config)#crypto gdoi group <span style="color: #99cc00;">GETVPN1</span>
C2(config-gdoi-group)#identity number <span style="color: #cc99ff;">1234</span>
C2(config-gdoi-group)#server address ipv4 10.1.1.2
C2(config-gdoi-group)#exi
C2(config)#crypto map GETMAP 10 gdoi
% NOTE: This new crypto map will remain disabled until a valid
 group has been configured.
C2(config-crypto-map)#set group <span style="color: #99cc00;">GETVPN1</span>
C2(config-crypto-map)#exi
C2(config)#int F1/0
C2(config-if)#crypto map GETMAP</pre>
<p>Et la normalement, tout est bon.<br />
J&#8217;ai eu quelques messages sur C2 et C3:</p>
<pre>*Oct  4 18:47:43.275: %CRYPTO-5-GM_REGSTER: Start registration to KS 10.1.1.2 for group GETVPN1 using address 10.1.3.2
C3(config-if)#dow
*Oct  4 18:47:43.307: %CRYPTO-6-IKMP_NO_PRESHARED_KEY: Pre-shared key for remote peer at 10.1.1.2 is missing
*Oct  4 18:47:43.319: %CRYPTO-6-GDOI_ON_OFF: GDOI is ON
C3(config-if)#do
*Oct  4 18:47:45.743: %GDOI-5-GM_REGS_COMPL: Registration to KS 10.1.1.2 complete for group GETVPN1 using address 10.1.3.2</pre>
<p>Ce qui je penses est du au fait que les policy isakmp par défaut sous IOS 15.0 utilise les PSK, et vu que j&#8217;ai fait une policy démoniaque (#666) ce n&#8217;était peut être pas la première testée, en conséquence de quoi les routeurs veulent s&#8217;auth via PSK, ils trouvent pas de PSK, ils passent en rsa-sig</p>
<p>quelques vérifs:</p>
<pre>C1#sh crypto gdoi
GROUP INFORMATION

 Group Name               : GETVPN1 (Multicast)
 Group Identity           : 1234
 Group Members            : <strong><span style="color: #ff0000;">2</span></strong>
 IPSec SA Direction       : Both
 Group Rekey Lifetime     : 86400 secs
 Rekey Retransmit Period  : 10 secs
 Rekey Retransmit Attempts: 2

 IPSec SA Number        : 1
 IPSec SA Rekey Lifetime: 3600 secs
 Profile Name           : P1
 Replay method          : Count Based
 Replay Window Size     : 64
 SA Rekey
 Remaining Lifetime  : 3300 secs
 ACL Configured         : access-list private-traffic

 Group Server list       : Local

C1#sh crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id status
10.1.1.2        10.1.2.2       <strong><span style="color: #ff0000;"> GDOI_IDLE</span></strong>         1005 ACTIVE
10.1.1.2        10.1.3.2        <strong><span style="color: #ff0000;">GDOI_IDLE </span></strong>        1006 ACTIVE

IPv6 Crypto ISAKMP SA
!!!!!!!!!!!!
C2#sh crypto gdoi ipsec sa

SA created for group GETVPN1:
 FastEthernet1/0:
 protocol = ip
 local ident  = 10.1.0.0/16, port = 0
 remote ident = 10.1.0.0/16, port = 0
 direction: Both, replay: Disabled

C2#sh crypto gdoi gm
Group Member Information For Group GETVPN1:
 IPSec SA Direction       : Both
 ACL Received From KS     : gdoi_group_GETVPN1_temp_acl

 Group member             : 10.1.2.2         vrf: None
 Registration status   : <strong><span style="color: #ff0000;">Registered</span></strong>
 Registered with       : 10.1.1.2
 Re-registers in       : 3001 sec
 Succeeded registration: 1
 Attempted registration: 5
 Last rekey from       : 0.0.0.0
 Last rekey seq num    : 0
 Multicast rekey rcvd  : 0</pre>
<p>Notez que le KS ne peut faire partie du VPN, ce que je n&#8217;avais prévu, sinon j&#8217;aurai rajouté un routeur. Pour le KS, il doit soit avoir une connexion dédiée accessible depuis tous les GM, soit être connecté derrière un GM (le GM ne doit pas passer par le KS pour avoir accès au VPN).</p>
<p>Bon pour que vous soyez pas trop déçu, je vous redonne quelques commandes show coté KS:</p>
<pre>C1#sh crypto gdoi ks members 

Group Member Information : 

Number of rekeys sent for group GETVPN1 : 0

Group Member ID    : <span style="color: #ff0000;">10.1.2.2</span>
 Group ID          : 1234
 Group Name        : GETVPN1
 Key Server ID     : 10.1.1.2

Group Member ID    : <span style="color: #ff0000;">10.1.3.2</span>
 Group ID          : 1234
 Group Name        : GETVPN1
 Key Server ID     : 10.1.1.2

C1#sh crypto gdoi ks po
C1#sh crypto gdoi ks policy
Key Server Policy:
For group GETVPN1 (handle: 2147483650) server 10.1.1.2 (handle: 2147483650):

 # of teks : 1  Seq num : 0
 kek policy : FALSE 

 TEK POLICY (encaps : ENCAPS_TRANSPORT)
 spi                : 0xFA94E73B
 access-list        : private-traffic
 transform          : esp-aes
 alg key size       : 16            sig key size          : 0
 orig life(sec)     : 3600          remaining life(sec)   : 411
 tek life(sec)      : 3600          elapsed time(sec)     : 3189
 override life (sec): 0             antireplay window size: 64        

C1#sh cry
C1#sh crypto se
C1#sh crypto session
Crypto session current status

Interface: FastEthernet1/0
Session status: UP-IDLE
Peer: 10.1.2.2 port <span style="color: #ff0000;">848</span>
 IKE SA: local 10.1.1.2/848 remote 10.1.2.2/848 Active 

Interface: FastEthernet1/0
Session status: UP-IDLE
Peer: 10.1.3.2 port <span style="color: #ff0000;">848 </span>
 IKE SA: local 10.1.1.2/848 remote 10.1.3.2/848 Active 

C1#</pre>
<p>et coté GM</p>
<pre>C2#sh crypto ipse sa

interface: FastEthernet1/0
 Crypto map tag: GETMAP, local addr 10.1.2.2

 protected vrf: (none)
 local  ident (addr/mask/prot/port): (10.1.0.0/255.255.0.0/0/0)
 remote ident (addr/mask/prot/port): (10.1.0.0/255.255.0.0/0/0)
 current_peer 0.0.0.0 port 848
 PERMIT, flags={origin_is_acl,}
 #pkts encaps: 10, #pkts encrypt: 10, #pkts digest: 10
 #pkts decaps: 10, #pkts decrypt: 10, #pkts verify: 10
 #pkts compressed: 0, #pkts decompressed: 0
 #pkts not compressed: 0, #pkts compr. failed: 0
 #pkts not decompressed: 0, #pkts decompress failed: 0
 #send errors 0, #recv errors 0

 local crypto endpt.: 10.1.2.2, remote crypto endpt.: 0.0.0.0
 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet1/0
 current outbound spi: 0xFA94E73B(4204062523)
 PFS (Y/N): N, DH group: none

 inbound esp sas:
 spi: 0xFA94E73B(4204062523)
 transform: esp-aes ,
 in use settings =<span style="color: #ff0000;">{Transport, }</span>
 conn id: 1, flow_id: SW:1, sibling_flags 80000000, crypto map: GETMAP
 sa timing: remaining key lifetime (sec): (303)
 Kilobyte Volume Rekey has been disabled
 IV size: 16 bytes
 replay detection support: N
 Status: ACTIVE
!!!!...!!!!!
C2#sh crypto session
Crypto session current status

Interface: FastEthernet1/0
Session status: UP-ACTIVE
Peer: <span style="color: #ff0000;">0.0.0.0 port 848 </span>
 IKE SA: local 10.1.2.2/848 remote 10.1.1.2/848 Active
 IPSEC FLOW: permit ip 10.1.0.0/255.255.0.0 10.1.0.0/255.255.0.0
 Active SAs: 2, origin: crypto map
C2#sh crypto gdoi gm acl
Group Name: GETVPN1
 ACL Downloaded From KS 10.1.1.2:
 access-list  permit ip 10.1.0.0 0.0.255.255 10.1.0.0 0.0.255.255
 ACL Configured Locally:</pre>
<p>bon il y en a d&#8217;autres, mais maintenant on va conclure par un petit ping voir la différence ! Ce coup ci je vais pinger entre C2 et C3 et sniffer sur Core3 F2/0.</p>
<pre>Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 10.1.3.2, timeout is 2 seconds:
Packet has data pattern 0xDEAD
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 248/274/304 ms</pre>
<p>et la pas de suprise, on voit plus de traffic en clair, mais bien du traffic sécurisé via ESP.</p>
<pre>

<div id="attachment_550" class="wp-caption aligncenter" style="width: 310px"><a href="http://bmigette.fr/wp-content/uploads/2010/10/Frame_crypted.png"><img class="size-medium wp-image-550" title="Frame crypted" src="http://bmigette.fr/wp-content/uploads/2010/10/Frame_crypted-300x173.png" alt="" width="300" height="173" /></a><p class="wp-caption-text">Frame crypted</p></div></pre>
<p>voici la capture wireshark et les configs finales:</p>
<p><a href="http://bmigette.fr/wp-content/uploads/2010/10/trace_crypted.zip">trace crypted</a></p>
<p><a href="http://bmigette.fr/wp-content/uploads/2010/10/GETVPN_final.zip">GETVPN configs final</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bmigette.fr/2010/10/04/exemple-getvpn-avec-utilisation-du-ca-server-ios/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Présentation de l&#8217;IOS Get VPN</title>
		<link>http://bmigette.fr/2009/03/04/presentation-de-lios-get-vpn/</link>
		<comments>http://bmigette.fr/2009/03/04/presentation-de-lios-get-vpn/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 19:27:07 +0000</pubDate>
		<dc:creator>Bastien Migette</dc:creator>
				<category><![CDATA[CCSP]]></category>
		<category><![CDATA[Sécurité réseau]]></category>
		<category><![CDATA[SNRS]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[IPSEC]]></category>
		<category><![CDATA[sans tunnel]]></category>
		<category><![CDATA[tunneless]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://bmigette.fr/?p=243</guid>
		<description><![CDATA[Voici une petite présentation des fonctionnalités de l&#8217;IOS Get VPN. Nous ne verrons pas de configuration, puisque vous avez un bon exemple ici: http://www.ipflow.utc.fr/index.php/GET-VPN_Introduction Donc le GET VPN C&#8217;est quoi ? GET = Group Encrypted Transport, donc pour faire simple on vas chiffrer au niveau de la couche 4 par groupes, c&#8217;est à dire qu&#8217;on [...]]]></description>
			<content:encoded><![CDATA[<p>Voici une petite présentation des fonctionnalités de l&#8217;IOS Get VPN.<br />
Nous ne verrons pas de configuration, puisque vous avez un bon exemple ici:</p>
<p><a href="http://www.ipflow.utc.fr/index.php/GET-VPN_Introduction" target="_blank">http://www.ipflow.utc.fr/index.php/GET-VPN_Introduction</a></p>
<p>Donc le GET VPN C&#8217;est quoi ? GET = Group Encrypted Transport, donc pour faire simple on vas chiffrer au niveau de la couche 4 par groupes, c&#8217;est à dire qu&#8217;on vas utiliser un protocole (GDOI, qui se base sur ISAKMP) et un Key Server qui aura pour rôle d&#8217;envoyer les configuration aux équipements distants (group members). Les group members vont établir une SA vers le KS qui vas leur envoyer les paramètres de chiffrement de manière sécurisée. Ensuite, chaque group members, lorsqu&#8217;il voudra communiquer avec un autre, vas chiffrer uniquement à partir de la couche 4, c&#8217;est à dire que l&#8217;en tête IP n&#8217;est jamais modifiée. En gros, immaginons que l&#8217;on a un réseau non sécurisé avec du routage entre nos différents sites. J&#8217;ajoute les fonctionnalités GETVPN à mon réseau, et les échanges seront maintenant sécurisés sans l&#8217;utilisations de tunnels. Cela prend donc tout son intérêt dans le cadre du MPLS, le transport paquets du client étant gérés par le FAI.</p>
<p>Le principe est que le FAI doit acheminer des paquets de l&#8217;adressage privé du client entre les différents site, sans quoi le client devrait utiliser des tunnels. Le client est ensuite libre d&#8217;implémenter une solution GET VPN pour sécuriser son traffic transitant par son fournisseur d&#8217;accès.</p>
<p>Il faut bien comprendre que l&#8217;adressage privé/publique n&#8217;a rien à voir avec GETVPN, on pourrait très bien utilisé des connexions WAN dédiée, et implémenter GETVPN sur les routeurs des différents sites, mais il faudrait utiliser un protocole de tunneling pour que les paquets d&#8217;un réseau local soient transportable sur internet.</p>
<p>Le gros avantage de cette solution est de permettre du chiffrement any to any (tous les sites vers tous les sites), sans avoir d&#8217;interface tunnel, ce qui est couteux en terme de performance (encapsulation/décapsulation), et qui obligerait à avoir autant de tunnel vers les différents site (imaginons que l&#8217;on ait 10 sites, chaque site devrait avoir 10 tunnels&#8230;) , ou dans le cas d&#8217;une topologie hub and spoke, avoir un routeur qui fait tout le routage&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://bmigette.fr/2009/03/04/presentation-de-lios-get-vpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco IOS Zone Based Firewall</title>
		<link>http://bmigette.fr/2009/02/23/cisco-ios-zone-based-firewall/</link>
		<comments>http://bmigette.fr/2009/02/23/cisco-ios-zone-based-firewall/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 19:28:55 +0000</pubDate>
		<dc:creator>Bastien Migette</dc:creator>
				<category><![CDATA[CCSP]]></category>
		<category><![CDATA[IINS (ccna security)]]></category>
		<category><![CDATA[Sécurité réseau]]></category>
		<category><![CDATA[SNRS]]></category>
		<category><![CDATA[based]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[service-policy]]></category>
		<category><![CDATA[type inspect]]></category>
		<category><![CDATA[zone]]></category>
		<category><![CDATA[zone-member]]></category>
		<category><![CDATA[zone-pair]]></category>

		<guid isPermaLink="false">http://bmigette.fr/?p=196</guid>
		<description><![CDATA[Un article sur le futur de CBAC (http://bmigette.fr/2008/09/26/configuration-cbac/), le Zone based firewall, qu&#8217;est-ce que c&#8217;est, à quoi ça sert, comment ça se configure &#8230; Pour l&#8217;exemple, nous utiliseront cette topologie: Topologie dynagen: hostios = True sparsemem = True [localhost] [[2621XM]] image = ../images/C2600-AD.BIN ram = 96 idlepc = 0x81691494 [[ROUTER R1]] model = 2621XM [[ROUTER [...]]]></description>
			<content:encoded><![CDATA[<p>Un article sur le futur de CBAC (<a href="http://bmigette.fr/2008/09/26/configuration-cbac/" target="_blank">http://bmigette.fr/2008/09/26/configuration-cbac/</a>), le Zone based firewall, qu&#8217;est-ce que c&#8217;est, à quoi ça sert, comment ça se configure &#8230;<br />
Pour l&#8217;exemple, nous utiliseront cette topologie:</p>
<div id="attachment_125" class="wp-caption alignnone" style="width: 472px"><a href="http://bmigette.fr/wp-content/uploads/2009/01/topo_parp.jpg"><img class="size-full wp-image-125" title="topologie" src="http://bmigette.fr/wp-content/uploads/2009/01/topo_parp.jpg" alt="Topologie" width="462" height="78" /></a><p class="wp-caption-text">Topologie</p></div>
<p><span id="more-196"></span></p>
<p>Topologie dynagen:</p>
<pre>hostios = True
sparsemem = True

[localhost]

	[[2621XM]]
		image = ../images/C2600-AD.BIN
		ram = 96
		idlepc = 0x81691494

	[[ROUTER R1]]
		model = 2621XM

	[[ROUTER R2]]
		model = 2621XM
		F0/1 = R1 F0/0
		F0/0 = R3 F0/1

	[[ROUTER R3]]
		model = 2621XM</pre>
<p>On prendra R2 comme étant le routeur Firewall.</p>
<h2>Introduction</h2>
<p>Sur l&#8217;ancien modèle de firewall (CBAC &#8211; IP INSPECT), il fallait définir des ACLs, et surtout autant d&#8217;ACL que l&#8217;on avait d&#8217;interface utilisées pour le firewall. De plus, on ne pouvait spécifier très précisément l&#8217;inspection protocolaire. Avec le nouveau modèle de firewall, le principe est de regrouper les interfaces sous forme de zones, et de spécifier quel type de trafic peut passer d&#8217;une zone à une autre. Cela utilise des service-policy et class map (cisco MQF).</p>
<h2>Principes:</h2>
<p>Ce qui est nouveau:</p>
<ul>
<li>Application des politiques de sécurité entre les zones, pas par interfaces (une zone peut être constituée d&#8217;une ou plusieurs interfaces)</li>
<li>Il y a une politiques deny all par défaut (donc pas besoin d&#8217;ACL).</li>
<li>On peut, via l&#8217;utilisation de classmap, spécifier des politiques différentes par host et par subnet, ou par protocoles</li>
</ul>
<p>Note: On peut utiliser conjointement l&#8217;IOS firewall classic, et le zone based, sur des interfaces différentes (une interface qui fait partie d&#8217;une zone ne pourra faire d&#8217;inspection).</p>
<p>Il faut configurer les zones avant d&#8217;y ajouter des interfaces. et une interface ne peut faire partie que d&#8217;une seule zone à la fois. Les commandes pour créer une zone et y affecter des interfaces sont:</p>
<pre>Router(config)#zone security zone_securisee
Router(config-sec-zone)#description zone securise!
Router(config-sec-zone)#exit
Router(config)#interface fastEthernet 0/1
Router(config-if)#zone-member security zone_securisee</pre>
<p>Par défaut, le trafic sera supprimé entre:</p>
<ul>
<li>Une interface membre d&#8217;une zone vers une interface membre d&#8217;une autre zone</li>
<li>Une interface membre d&#8217;une zone vers une interface non membre d&#8217;aucune zone: <span style="color: #ff0000;"><span style="text-decoration: underline;">Ce traffic ne pourra être autorisé, même avec des ACL ou des service-policy, une interface faisant partie d&#8217;une zone ne peux communiquer qu&#8217;avec des interfaces dans une zone selon la configuration</span></span></li>
</ul>
<p>Et le trafic sera autorisé entre:</p>
<ul>
<li>Deux interface d&#8217;une même zone</li>
<li>Deux interface ne faisant partie d&#8217;aucune zone (comportement normal, sauf ACL)</li>
<li>D&#8217;une interface membre d&#8217;une zone vers le routeur (= zone &laquo;&nbsp;<span style="text-decoration: underline;"><strong>self</strong></span>&laquo;&nbsp;, correspond aux paquets destinés aux interfaces du routeur : on peut utilisée cette zone spéciale pour modifier le comportement du routeur)</li>
</ul>
<p>Note: On peut configurer des interfaces dans différentes VRFs dans une même zone, sous peu que le routage soit correct.</p>
<p>D&#8217;une zone à l&#8217;autre, trois actions peuvent être prises:</p>
<ul>
<li>Pass: Le trafic est autorisé à transiter d&#8217;une zone à l&#8217;autre</li>
<li>Inspect: Autoriser le trafic et inspecter le trafic retour (= ip inspect)</li>
<li>Drop: Supprimer le trafic</li>
</ul>
<p>Ces actions peuvent bien sur être appliquée différemment selon le type de trafic (à régler par les class-map).</p>
<p>Pour réguler le trafic entre deux zones, il faut créer une zone-pair, que l&#8217;on va créer entre deux zone. Une zone pair est <span style="color: #ff0000;"><strong>unidirectionnelle</strong></span>, il faudra donc créer deux zone-pair pour autoriser le trafic dans les deux sens. Pour autoriser le trafic, on utilisera des service policy, qui utiliseront des class-maps.</p>
<p>Création d&#8217;une zone-pair (après création d&#8217;une seconde zone):</p>
<pre>Router(config)#zone security zone_non_securisee
Router(config-sec-zone)#exit
Router(config)#int f0/0
Router(config-if)#zone-member security zone_non_securisee
Router(config-if)#exit
Router(config)#zone-pair security secure_vers_unsecure source zone_securisee destination zone_non_securisee
Router(config-sec-zone-pair)#service-policy type inspect XXX
Router(config-sec-zone-pair)#exit</pre>
<p>On distinguera deux types de class-map, et donc de service-policy, les type protocole (couche 7), et les autres (couche 3 et 4). Les class-map et service policy de couche 7 contiennent des options spécifique au protocole, mais ne peuvent être appliquée directement, il faudra passer par une policy classique. Voici un exemple:</p>
<pre>Router(config)#class-map type inspect <strong><span style="text-decoration: underline;">http</span></strong> l7_http_class
Router(config-cmap)#match ?
  flow      Flow based QoS parameters
  req-resp  HTTP request or response
  request   HTTP request
  response  HTTP response

Router(config-cmap)#match request ?
  arg          HTTP arguments
  body         HTTP body
  header       HTTP Request or Response header
  method       HTTP method
  port-misuse  Violation of HTTP port
  uri          HTTP uri
Router(config-cmap)#match request uri length gt 500
Router(config-cmap)#exit
!Creation de la policy
Router(config)#policy-map type inspect <strong><span style="text-decoration: underline;">http</span></strong> l7_http_policy
Router(config-pmap)#class l7_http_class
Router(config-pmap-c)#?
Policy-map class configuration commands:
  allow  Allow the packet
  exit   Exit from class action configuration mode
  log    Generate log message
  no     Negate or set default values of a command
  reset  Reset the connection
  &lt;cr&gt;

Router(config-pmap-c)#reset
Router(config-pmap-c)#exit
Router(config-pmap)#exit</pre>
<p>le mot clé <strong><span style="text-decoration: underline;">http</span></strong> correspond au protocole, non au nom de la map.</p>
<p>Création maintenant d&#8217;une classe map applicable à une zone-pair</p>
<pre>Router(config)#class-map type inspect ALL_HTTP_TRAFFIC
Router(config-cmap)#match protocol http
Router(config-cmap)#exit
Router(config)#policy-map type inspect My_Policy
Router(config-pmap)#class ALL_HTTP_TRAFFIC
Router(config-pmap-c)#service-policy http l7_http_policy
%Please configure inspect action first

Router(config-pmap-c)#inspect
Router(config-pmap-c)#service-policy http l7_http_policy
Router(config-pmap-c)#exit
Router(config-pmap)#exit</pre>
<p>Si j&#8217;appliques la policy My_Policy sur une zone-pair (ou sur une interface d&#8217;ailleurs), cela aura pour effet d&#8217;inspecter tout le traffic HTTP et de supprimer les requête HTTP d&#8217;on l&#8217;URI fait plus de 500 caractères.</p>
<p>Voici l&#8217;erreur que j&#8217;aurai eu si j&#8217;avais tenté d&#8217;attacher la policy l7:</p>
<pre>Router(config-sec-zone-pair)#service-policy type inspect l7_http_policy
Inspect service-policy attachment failed</pre>
<h2>Etude de cas:</h2>
<p>En reprenant la topologie ci dessus (on considéreras que le routage est déjà fait), je vais créer une politique permettant d&#8217;autoriser ICMP a travers le firewall et d&#8217;autoriser le trafic HTTP et HTTPS a travers le routeur depuis la zone sécurisée vers la zone non sécurisée.<br />
<strong><span style="text-decoration: underline;">Note: pour les protocoles de routages, ils sont à destination de la zone self, et sont donc autorisés par défaut.</span></strong></p>
<p>Création des politiques de sécurité</p>
<pre>R2(config)#class-map type inspect match-any HTTP_TRAFFIC
R2(config-cmap)#match protocol http
R2(config-cmap)#match protocol https
R2(config-cmap)#exit
R2(config)#class-map type inspect ICMP_TRAFFIC
R2(config-cmap)#match protocol icmp
R2(config-cmap)#exit
R2(config)#policy-map type inspect http_icmp_policy
R2(config-pmap)#class HTTP_TRAFFIC
R2(config-pmap-c)#inspect
R2(config-pmap-c)#class ICMP_TRAFFIC
R2(config-pmap-c)#pass
R2(config-pmap-c)#exit
R2(config-pmap)#exit
R2(config)#policy-map type inspect icmp_policy
R2(config-pmap)#class ICMP_TRAFFIC
R2(config-pmap-c)#pass
R2(config-pmap-c)#exit
R2(config-pmap)#exit</pre>
<p>créations des zones de sécurité et affectation aux interfaces</p>
<pre>R2(config)#zone security SECURE
R2(config-sec-zone)#exit
R2(config)#zone security UNSECURE
R2(config-sec-zone)#exit
R2(config)#interface f0/1
R2(config-if)#zone-member security SECURE
R2(config-if)#interface f0/0
R2(config-if)#zone-member security UNSECURE
R2(config-if)#exit
R2(config)#</pre>
<p>Et affectation des politiques de sécurité aux zone-pair.</p>
<pre>R2(config)#zone-pair security SECURE_TO_UNSECURE source SECURE dest UNSECURE
R2(config-sec-zone-pair)#service-policy type inspect http_icmp_policy
R2(config-sec-zone-pair)#exit
R2(config)#zone-pair security UNSECURE_TO_SECURE source UNSECURE dest SECURE
R2(config-sec-zone-pair)#service-policy type inspect icmp_policy
R2(config-sec-zone-pair)#exit
R2(config)#</pre>
<p>Et on teste, sur R1:</p>
<pre>R1#ping 192.168.1.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/27/68 ms
R1#telnet 192.168.1.2 80 <strong><span style="text-decoration: underline;">!test HTTP</span>
</strong>Trying 192.168.1.2, 80 ... <strong><span style="text-decoration: underline;">Open</span></strong>
zz
HTTP/1.1 400 Bad Request
Date: Fri, 01 Mar 2002 02:00:22 GMT
Server: cisco-IOS
Accept-Ranges: none

400 Bad Request

[Connection to 192.168.1.2 closed by foreign host]
R1#telnet 192.168.1.2 443 <strong><span style="text-decoration: underline;">!test HTTPS</span>
</strong>Trying 192.168.1.2, 443 ... <strong><span style="text-decoration: underline;">Open</span></strong>
s
[Connection to 192.168.1.2 closed by foreign host]</pre>
<p>sur R2:</p>
<pre>R3#ping 192.168.0.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/11/16 ms
R3#telnet 192.168.0.1 80 <strong><span style="text-decoration: underline;">!test HTTP</span></strong>
Trying 192.168.0.1, 80 ...
<strong><span style="text-decoration: underline;">% Connection timed out</span></strong>; remote host not responding

R3#telnet 192.168.0.1 443 <strong><span style="text-decoration: underline;"><strong><span style="text-decoration: underline;">!test HTTPS</span></strong></span></strong>
Trying 192.168.0.1, 443 ...
<strong><span style="text-decoration: underline;">% Connection timed out</span></strong>; remote host not responding

R3#</pre>
<p>Et voila!</p>
]]></content:encoded>
			<wfw:commentRss>http://bmigette.fr/2009/02/23/cisco-ios-zone-based-firewall/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dynamic Multipoint VPN (DMVPN) + Certificats</title>
		<link>http://bmigette.fr/2009/02/08/dmvpn-certificats/</link>
		<comments>http://bmigette.fr/2009/02/08/dmvpn-certificats/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 20:16:28 +0000</pubDate>
		<dc:creator>Bastien Migette</dc:creator>
				<category><![CDATA[CCSP]]></category>
		<category><![CDATA[Sécurité réseau]]></category>
		<category><![CDATA[SNRS]]></category>
		<category><![CDATA[Ca]]></category>
		<category><![CDATA[DMVPN]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[SCEP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[VPN]]></category>
		<category><![CDATA[windows 2003]]></category>

		<guid isPermaLink="false">http://bmigette.fr/?p=179</guid>
		<description><![CDATA[Voici un petit article pour la configuration de vpn dynamiques en utilisant des certificats. Fichier dynagen: ghostios = True sparsemem = True #workingdir = c:temp [localhost] [[3660]] image = ../images/C3660-JK.BIN ram = 128 idlepc = 0x604eb02c [[2621XM]] image = ../images/C2600-AD.BIN ram = 96 idlepc = 0x81691494 [[ROUTER IAR]] model = 3660 F0/0=NIO_gen_eth:vmnet1 #serveur CA F1/0=HUB [...]]]></description>
			<content:encoded><![CDATA[<p>Voici un petit article pour la configuration de vpn dynamiques en utilisant des certificats.</p>
<div id="attachment_184" class="wp-caption alignnone" style="width: 483px"><a href="http://bmigette.fr/wp-content/uploads/2009/02/topo3.png"><img class="size-full wp-image-184" title="Topologie" src="http://bmigette.fr/wp-content/uploads/2009/02/topo3.png" alt="Topologie" width="473" height="474" /></a><p class="wp-caption-text">Topologie</p></div>
<p><span id="more-179"></span>Fichier dynagen:</p>
<pre>ghostios   = True
sparsemem  = True
#workingdir = c:temp

[localhost]
	[[3660]]
	        image = ../images/C3660-JK.BIN
	        ram = 128
		idlepc = 0x604eb02c
	[[2621XM]]
		image = ../images/C2600-AD.BIN
		ram = 96
		idlepc = 0x81691494
    [[ROUTER IAR]]
        model = 3660
        F0/0=NIO_gen_eth:vmnet1 #serveur CA
	F1/0=HUB F0/0
	F2/0=SPOKE2 F0/0
	F3/0=SPOKE3 F0/0
    [[ROUTER HUB]]
        model = 2621XM
    [[ROUTER SPOKE2]]
      model = 2621XM
    [[ROUTER SPOKE3]]
        model = 2621XM</pre>
<p>Pour l&#8217;installation SCEP sous windows, c&#8217;est par ici: <a href="http://micronetsolution.net/Microsoft_CA_Cisco_setup.pdf" target="_blank">http://micronetsolution.net/Microsoft_CA_Cisco_setup.pdf</a> edit: Lien HS. Si quelqu&#8217;un à DL le fichier, qu&#8217;il me l&#8217;envoi par mail postmaster ar0base bmigette.Fr merci.</p>
<h3>Introduction:</h3>
<p>Dynamic multipoint VPN (DMVPN pour les intimes), qu&#8217;est-ce que c&#8217;est ? Les DMVPN utilisent mGRE (Multipoint GRE), et NHRP (Next Hop Resolution Protocol), pour former des tunnels à la volée, c&#8217;est à dire qu&#8217;on a pas besoin de connaitre les IP des peers distants, mais l&#8217;on va dynamiquement créer des liaisons point à point vers tous les routeurs dans le même groupe mGRE que nous. On pourrait comparer NHRP à l&#8217;ARP pour les tunnels multipoints, sauf que cela permet de passer d&#8217;une ip privée vers une ip publique. Cela à pour avantage de simplifier la configuration des routeurs, et permettre l&#8217;extensibilité, notemment en cas d&#8217;ajout d&#8217;un noeud. Du fait que les peers ne sont pas connu à l&#8217;avance, nous pouvons créer une clef isakmp par défaut (<a href="http://bmigette.fr/2009/02/01/isakmp-pre-shared-key-par-defaut/">http://bmigette.fr/2009/02/01/isakmp-pre-shared-key-par-defaut/</a>), ou, comme c&#8217;est le cas ici, utiliser une infrastucture PKI qui est plus sécurisée.</p>
<p>Il y a deux approches pour le DMVPN:</p>
<p>Hub and spoke, topologie dans laquelle le hub utilise une interface tunnel mGRE, et il n&#8217;y aura pas de tunnel direct entre les différents sites, le hub fera le routage entre les tunnels.<br />
Spoke To Spoke, les différents noeud distant établissent des tunnels entre eux de manière dynamiques, de manière à formé un réseau full mesh. C&#8217;est ce que nous allons voir ici.</p>
<p><strong><span style="text-decoration: underline;">Note: La notion HUB ici désignera simplement le routeur qui servira pour la résolution du Next Hop (ce sera le Next Hop Server, NHS), mais les tunnels se feront bien entre tous les routeurs</span></strong></p>
<h3>Etape 1: Configuration du serveur SCEP:</h3>
<p>Le protocole SCEP permets simplement à un équipement de demander un certificat auprès d&#8217;un CA. Nous allons installer le support SCEP sur un serveur Windows 2003 Server.</p>
<p>Dans le panneau de configuration, sélectionnez Add or remove windows component.Selectionnez ensuite Certificate services, et dans applications services cochez IIS. Téléchargez ensuite le support SCEP pour le service de certificat microsoft (cepsetup.exe):<br />
<a href="http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9f306763-d036-41d8-8860-1636411b2d01&amp;displaylang=en">http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9f306763-d036-41d8-8860-1636411b2d01&amp;displaylang=en</a></p>
<p>Installez l&#8217;outil en laissant les paramètres par défaut.<br />
Allez dans le gestionnaire IIS (start/administrative tools/Internet Information Services (IIS) Manager), puis déroullez &laquo;&nbsp;Application pools&nbsp;&raquo;, puis click droit sur SCEP,properties, et vérifiez que dans l&#8217;onglet properties, Predefined est coché, et que Local system est sélectionné.</p>
<p>Note: IIS est le serveur web microsoft, il est utilisé par SCEP. Attention à sa configuration (ne pas laisser de site par défaut&#8230;).</p>
<h3>Etape 2: Configuration de l&#8217;adressage :</h3>
<p>N&#8217;oubliez pas l&#8217;ip du serveur de certificat. Dans la réalité, le serveur de certificat serait relié par un adressage privé sur un des routeur et on utiliserait du nat, mais ce n&#8217;est pas le but ici.</p>
<p>Hub:</p>
<pre>Router(config)#hostname IAR
IAR(config)#int f0/0
IAR(config-if)#ip add 80.0.0.1 255.255.255.0
IAR(config-if)#no shut
IAR(config-if)#int f1/0
IAR(config-if)#ip add 80.0.1.1 255.255.255.0
IAR(config-if)#no shut
IAR(config-if)#int f2/0
IAR(config-if)#ip address 80.0.2.1 255.255.255.0
IAR(config-if)#no shut
IAR(config-if)#int f3/0
IAR(config-if)#ip add 80.0.3.1 255.255.255.0
IAR(config-if)#no shut</pre>
<p>Hub:</p>
<pre>Router&gt;en
Router#conf t
HUB(config)#int f0/0
HUB(config-if)#ip add 80.0.1.2 255.255.255.0
HUB(config-if)#no sh
HUB(config)#int loop1
HUB(config-if)#ip add 1.1.1.1 255.255.255.0</pre>
<p>Spoke2:</p>
<pre>Router&gt;en
Router#conf t
SPOKE2(config)#int f0/0
SPOKE2(config-if)#ip add 80.0.2.2 255.255.255.0
SPOKE2(config-if)#no sh
SPOKE2(config)#int loop1
SPOKE2(config-if)#ip add 2.2.2.2 255.255.255.0</pre>
<p>Spoke3:</p>
<pre>Router&gt;en
Router#conf t
SPOKE3(config)#int f0/0
SPOKE3(config-if)#ip add 80.0.3.2 255.255.255.0
SPOKE3(config-if)#no sh
SPOKE3(config)#int loop1
SPOKE3(config-if)#ip add 3.3.3.3 255.255.255.0</pre>
<p>Sur chaque routeur (sauf IAR):</p>
<pre>ip route 0.0.0.0 0.0.0.0 A.B.C.D</pre>
<h3>Etape 3: Enrollment des spoke et du hub sur le serveur de certificat.</h3>
<p>Pour cela, il faut sur les Spoke (inutile sur le Hub, il n&#8217;utilisera pas de certificats), tapez les commande suivantes:<br />
Note: Pensez aussi à vérifier la synchronisation de l&#8217;heure entre les équipements et le serveur, le meiux est d&#8217;utiliser un serveur NTP.</p>
<p>Dans l&#8217;ordre:</p>
<ul>
<li>Définir un nom d&#8217;hôtes</li>
<li>Définir un nom de domaine</li>
<li>Mapper le nom d&#8217;hôtes du serveur de certificat si le service DNS n&#8217;est pas utilisé</li>
<li>Supprimer les anciennes clé RSA</li>
<li>Générer des clés RSA 1024 Bits</li>
<li>Définir un CA (Certificate authority) de confiance</li>
<li>Ajouter le CA comme étant une Registration Authority (RA)</li>
<li>Spécifier l&#8217;url du serveur (vous avez du l&#8217;avoir lors de l&#8217;installation)</li>
<li>Obtenir la clé du serveur</li>
<li>Obtenir un certificat</li>
</ul>
<p><strong><span style="text-decoration: underline;">Pour la commnade crypto ca enroll, il faut le mot de passe SCEP du serveur. Ce mot de passe s&#8217;obtiens en se connecant ici:<br />
http://ca-server/certsrv/mscep/ (si votre serveur s&#8217;appelle ca-server). Pour vous logguer, utilisez un compte local (vu que vous avez mis local system à l&#8217;étape 1). Ce mot de passe est utilisable qu&#8217;une seule fois, il suffit de rafraîchir la page pour en obtenir un nouveau.</span></strong></p>
<pre>hostname device_name
ip domain-name yourdomain.com
ip host CA-Server A.B.C.D
crypto key zeroize rsa
crypto key generate rsa general-keys modulus 1024
crypto ca trustpoint your_trustpoint_name
  enrollment mode ra
  enrollment url http://CA-Server/certsrv/mscep/mscep.dll
  exit
crypto ca authenticate your_trustpoint_name
crypto ca enroll your_trustpoint_name</pre>
<p>Exemple pour SPOKE2:</p>
<pre>SPOKE2(config)#ip domain-name mynetwork.lan
SPOKE2(config)#ip host CA-Server 80.0.0.10
SPOKE2(config)#crypto key zeroize rsa
% No Signature RSA Keys found in configuration.

SPOKE2(config)#crypto key generate rsa general-keys modulus 1024
The name for the keys will be: SPOKE2.mynetwork.lan

% The key modulus size is 1024 bits
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]

SPOKE2(config)#crypto ca trustpoint myCaServer
SPOKE2(ca-trustpoint)#  enrollment mode ra
SPOKE2(ca-trustpoint)#$enrollment url http://CA-Server/certsrv/mscep/mscep.dll
SPOKE2(ca-trustpoint)#  exit
SPOKE2(config)#crypto ca authenticate myCaServer
Feb   16:47:54.363: %SSH-5-ENABLED: SSH 1.99 has been enabled
Certificate has the following attributes:
       Fingerprint MD5: 591609E4 D5171FFF 1A068C5C F5E4A507
      Fingerprint SHA1: 387CAF66 99B55B8A 4719C3FB 5174B6E0 56768896 

% Do you accept this certificate? [yes/no]: y
Trustpoint CA certificate accepted.
SPOKE2(config)#crypto ca enroll myCaServer
%
% Start certificate enrollment ..
% Create a challenge password. You will need to verbally provide this
   password to the CA Administrator in order to revoke your certificate.
   For security reasons your password will not be saved in the configuration.
   Please make a note of it.

Password: <span style="text-decoration: underline;"><strong>&lt;=Password from http://ca-server/certsrv/mscep/ </strong></span>
Re-enter password: <span style="text-decoration: underline;"><strong>&lt;=Password from http://ca-server/certsrv/mscep/ </strong></span>

% The subject name in the certificate will include: SPOKE2.mynetwork.lan
% Include the router serial number in the subject name? [yes/no]: yes
% The serial number in the certificate will be: 00000000000
% Include an IP address in the subject name? [no]: no
Request certificate from CA? [yes/no]: yes
% Certificate request sent to Certificate Authority
% The 'show crypto ca certificate myCaServer verbose' commandwill show the fingerprint.

SPOKE2(config)#
Feb  8 16:49:12.996: CRYPTO_PKI:  Certificate Request Fingerprint MD5: 17E8E0CC B33A4ED1 C5B2D917 3A1EBE6C
Feb  8 16:49:12.996: CRYPTO_PKI:  Certificate Request Fingerprint SHA1: 0BE3A8F3 6C28152D 38C8F0A5 B02C6FDF 8AED29A4
!Après avoir "issue" le certificate (voir la ligne en rouge <img src='http://bmigette.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )
Feb  8 20:45:22.767: %PKI-6-CERTRET: Certificate received from Certificate Authority</pre>
<p>Faire la même chose pour les autres routeurs.</p>
<p><span style="color: #ff0000;"><span style="text-decoration: underline;"><strong>Allez ensuite dans start/Administrative tools/Certification Authority, et sélectionnez pending request. Vous devriez avoir la liste des certificats de vos routers. Sélectionnez les, clique droit, all task, et cliquez sur issue !</strong></span></span></p>
<h3>Etape 3: Configuration ISAKMP avec Certificats et du profil IPSEC:</h3>
<p>Voici les commandes pour configurer ISAKMP:</p>
<pre>HUB(config)#crypto isakmp policy 1
HUB(config-isakmp)#hash sha
HUB(config-isakmp)#encryp aes
HUB<strong>(config-isakmp)#authen rsa-sig</strong>
HUB(config-isakmp)#group 5
HUB(config-isakmp)#exit</pre>
<p>A faire sur tous les spoke.</p>
<p>Il faut aussi créer un profile IPSEC qui sera utilisé pour sécuriser le tunnel:</p>
<pre>HUB(config)#crypto ipsec transform-set DMVPN_TSet esp-aes
HUB(cfg-crypto-trans)#exit
HUB(config)#crypto ipsec profile <strong><span style="color: #ff0000;">DMVPN_IPSEC_Profile</span></strong>
HUB(ipsec-profile)#set transform-set DMVPN_TSet
HUB(ipsec-profile)#exit</pre>
<p>A faire sur tous les spoke.</p>
<h3>Etape4: Configuration des interfaces mGRE:</h3>
<p>Note: attention au MTU! Les entêtes GRE utilisent 4octets, mGRE, 4 autres supplémentaires, et l&#8217;entête IP du tunnel 20octets.<br />
Pour le routage, il faut considérer que tous les routeurs vont être dans le même sous réseau. Au niveau des interfaces tunnel, cela va donner ceci:</p>
<p>HUB: 192.168.1.1/24<br />
SPOKE2: 192.168.1.2/24<br />
SPOKE3: 192.168.1.3/24</p>
<p>Ces adresses seront mappées à leur adresses publiques par le HUB qui utilisera NHRP. Il faudra donc dire à EIGRP (ou autre protocole de routage IGP), de ne pas avertir de routes pour le réseau du VPN avec son IP local (no ip next-hop-self eigrp {AS}), car sinon cela crééré des incohérences dans la table de routage. On désactivera aussi le split-horizon, sans quoi une mise à jour reçue par le tunnel ne serait pas réémise.</p>
<p>Configuration pour le hub:</p>
<ul>
<li>Création d&#8217;une interface tunnel</li>
<li>Attribution de l&#8217;ip privée du tunnel</li>
<li>Changement du MTU (mettre un MTU bas afin de s&#8217;assurer que les paquets ne seront pas fragmenter sur le chemin, mais qu&#8217;ils seront fragmentés avant d&#8217;êtres envoyés).</li>
<li>Créer un mot de passe NHRP</li>
<li>Indiquer que le mappage se fera de manière dynamique par NHRP</li>
<li>Indiquer le réseau NHRP (doit être le même sur les spoke)</li>
<li>Désactiver le split horizon (nous utiliseront EIGRP 65000 Plus tard)</li>
<li>Tunnel source et tunnel key (la clé doit être la même sur les spoke, ceci est optionnel, et peut être vu comme une sécurité assez basique: on ne pourra pas établir de tunnel sans deviner la clé).</li>
<li>Tunnel mGRE</li>
<li>Application du profile IPSEC</li>
</ul>
<pre>HUB(config)#interface Tunnel 0
HUB(config-if)#ip address 192.168.1.1 255.255.255.0
HUB(config-if)#ip mtu 1416
HUB(config-if)#no ip next-hop-self eigrp 65000
HUB(config-if)#ip nhrp authentication cisco123
HUB(config-if)#ip nhrp map multicast dynamic
HUB(config-if)#ip nhrp network-id 99
HUB(config-if)#no ip split-horizon eigrp 65000
HUB(config-if)#tunnel source FastEthernet 0/0
HUB(config-if)#tunnel key 999
HUB(config-if)#tunnel mode gre multipoint
HUB(config-if)#tunnel protection ipsec profile <span style="color: #ff0000;"><strong>DMVPN_IPSEC_Profile
</strong></span></pre>
<p>Pour les spoke:</p>
<ul>
<li>Création d&#8217;une interface tunnel</li>
<li>Attribution de l&#8217;ip privée du tunnel</li>
<li>Changement du MTU (mettre un MTU bas afin de s&#8217;assurer que les paquets ne seront pas fragmenter sur le chemin, mais qu&#8217;ils seront fragmentés avant d&#8217;êtres envoyés).</li>
<li>Créer un mot de passe NHRP</li>
<li>Faire un mappage dynamique NHRP pointant sur l&#8217;adresse du HUB.</li>
<li>Rediriger le multicast vers une adresse unicast (l&#8217;adresse publique du HUB). Cela permettras l&#8217;utilisation de protocole de routage dynamiques utilisant du multicast (EIGRP, OSPF&#8230;)</li>
<li>Indiquer l&#8217;adresse du NHS (Next Hop Server), qui indique le serveur qui contient le mapping IP publique/IP Tunnel.</li>
<li>Indiquer le réseau NHRP (doit être le même sur les spoke)</li>
<li>Désactiver le split horizon (nous utiliseront EIGRP 65000 Plus tard)</li>
<li>Tunnel source et tunnel key (la clé doit être la même sur les spoke, ceci est optionnel, et peut être vu comme une sécurité assez basique: on ne pourra pas établir de tunnel sans deviner la clé).</li>
<li>Tunnel mGRE</li>
<li>Application du profile IPSEC</li>
</ul>
<pre>SPOKE2(config)#interface Tunnel 0
SPOKE2(config-if)#ip address 192.168.1.2 255.255.255.0
SPOKE2(config-if)#ip mtu 1416
SPOKE2(config-if)#no ip next-hop-self eigrp 65000
SPOKE2(config-if)#ip nhrp authentication cisco123
SPOKE2(config-if)#ip nhrp map 192.168.1.1 80.0.1.2
SPOKE2(config-if)#ip nhrp map multicast 80.0.1.2
SPOKE2(config-if)#ip nhrp nhs 192.168.1.1
SPOKE2(config-if)#ip nhrp network-id 99
SPOKE2(config-if)#no ip split-horizon eigrp 65000
SPOKE2(config-if)#tunnel source FastEthernet 0/0
SPOKE2(config-if)#tunnel key 999
SPOKE2(config-if)#tunnel mode gre multipoint
SPOKE2(config-if)#tunnel protection ipsec profile <span style="color: #ff0000;"><strong>DMVPN_IPSEC_Profile</strong></span></pre>
<h3>Etape 5: Configuration du routage:</h3>
<p>Sur le hub:</p>
<pre>HUB(config)#router eigrp 65000
HUB(config-router)#net 1.1.1.0 0.0.0.255
HUB(config-router)#net 192.168.1.0 0.0.0.255
HUB(config-router)#no auto-summary
HUB(config-router)#exit</pre>
<p>Sur les spoke:</p>
<pre>SPOKE2(config)#router eigrp 65000
SPOKE2(config-router)#net 192.168.1.0 0.0.0.255
SPOKE2(config-router)#net 2.2.2.0 0.0.0.255
SPOKE2(config-router)#eigrp stub connected
SPOKE2(config-router)#exit</pre>
<pre>SPOKE3(config)#router eigrp 65000
SPOKE3(config-router)#net 192.168.1.0 0.0.0.255
SPOKE3(config-router)#net 3.3.3.3 0.0.0.255
SPOKE3(config-router)#eigrp stub connected
SPOKE3(config-router)#exit</pre>
<p>La fonction stub permet à EIGRP de ne pas apprendre toutes les routes du réseau, étant donné qu&#8217;il n&#8217;aura qu&#8217;un seul chemin possible. Le mot clef stub connected lui permet toutefois d&#8217;avertir ses routes connectées.</p>
<p>Voila tout doit marcher !!! Quelques commandes de vérifications:</p>
<p>Sur le hub</p>
<pre>HUB#sh crypto isakmp peers
Peer: 80.0.2.2 Port: 500 Local: 80.0.1.2
 Phase1 id: SPOKE2.mynetwork.lan
Peer: 80.0.3.2 Port: 500 Local: 80.0.1.2
 Phase1 id: SPOKE3.mynetwork.lan
HUB#sh ip nhrp dynamic
192.168.1.2/32 via 192.168.1.2, Tunnel0 created 00:06:47, expire 01:53:12
  Type: dynamic, Flags: unique nat registered
  NBMA address: 80.0.2.2
192.168.1.3/32 via 192.168.1.3, Tunnel0 created 00:06:44, expire 01:54:04
  Type: dynamic, Flags: unique nat registered
  NBMA address: 80.0.3.2</pre>
<p>Sur tout les routeurs:</p>
<pre>HUB#sh crypto ca certificates
<strong>Certificate</strong> <em><strong>! votre certificat</strong></em>
  Status: Available
  Certificate Serial Number: 61DEC674000000000008
  Certificate Usage: General Purpose
  Issuer:
    cn=ca-server
  Subject:
    Name: HUB.mynetwork.lan
    Serial Number: 00000000000
    hostname=HUB.mynetwork.lan
    serialNumber=00000000000
  CRL Distribution Points:

http://ca-server/CertEnroll/ca-server.crl

  Validity Date:
    start date: 18:51:17 UTC Feb 8 2009
    end   date: 19:01:17 UTC Feb 8 2010
  Associated Trustpoints: myCaServer 

<strong>CA Certificate </strong><em><strong>! Certificat du server</strong></em>
  Status: Available
  Certificate Serial Number: 4ED821D7E08FC8B74BC4E55A9500A3EA
  Certificate Usage: Signature
  Issuer:
    cn=ca-server
  Subject:
    cn=ca-server
  CRL Distribution Points:

http://labo-cisco/CertEnroll/ca-server.crl

  Validity Date:
    start date: 14:17:08 UTC Feb 8 2009
    end   date: 14:17:08 UTC Feb 8 2014
  Associated Trustpoints: myCaServer</pre>
<p>Les crypto map qui sont créées (une par peer distant, et ce automatiquement&#8230; C&#8217;est pas beau ?):</p>
<pre>HUB#sh crypto map
Crypto Map "Tunnel0-head-0" 65536 ipsec-isakmp
	Profile name: DMVPN_IPSEC_Profile
	Security association lifetime: 4608000 kilobytes/3600 seconds
	PFS (Y/N): N
	Transform sets={
		DMVPN_TSet,
	}

Crypto Map "Tunnel0-head-0" 65539 ipsec-isakmp
	Map is a PROFILE INSTANCE.
	Peer = 80.0.2.2
	Extended IP access list
	    access-list  permit gre host 80.0.1.2 host 80.0.2.2
	Current peer: 80.0.2.2
	Security association lifetime: 4608000 kilobytes/3600 seconds
	PFS (Y/N): N
	Transform sets={
		DMVPN_TSet,
	}

Crypto Map "Tunnel0-head-0" 65540 ipsec-isakmp
	Map is a PROFILE INSTANCE.
	Peer = 80.0.3.2
        Extended IP access list
	    access-list  permit gre host 80.0.1.2 host 80.0.3.2
	Current peer: 80.0.3.2
	Security association lifetime: 4608000 kilobytes/3600 seconds
	PFS (Y/N): N
	Transform sets={
		DMVPN_TSet,
	}
	Interfaces using crypto map Tunnel0-head-0:
		Tunnel0
HUB#sh crypto map
Crypto Map "Tunnel0-head-0" 65536 ipsec-isakmp
	Profile name: DMVPN_IPSEC_Profile
	Security association lifetime: 4608000 kilobytes/3600 seconds
	PFS (Y/N): N
	Transform sets={
		DMVPN_TSet,
	}

Crypto Map "Tunnel0-head-0" 65539 ipsec-isakmp
	Map is a PROFILE INSTANCE.
	Peer = 80.0.2.2
	Extended IP access list
	    access-list  permit gre host 80.0.1.2 host 80.0.2.2
	Current peer: 80.0.2.2
	Security association lifetime: 4608000 kilobytes/3600 seconds
	PFS (Y/N): N
	Transform sets={
		DMVPN_TSet,
	}

Crypto Map "Tunnel0-head-0" 65540 ipsec-isakmp
	Map is a PROFILE INSTANCE.
	Peer = 80.0.3.2
        Extended IP access list
	    access-list  permit gre host 80.0.1.2 host 80.0.3.2
	Current peer: 80.0.3.2
	Security association lifetime: 4608000 kilobytes/3600 seconds
	PFS (Y/N): N
	Transform sets={
		DMVPN_TSet,
	}
	Interfaces using crypto map Tunnel0-head-0:
		Tunnel0</pre>
<p>Et la table de routage:</p>
<pre>HUB#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 80.0.1.1 to network 0.0.0.0

     1.0.0.0/24 is subnetted, 1 subnets
C       1.1.1.0 is directly connected, Loopback1
     2.0.0.0/24 is subnetted, 1 subnets
D       2.2.2.0 [90/297372416] via 192.168.1.2, 00:07:06, Tunnel0
     3.0.0.0/24 is subnetted, 1 subnets
D       3.3.3.0 [90/297372416] via 192.168.1.3, 00:07:25, Tunnel0
     80.0.0.0/24 is subnetted, 1 subnets
C       80.0.1.0 is directly connected, FastEthernet0/0
C    192.168.1.0/24 is directly connected, Tunnel0
S*   0.0.0.0/0 [1/0] via 80.0.1.1</pre>
<p>Voila! Un petit lab qui m&#8217;a pris l&#8217;après midi (surotut l&#8217;histoire du issue certificate !!! Bref si vous avez des questions, direction les comments. Je vous mets les conf finales à télécharger: <a href="http://bmigette.fr/wp-content/uploads/2009/02/dmvpntar.gz">Configurations</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bmigette.fr/2009/02/08/dmvpn-certificats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration CBAC</title>
		<link>http://bmigette.fr/2008/09/26/configuration-cbac/</link>
		<comments>http://bmigette.fr/2008/09/26/configuration-cbac/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 23:06:19 +0000</pubDate>
		<dc:creator>Bastien Migette</dc:creator>
				<category><![CDATA[CCSP]]></category>
		<category><![CDATA[IINS (ccna security)]]></category>
		<category><![CDATA[Sécurité réseau]]></category>
		<category><![CDATA[SNRS]]></category>
		<category><![CDATA[vidéos]]></category>
		<category><![CDATA[CBAC]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[statefull]]></category>

		<guid isPermaLink="false">http://bmigette.fr/?p=40</guid>
		<description><![CDATA[Vidéo montrant la configuration et l&#8217;utilité de la fonctionnalité CBAC (Context based access control), présent sur les IOS Sécurité. Cela transforme un routeur en un parefeu à état avancé (deep packet inspection firewall), inspection des protocoles applicatifs (couche 7). Commentaires audio en anglais. Voir la vidéo]]></description>
			<content:encoded><![CDATA[<p>Vidéo montrant la configuration et l&#8217;utilité de la fonctionnalité CBAC (Context based access control), présent sur les IOS Sécurité. Cela transforme un routeur en un parefeu à état avancé (deep packet inspection firewall), inspection des protocoles applicatifs (couche 7).<br />
Commentaires audio en anglais.<br />
<a href="/vid.php?video=CBAC_configuration/CBAC_configuration.swf" target="_blank">Voir la vidéo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bmigette.fr/2008/09/26/configuration-cbac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

