Вы находитесь на странице: 1из 44

Seguridad en Capa 2

Ataques. Contramedidas. Buenas prcticas.

Contenidos
Porqu asegurar la capa 2? Mitos de la capa 2 Ataques basados en MAC y A P Ataques basados en !"A# Ataques basados en $%P Contramedidas Buenas Prcticas

Porqu asegurar la capa 2?


$eg&n el 'B( el )*+ de los ataques pro,ienen del interior de la organi-aci.n. //+ de los puertos 0o bocas1 de las redes "A# corporati,as estn 2desprotegidos3. 4s decir5 cualquiera puede conectarse a ellos. "a mayor6a de las empresas est desplegando redes in7almbricas 0aunque no lo sepan1. "as 7erramientas dise8adas para simpli9icar el traba:o de los administradores de red per:udican seriamente la seguridad de la red corporati,a.

Porqu asegurar la capa 2?


4l modelo ;$( est pensado para que cada capa opere independiente de las dems.

Porqu asegurar la capa 2?


4sto signi9ica que una capa puede ser comprometida sin que las dems lo noten.

Mitos de la capa 2
"as direcciones MAC no pueden ser 9alsi9icadas. <n s=itc7 no permite 7acer sni99ing. "as !"A#s estn completamente aisladas unas de otras.

Ataques basados en MAC y ARP


CAM %able ;,er9lo=. A P $poo9ing Ataques que emplean A P $poo9ing.

CAM Table Overflo


"os s=itc7s guardan las asociaciones MAC> Puerto e in9ormaci.n de !"A# a medida que las 2aprenden3 en un tabla llamada tabla CAM. "a tabla CAM de un s=itc7 tiene un tama8o 9i:o y 9inito. Cuando la tabla CAM no tiene espacio para almacenar ms asociaciones MAC>Puerto en,6a a todos los puertos las tramas que tengan una direcci.n MAC destino no almacenada en la tabla CAM. 0Act&a como un ?<B para cualquier MAC que no 7aya aprendido1

CAM Table Overflo


4@iste un ataque te.rico desde Mayo de A///. $e basa en el tama8o limitado de la tabla CAM. Para reali-ar el ataque s.lo 7ace 9alta en,iar gran n&mero de tramas con direcciones MAC distintas 0usualmente generadas al a-ar1 a cualquier puerto del s=itc7 7asta que se llene la tabla CAM. $e desarroll. una 7erramienta para tal 9in llamada macof en Mayo de A///. Actualmente es parte del paquete Bsni99 0C#<D"inu@1.

CAM Table Overflo

Antes del ataque

Luego del ataque

Captura en el puerto !no trun"# de la $aquina %&'%'%'%(


10.1.1.22 -> (broadcast) ARP C Who is 10.1.1.1, 10.1.1.1 ? 10.1.1.22 -> (broadcast) ARP C Who is 10.1.1.19, 10.1.1.19 ? 10.1.1.26 -> 10.1.1.25 ICMP 10.1.1.25 -> 10.1.1.26 ICMP cho r!"#!st (I$% 256 &!"#!'c! '#(b!r% )*2*) cho r!-./ (I$% 256 &!"#!'c! '#(b!r% )*2*) ++P&,,, ++P&,,,

Address Resolution Protocol


"a solicitud A P se coloca en una trama broadcast y se en,6a. %odas las estaciones reciben la trama y e@aminan el pedido. "a estaci.n mencionada en el pedido contesta y todas las demas estaciones procesan la misma.

Solicitudes ARP )ratuitas


"as solicitudes A P gratuitas son empleadas por dispositi,os para 2anunciar3 su direcci.n (P a los dems dispositi,os. "os dems dispositi,os de red utili-an las solicitudes A P gratuitas para actuali-ar su cac7 A P. $e colocan en tramas broadcast al igual que las solicitudes A P.

?ost EF 2$oy A.2.G.H y mi MAC es A2FGHFIJFK)F/AFBC3

ARP Spoofing
A P no proporciona seguridad o alg&n mecanismo para reser,ar direcciones (P o MAC. Lu ocurrir6a en este caso?

?ost EF 2$oy A.2.G.A y mi MAC es A2FGHFIJFK)F/AFBC3 4perar unos segundos ?ost EF 2$oy A.2.G.A y mi MAC es A2FGHFIJFK)F/AFBC3

ARP Spoofing
4l ?ost M y el ?ost N probablemente ignoren la trama a menos que tengan una entrada para A.2.G.A en su cac7 A P.

Cuando uno de los 7osts pida la MAC de A.2.G.A el router ,a a responder y esta MAC ,a a permanecer 7asta que el ?ost E transmita otra solicitud A P gratuita. 4n algunos $; inclusi,e las entradas A P estticas son sobreescritas por las solicitudes A P gratuitas.

