You are on page 1of 16

Cisco IOS SPAN and RSPAN

Lesson Contents
 Restrictions
 SPAN Configuration
 RSPAN Configuration
Cisco Catalyst Switches have a feature called SPAN (Switch Port Analyzer) that lets
you copy all traffic from a source port or source VLAN to a destination interface.
This is very useful for a number of reasons:

 If you want to use wireshark to capture traffic from an interface that is


connected to a workstation, server, phone or anything else you want to sniff.
 Redirect all traffic from a VLAN to an IDS / IPS.
 Redirect all VoIP calls from a VLAN so you can record the calls.

The source can be an interface or a VLAN, the destination is an interface. You can
choose if you want to forward transmitted, received or both directions to the
destination interface.

When you use a destination interface on the same switch as your switch we call it
SPAN, when the destination is a remote interface on another switch we call
it RSPAN (Remote SPAN).  When using RSPAN you need to use a VLAN for your
RSPAN traffic so that traffic can travel from the source switch to the destination
switch.
When you use RSPAN you need to use a VLAN that carries the traffic that you are
copying. In the picture above you see SW1 which will copy the traffic from the
computer onto a “RSPAN VLAN”. SW2 doesn’t do anything with it while SW3 receives
the traffic and forwards it to a computer that has wireshark running. Make sure the
trunks between the switches allow the RSPAN VLAN.

SPAN and RSPAN are great but there are a couple of things you need to keep in
mind…

Restrictions
Both SPAN and RSPAN have some restrictions, I’ll give you an overview of the most
important ones:

 The source interface can be anything…switchport, routed port, access port,


trunk port, etherchannel, etc.
 When you configure a trunk as the source interface it will copy traffic from all
VLANs, however there is an option to filter this.
 You can use multiple source interfaces or multiple VLANs, but you can’t mix
interfaces and VLANs.
 It’s very simple to overload an interface. When you select an entire VLAN as
the source and use a 100Mbit destination interface…it might be too much.
 When you configure a destination port you will “lose” its configuration. By
default, the destination interface will only be used to forward SPAN traffic to.
However, it can be configured to permit incoming traffic from a device that is
connected to the destination interface.
 Layer 2 frames like CDP, VTP, DTP and spanning-tree BPDUs are not copied by
default but you can tell SPAN/RSPAN to copy them anyway.

This should give you an idea of what SPAN / RSPAN are capable of. The configuration
is pretty straight-forward so let me give you some examples…

SPAN Configuration
Let’s start with a simple configuration. I will use the example I showed you earlier:

Switch(config)#monitor session 1 source interface fa0/1

Switch(config)#monitor session 1 destination interface fa0/2

You can verify the configuration like this:

Switch#show monitor session 1

Session 1

---------

Type : Local Session


Source Ports :

Both : Fa0/1

Destination Ports : Fa0/2

Encapsulation : Native

Ingress : Disabled

As you can see, by default it will copy traffic that is transmitted and received (both)
to the destination port. If you only want the capture the traffic going in one direction
you have to specify it like this:

Switch(config)#monitor session 1 source interface fa0/1 ?

, Specify another range of interfaces

- Specify a range of interfaces

both Monitor received and transmitted traffic

rx Monitor received traffic only

tx Monitor transmitted traffic only

Just add rx or tx and you are ready to go. If interface FastEthernet 0/1 were a trunk
you could add a filter to select the VLANs you want to forward:

Switch(config)#monitor session 1 filter vlan 1 - 100

This filter above will only forward VLAN 1 – 100 to the destination. If you don’t want
to use an interface as the source but a VLAN, you can do it like this:

Switch(config)#monitor session 2 source vlan 1

Switch(config)#monitor session 2 destination interface fa0/3

I am unable to use session 1 for this because I am already using source interfaces
for that session. It’s also impossible to use the same destination interface for
another session. This is why I created another session number and picked
FastEthernet 0/3 as a destination.
 Configurations
 Switch
Want to take a look for yourself? Here you will find the final configuration of each
device.

So far so good? Let’s look at RSPAN!


RSPAN Configuration
To demonstrate RSPAN I will use a topology with two switches:

The idea is to forward traffic from FastEthernet 0/1 on SW1 to FastEthernet 0/1 on
SW2. There are a couple of things we have to configure here:

SW1(config)#vlan 100

SW1(config-vlan)#remote-span

SW2(config)#vlan 100

SW2(config-vlan)#remote-span

First we need to create the VLAN and tell the switches that it’s a RSPAN vlan. This is
something that is easily forgotten. Secondly we will configure the link between the
two switches as a trunk:
SW1(config)#interface fastEthernet 0/24

SW1(config-if)#switchport trunk encapsulation dot1q

SW1(config-if)#switchport mode trunk

SW2(config)#interface fastEthernet 0/24

SW2(config-if)#switchport trunk encapsulation dot1q

SW2(config-if)#switchport mode trunk

Now we can configure RSPAN:

SW1(config)#monitor session 1 source interface fastEthernet 0/1

SW1(config)#monitor session 1 destination remote vlan 100

This selects FastEthernet 0/1 as the source and VLAN 100 as the destination…

SW2(config)#monitor session 1 source remote vlan 100

SW2(config)#monitor session 1 destination interface fastEthernet 0/1

And on SW2, we select VLAN 100 as the source and FastEthernet 0/1 as its
destination. Here’s the output of the show monitor session command:

SW1#show monitor session 1

Session 1

---------

Type : Remote Source Session

Source Ports :

Both : Fa0/1

Dest RSPAN VLAN : 100

SW2#show monitor session 1


Session 1

---------

Type : Remote Destination Session

Source RSPAN VLAN : 100

Destination Ports : Fa0/1

Encapsulation : Native

Ingress : Disabled

That’s all there is to it.

DAI (inspection ARP dynamique)


Contenu de la leçon
 Configuration
 Conclusion
Dynamic ARP Inspection (DAI) est une fonction de sécurité qui protège l' ARP
(Address Resolution Protocol) qui est vulnérable à une attaque
comme l'empoisonnement ARP .

DAI vérifie tous les paquets ARP sur des interfaces non approuvées, il comparera les
informations contenues dans le paquet ARP avec la base de données de surveillance
DHCP et/ou une liste d'accès ARP. Si les informations contenues dans le paquet ARP
n'ont pas d'importance, elles seront abandonnées. Dans cette leçon, je vais vous
montrer comment configurer DAI. Voici la topologie que nous utiliserons :
Ci-dessus, nous avons quatre appareils, le routeur sur le côté gauche appelé "hôte"
sera un client DHCP, le routeur sur le côté droit est notre serveur DHCP et en haut,
nous avons un routeur qui sera utilisé comme attaquant. Le commutateur au milieu
sera configuré pour l'inspection ARP dynamique.

Configuration

Nous allons commencer par le commutateur, nous devons d'abord nous assurer
que toutes les interfaces sont dans le même VLAN :

SW1(config)#interface range fa0/1 - 3

SW1(config-if-range)#switchport mode access

SW1(config-if-range)#switchport access vlan 123

SW1(config-if-range)#spanning-tree portfast

Nous pouvons maintenant configurer la surveillance DHCP :


SW1(config)#ip dhcp snooping

SW1(config)#ip dhcp snooping vlan 123

SW1(config)#no ip dhcp snooping information option

Les commandes ci-dessus activeront la surveillance DHCP globalement, pour le


VLAN 123 et désactiveront l'insertion de l'option 82 dans les paquets
DHCP. N'oubliez pas de rendre l'interface qui se connecte au serveur DHCP de
confiance :

SW1(config)#interface FastEthernet 0/3

SW1(config-if)#ip dhcp snooping trust

Le commutateur gardera désormais une trace des messages DHCP. Configurons un


serveur DHCP sur le routeur du côté droit :

DHCP(config)#ip dhcp pool MY_POOL

DHCP(dhcp-config)#network 192.168.1.0 255.255.255.0

C'est tout ce dont nous avons besoin, voyons si l'hôte est capable d'obtenir une
adresse IP :

HOST(config)#interface FastEthernet 0/0

HOST(config-if)#ip address dhcp

Quelques secondes plus tard, nous voyons ce message :

%DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.1.1, mask


255.255.255.0, hostname HOST

Vérifions si notre commutateur a stocké quelque chose dans la base de données de


surveillance DHCP :

SW1#show ip dhcp snooping binding


MacAddress IpAddress Lease(sec) Type VLAN Interface

------------------ --------------- ---------- ------------- ---- --------------------

00:1D:A1:8B:36:D0 192.168.1.1 86330 dhcp-snooping 123 FastEthernet0/1

Total number of bindings: 1

Voilà, une entrée avec l'adresse MAC et l'adresse IP de notre hébergeur. Nous


pouvons maintenant continuer avec la configuration de DAI. Il n'y a qu'une seule
commande requise pour l'activer :