Ataques que usan ARP Spoofing


$=itc7 Port $tealing 0$ni99ing1F <tili-ando A P $poo9ing el atacante consigue que todas las tramas dirigidas 7acia otro puerto del s=itc7 lleguen al puerto del atacante para luego re>en,iarlos 7acia su destinatario y de esta manera poder ,er el tr9ico que ,ia:a desde el remitente 7acia el destinatario 0<na especie de sni99ig 7al9>duple@1. Man in t7e Middle 0$ni99ing1F <tili-ando A P $poo9ing el atacante logra que todas las tramas que intercambian las ,6ctimas pasen primero por su equipo 0(nclusi,e en ambientes s=itc7eados1.

Ataques que usan ARP Spoofing


$ecuestro 0?i:acOing1F <tili-ando A P $poo9ing el atacante puede lograr redirigir el 9lu:o de tramas entre dos dispositi,os 7acia su equipo. As6 puede lograr colocarse en cualquiera de los dos e@tremos de la comunicaci.n 0pre,ia des7abilitaci.n del correspondiente dispositi,o1 y secuestrar la sesi.n. Benial o9 ser,ice 0Bo$1F <tili-ando A P $poo9ing el atacante puede 7acer que un equipo cr6tico de la red tenga una direcci.n MAC ine@istente. Con esto se logra que las tramas dirigidas a la (P de este dispositi,o se pierdan.

Ataques basados en *+A,


Binamic %runOing protocol. !"A# ?opping AttacO. Bouble 4ncapsulated !"A# ?opping AttacO. !"A# %runOing Protocol

Puertos Trun"

"os puertos trunO por de9ault tienen acceso a todas las !"A#s. $e los emplea para transmitir tr9ico de m&ltiples !"A#s a tra,s del mismo enlace 96sico 0generalmente empleado para conectar s=itc7es1. "a encapsulaci.n puede ser (444 )*2.AL o ($".

-ina$ic Trun" Protocol !-TP#

Automati-a la con9iguraci.n de los trunO )*2.ALD($". $incroni-a el modo de trunOing en los e@tremos. ?ace innecesaria la inter,enci.n administrati,a en ambos e@tremos. 4l estado de B%P en un puerto trunO puede ser 2Auto35 2;n35 2;9935 2Besirable35 o 2#on>#egotiate3. Por de9ault en la mayor6a de los s=itc7s es 2Auto3.

*+A, .opping Attac"

<n equipo puede 7acerse pasar como un s=itc7 con )*2.ALD($" y B%P5 o bien se puede emplear un s=itc7. 4l equipo se ,uel,e miembro de todas las !"A#. equiere que el puerto este con9igurado con trunOing automtico.

-ouble Tagged *+A, .opping Attac"

$e en,ian una trama )*2.AL de la !"A# de la ,6ctima dentro de otra trama )*2.AL de nuestra !"A#. "os s=itc7s desencapsulado. reali-an un solo ni,el de

$olo permite tr9ico en una sola direcci.n. $.lo 9unciona si la !"A# nati,a del trunO es la misma a la que pertenece el atacante. 'unciona aunque el puerto del atacante tenga desacti,ado el trunOing.

Protocolos de Control Cisco


$e los emplea para negociar el estado de los puertos trunO5 intercambiar in9ormaci.n de !"A#5 etc. Cisco Bisco,ery Protocol 0CBP1 y !"A# %runOing Protocol 0!%P15 dos protocolos de control de cisco com&nmente usados5 se transmiten por la !"A# A. $i la !"A# A es quitada de un puerto trunO5 a pesar que no se transmite tr9ico de los usuarios5 el s=itc7 contin&a usndola para transmitir cierta in9ormaci.n de control.

*+A, Trun"ing Protocol !*TP#

$e lo emplea para distribuir con9iguraciones de !"A# a tra,s de m&ltiples dispositi,os. !%P se emplea &nicamente en puertos trunO. !%P puede causar muc7os incon,enientes. !%P emplea autenticaci.n considere usar MBI. $i un atacante logra que su puerto se con,ierta en trunO5 puede en,iar mensa:es !%P como si 9uera un ser,idor !%P sin !"A#s con9iguradas. Cuando los demas s=itc7es reciban el mensa:e eliminarn todas sus !"A#s.

Ataques basados en STP

Spanning Tree Protocol

Creado para lograr topolog6as libres de bucles en in9restructuras de capa 2 redundantes. 4,itar bucles asegura que el tra9ico broadcast no se ,uel,a una tormenta 0broadcast storm1. Pro,ee ser,icios de recuperaci.n de rutas.

Ataques basados en STP


4l atacante en,6a mensa:es BPB< 9or-ando reclculos $%P. 4l atacante en,6a mensa:es BPB< para con,ertirse en root. 4l atacante se con,ierte en root con lo cual puede ,er tramas que no deber6a 0esto permite ataques MiM5 Bo$5 etc1 ?ace 9alta que el atacante este conectado a dos s=itc7es simultneamente.

Ataques basados en STP


4l atacante en,6a mensa:es BPB< anuncindose como bridge con prioridad *. 4l atacante se ,uel,e root. 4l bacObone pasa de ser C4 a ser '4. $i se lo combina con MAC 9looding este ataque puede permitir capturar ms tramas.

Contra$edidas
Ataques MAC y A P
Storm Control. Protected Ports. Port Security.

Ataques !"A# Ataques $%P

Stor$ Control
<na tormenta de paquetes ocurre cuando se reciben en un puerto gran n&mero de paquetes broadcast5 unicast o multicast. een,iar esos paquetes puede causar una reducci.n de la per9ormance de la red e incluso la interrupci.n del ser,icio. $torm Control usa umbrales para bloquear y restaurar el reen,6o de paquetes broadcast5 unicast o multicast. <sa un mtodo basado en anc7o de banda. "os umbrales se e@presan como un procenta:e del total de anc7o de banda que puede ser empleado para cada tipo de tr9ico.

Stor$ Control !/0e$plo#


Beseamos con9igurar el puerto AI del s=itc7 para que si el tr9ico broadcast supere el HI+ del anc7o de banda disponible en,6e una alerta.
&0itch> !'ab.! &0itch1 co'2i3#r! t!r(i'a. &0itch(co'2i3)1 i't!r2ac! 4ast th!r'!t 0515 ($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 stor(-co'tro. broadcast .!7!. *5 &0itch(co'2i3-i2)1 stor(-co'tro. actio' tra&0itch(co'2i3-i2)1 !'d

"as opciones completas sonF

($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) stor(-co'tro. {broadcast | (#.ticast | #'icast} .!7!. level [level-low] stor(-co'tro. actio' {sh#tdo0' | tra-}

Protected Ports
Ciertas aplicaciones requieren que nos se reen,6e tr9ico entre puertos en un mismo s=itc7 de manera que un equipo no ,e el tr9ico generado por otro 0inclusi,e tr9ico broadcast y multicast1. #o se puede reen,iar tr9ico entre puertos protegidos a ni,el de capa 2. 4l tr9ico entre puertos protegidos debe ser reen,iado a tra,s de un dispositi,o de capa G. 4l reen,io de tr9ico entre puertos protegidos y no protegidos se reali-a de manera normal.

Protected Ports

Para con9igurar un puerto como protegidoF

($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s0itch-ort -rot!ct!d &0itch(co'2i3-i2)1 !'d

Port Security
Con:unto de medidas de seguridad a ni,el de puertos disponibles en la mayor6a de los s=itc7s de gama media y alta. "a 9unciones pro,istas dependen de la marca5 el modelo y la ,ersi.n de 9irm=are del s=itc7 en cuesti.n. Permite entre otras cosasF
estringir el acceso a los puertos seg&n la MAC. estringir el numero de MACs por puerto. eaccionar de di9erentes maneras a ,iolaciones de las restricciones anteriores. 4stablecer la duraci.n de las asociaciones MAC>Puerto.

Port Security !/0e$plo#


Beseamos con9igurar el puerto AI del s=itc7 para que no acepte ms de dos direcciones MAC.
&0itch> !'ab.! &0itch1 co'2i3#r! t!r(i'a. &0itch(co'2i3)1 i't!r2ac! 4ast th!r'!t 0515 ($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s0itch-ort (od! acc!ss &0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ &0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ (a8i(#( 2

#o se puede acti,ar port security en puertos dynamic access o trunO. Port $ecurity est desacti,ado por de9ault. Por de9ault port security s.lo almacena una sola MAC por puerto.

Port Security !/0e$plo#


Adems podemos especi9icar qu 7acer si ese n&mero de direcciones MAC es superado 0por de9ault des7abilitar el puerto1F

Lue de:e de aprender


&0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ 7io.atio' -rot!ct

Lue en,6e una alerta administrati,a


&0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ 7io.atio' r!strict

Lue que des7abilite el puerto


&0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ 7io.atio' sh#tdo0'

Port Security !/0e$plo#


%ambin permiten agregar una lista esttica de direcciones MAC autori-adas a conectarse a ese puerto5 para esto se usar6an estos comandosF
($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ (ac-addr!ss stic9/ &0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ (ac-addr!ss (ac-addr!ss 000a.5!5a.1:1b

Con la primera linea le digo que agregue las MACs que ,a aprendiendo a la lista de MACs seguras. Con la segunda que agregue la MAC **F*aFIeFIaFA)FAb a la lista de MACs seguras. $i no agrego una segunda MAC5 la primera MAC que escuc7e distinta a **F*aFIeFIaFA)FAb ser agregada a la lista de MACs seguras.

Port Security !/0e$plo#


4s posible adems establecer el tiempo en que se ,a a conser,ar una MAC en la lista de MACs segurasF
($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) s0itch-ort -ort-s!c#rit/ a3i'3 {static ; ti(! time | t/-! {abso.#t! ; i'acti7it/}}

%ipo absolutoF "as direcciones MAC seguras son borradas de la lista luego de # minutos. %ipo inacti,ityF "as direcciones MAC seguras son borradas de la lista luego de # minutos de inacti,idad. Aging staticF elimina o no las direcciones MAC ingresadas de manera esttica al cumplirse el pla-o. Aging timeF de9ine el numero de minutos.

Port Security !/0e$plo#


?agamos que las direcciones MAC que el puerto AI aprende de manera dinmica no duren ms de 2 minutos si la estaci.n no genera tr9icoF
($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 'o s0itch-ort -ort-s!c#rit/ a3i'3 static &0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ a3i'3 ti(! 2 &0itch(co'2i3-i2)1 s0itch-ort -ort-s!c#rit/ a3i'3 t/-! i'acti7it/

Con la primera linea le digo que no elimine las MACs agregadas de manera esttica. Con la segunda estable-co el tiempo en dos minutos. Por &ltimo5 le digo que deben transcurrir dos minutos de inacti,idad antes de eliminar la direcci.n MAC.

Ataques *+A,
Bes7abilitar auto trunOing para todas las inter9acesF
($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s0itch-ort (od! acc!ss

Bes7abilitar !%PF
($!'tro d!. (odo co'2i3#raci6' 3.oba.) &0itch(co'2i3)1 7t- (od! tra's-ar!'t

$i es realmente necesario5 usar la ,ersi.n 2F


($!'tro d!. (odo co'2i3#raci6' 3.oba.) &0itch(co'2i3)1 7t- 7!rsio' 2 &0itch(co'2i3)1 7t- -ass0ord password-value

Ataques *+A,
$iempre utili-ar una !"A# dedicada para los puertos trunO. Bes7abilitar los puertos no utili-ados y colocarlos en una !"A# no utili-ada. #o utili-ar la !"A# A para nada. Colocar todos los puertos de los usuarios como non>trunOing 0Bes7abilitar B%P1F
($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s0itch-ort (od! acc!ss &0itch(co'2i3-i2)1 s0itch-ort 'o'!3otiat!

Ataques STP
#o des7abilitar $%P 0introducir un loop puede con,ertirse en una 9orma de ataque1. ?abilitar BPB< CuardF
($!'tro d!. (odo co'2i3#raci6' 3.oba.) &0itch(co'2i3)1 s-a''i'3-tr!! -ort2ast b-d#3#ard d!2a#.t ($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s-a''i'3-tr!! b-d#3#ard !'ab.! o &0itch(co'2i3-i2)1 s-a''i'3-tr!! -ort2ast

?abilitar

oot CuardF

($!'tro d!. (odo co'2i3#raci6' d! i't!r2ac! d!. -#!rto a co'2i3#rar) &0itch(co'2i3-i2)1 s-a''i'3-tr!! 3#ard root

1uenas pr2cticas
Administre los s=itc7es de la manera ms segura posible 0$$?5 ;;B5 listas de acceso1 $iempre utili-ar una !"A# dedicada para los puertos trunO. Bes7abilitar los puertos no utili-ados y colocarlos en una !"A# no utili-ada. #o utili-ar la !"A# A para nada. Bes7abilitar B%P y !%P a menos que sean necesarios. <se Port $ecurity para los puertos de los usuarios siempre que sea posible

1uenas pr2cticas
<se $#MP s.lo si es necesario5 en caso de usarlo aplique a las contrase8as de comunidad las mismas pol6ticas que a sus contrase8as de administrador. Cree un plan para tratar los problemas de seguridad relacionados con A P. ?abilite mecanismos para mitigar los ataques basados en $%P 0BPB< Cuard5 oot Cuard1. <se !"A#s pri,adas 0protected ports1 cuando sea apropiado para di,idir redes en capa 2.

Consultas?
(ng. Cabriel Arellano
arellanog@frcu.utn.edu.ar

<%#>' C< AJD*KD2**I

Вам также может понравиться