SW1(config)#ip arp inspection vlan 123

Le commutateur va maintenant vérifier tous les paquets ARP sur les interfaces non
approuvées, toutes les interfaces sont non approuvées par défaut. Voyons si cela
fonctionnera ou non… Je vais configurer l'adresse IP de notre hébergeur sur notre
attaquant :

ATTACK(config)#interface FastEthernet 0/0

ATTACK(config-if)#ip address 192.168.1.1 255.255.255.0

Voyons maintenant ce qui se passe lorsque nous essayons d'envoyer un ping de


l'attaquant à notre routeur DHCP :

ATTACK#ping 192.168.1.254

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.254, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

Le ping échoue… qu'en pense notre switch ?

SW1#
%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa0/2, vlan 123.
([0017.5aed.7af0/192.168.1.1/0000.0000.0000/192.168.1.254/01:20:08 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa0/2, vlan 123.


([0017.5aed.7af0/192.168.1.1/0000.0000.0000/192.168.1.254/01:20:10 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa0/2, vlan 123.


([0017.5aed.7af0/192.168.1.1/0000.0000.0000/192.168.1.254/01:20:10 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Fa0/2, vlan 123.


([0017.5aed.7af0/192.168.1.1/0000.0000.0000/192.168.1.254/01:20:10 UTC Tue Mar 2 1993])

Ci-dessus, vous pouvez voir que toutes les requêtes ARP de notre attaquant sont
abandonnées. Le commutateur vérifie les informations trouvées dans la requête
ARP et les compare avec les informations de la base de données de surveillance
DHCP. Puisqu'il ne correspond pas, ces paquets sont rejetés. Vous pouvez trouver le
nombre de paquets ARP abandonnés avec la commande suivante :

SW1#show ip arp inspection

Source Mac Validation : Disabled

Destination Mac Validation : Disabled

IP Address Validation : Disabled

Vlan Configuration Operation ACL Match Static ACL

---- ------------- --------- --------- ----------

123 Enabled Active

Vlan ACL Logging DHCP Logging Probe Logging

---- ----------- ------------ -------------

123 Deny Deny Off


Vlan Forwarded Dropped DHCP Drops ACL Drops

---- --------- ------- ---------- ---------

123 0 5 5 0

Vlan DHCP Permits ACL Permits Probe Permits Source MAC Failures

---- ------------ ----------- ------------- -------------------

123 0 0 0 0

Vlan Dest MAC Failures IP Validation Failures Invalid Protocol Data

---- ----------------- ---------------------- ---------------------

Vlan Dest MAC Failures IP Validation Failures Invalid Protocol Data

---- ----------------- ---------------------- ---------------------

123 0 0 0

Ci-dessus, vous voyez le nombre de gouttes augmenter. Jusqu'ici tout va bien, notre


agresseur a été stoppé. Nous avons encore un problème cependant, permettez-moi
d'abord de fermer l'interface sur notre attaquant avant de continuer :

ATTACK(config)#interface FastEthernet 0/0

ATTACK(config-if)#shutdown

Laissez-moi vous montrer ce qui se passe lorsque nous essayons d'envoyer un ping
de l'hôte à notre routeur DHCP :

HOST#ping 192.168.1.254

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.254, timeout is 2 seconds:


.....

Success rate is 0 percent (0/5)

Ce ping échoue mais pourquoi? Nous n'usurpons rien... voici ce que le commutateur


nous dit :

SW1#

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/3, vlan 123.


([0016.c7be.0ec8/192.168.1.254/001d.a18b.36d0/192.168.1.1/01:24:48 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/3, vlan 123.


([0016.c7be.0ec8/192.168.1.254/001d.a18b.36d0/192.168.1.1/01:24:50 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/3, vlan 123.


([0016.c7be.0ec8/192.168.1.254/001d.a18b.36d0/192.168.1.1/01:24:52 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/3, vlan 123.


([0016.c7be.0ec8/192.168.1.254/001d.a18b.36d0/192.168.1.1/01:24:54 UTC Tue Mar 2 1993])

%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/3, vlan 123.


([0016.c7be.0ec8/192.168.1.254/001d.a18b.36d0/192.168.1.1/01:24:56 UTC Tue Mar 2 1993])

Notre commutateur abandonne les réponses ARP du routeur DHCP à notre


hôte. Comme le routeur DHCP ne sait pas comment atteindre l'hôte, le ping échoue :

HOST#show ip arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 192.168.1.1 - 001d.a18b.36d0 ARPA FastEthernet0/0

Internet 192.168.1.254 0 Incomplete ARPA

DHCP#show ip arp

Protocol Address Age (min) Hardware Addr Type Interface

Internet 192.168.1.1 0 001d.a18b.36d0 ARPA FastEthernet0/0

Internet 192.168.1.254 - 0016.c7be.0ec8 ARPA FastEthernet0/0

Pourquoi le commutateur abandonne-t-il la réponse ARP ? Le problème est que le


routeur DHCP utilise une adresse IP statique. DAI vérifie la base de données de
surveillance DHCP pour tous les paquets qui arrivent sur des interfaces non fiables,
lorsqu'il ne trouve pas de correspondance… le paquet ARP est abandonné. Pour
résoudre ce problème, nous devons créer une entrée statique pour notre routeur
DHCP :

SW1(config)#arp access-list DHCP_ROUTER

SW1(config-arp-nacl)#permit ip host 192.168.1.254 mac host 0016.c7be.0ec8

Nous créons d'abord une liste d'accès ARP avec une déclaration d'autorisation pour
l'adresse IP et l'adresse MAC du routeur DHCP. Maintenant, nous devons appliquer
ceci à DAI :

SW1(config)#ip arp inspection filter DHCP_ROUTER vlan 123 ?

static Apply the ACL statically

Nous utilisons la commande ip arp inspection filter pour cela, mais vous devez
faire attention… si vous utilisez le paramètre « statique », nous disons au
commutateur de ne pas vérifier la base de données de surveillance DHCP. Il ne
vérifiera que notre liste d'accès ARP et lorsqu'il ne trouvera pas d'entrée, le paquet
ARP sera abandonné. Assurez-vous d'ajouter le filtre sans le paramètre statique :

SW1(config)#ip arp inspection filter DHCP_ROUTER vlan 123

Nous y voilà. Le commutateur vérifiera d'abord la liste d'accès ARP et lorsqu'il ne


trouvera pas de correspondance, il vérifiera la base de données de surveillance
DHCP. Essayons à nouveau ce ping :

HOST#ping 192.168.1.254

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.254, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms

Excellent, notre ping fonctionne maintenant grâce à l'entrée statique du routeur


DHCP. Une autre façon de traiter ce problème consiste à configurer l'interface
comme étant de confiance. DAI autorisera tous les paquets ARP sur des interfaces
approuvées :

SW1(config)#interface FastEthernet 0/3

SW1(config-if)#ip arp inspection trust

Que pouvons-nous faire d'autre avec DAI ? Il existe des vérifications de sécurité
supplémentaires que vous pouvez activer si vous le souhaitez :

SW1(config)#ip arp inspection validate ?

dst-mac Validate destination MAC address

ip Validate IP addresses

src-mac Validate source MAC address

Voici ce que signifient ces options :

 dst-mac : vérifie l'adresse MAC de destination dans l'en-tête Ethernet par


rapport à l'adresse MAC cible dans le paquet ARP. Cette vérification est
effectuée pour les réponses ARP. Les réponses ARP avec des adresses MAC
différentes seront supprimées.
 ip : vérifie les adresses IP invalides et inattendues. Par exemple 0.0.0.0,
255.255.255.255 et les adresses multicast.
 src-mac : vérifie l'adresse MAC source dans l'en-tête Ethernet par rapport à
l'adresse MAC de l'expéditeur dans le paquet ARP. Cette vérification est
effectuée pour les demandes et les réponses ARP. Les paquets ARP avec
différentes adresses MAC seront supprimés.

Vous ne pouvez activer qu'une seule de ces options à la fois. Voici un exemple


d'activation de la vérification dst-mac :

SW1(config)#ip arp inspection validate dst-mac

Enfin, nous pouvons également configurer la limitation du débit ARP. Par défaut, il


existe une limite de 15 pps pour le trafic ARP sur des interfaces non
approuvées. Voici comment vous pouvez le modifier :

SW1(config)#interface FastEthernet 0/1


SW1(config-if)#ip arp inspection limit rate 10

Cette interface n'autorise désormais que 10 paquets ARP par seconde.

Conclusion
C'est tout ce que nous avons pour DAI (Dynamic ARP Inspection). C'est une
fonctionnalité de sécurité intéressante, mais assurez-vous d'avoir des listes d'accès
ARP en place pour tous les appareils avec des adresses IP statiques avant de
l'activer. Vous ne voulez pas bloquer la majeure partie de votre trafic après l'avoir
activé.

You might also like