16 de octubre de 2006

Direcciones MAC Ethernet

Ethernet utiliza la "dirección de hardware", "MAC" "dirección física" o simplemente "dirección Ethernet" para identificar cada puerto dentro de una red LAN y así permitir las comunicaciones desde un dispositivo local hasta otro dispositivo local identificados unívocamente en la red.

Ethernet utiliza direcciones MAC de 48 bits de longitud (6 bytes), expresadas como 12 dígitos hexadecimales:

.......0060.2F .... 3A.07BC
.....OUI ...........
Identificación del fabricante .... Identificación del puerto

El OUI es asignado al fabricante por IEEE. Esta dirección está guardada o "quemada" en la ROM de la placa de red y es copiada a la RAM del dispositivo en el momento en que se inicializa la NIC. Por estar guardada en la ROM también se la denomina Dirección Grabada.

La placa de red utiliza la dirección MAC para identificar las tramas originadas en ese puerto, y para evaluar si la trama recibida debe ser pasada a las capas superiores o no. En una red Ethernet, todos los nodos deben verificar el encabezado de la trama para verificar si deben copiarla o no.

¿Cómo determinar la MAC de mi puerto?
En el caso de terminales o servidores Windows, se puede verificar la dirección MAC de la placa de red utilizando el comando ipconfig /all:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>ipconfig /all

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix: public.com.ar
Description. . . . . . . . . .: Realtek RTL8139/810x
Physical Address. . . . . . . : 00-E0-7D-A9-A3-17
Dhcp Enabled. . . . . . . . . : Yes
Autoconfiguration Enabled . . : Yes
IP Address. . . . . . . . . . : 192.168.1.101
Subnet Mask . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . : 192.168.1.1
DNS Servers . . . . . . . . . : 204.15.192.29
. . . . . . . . . . . . . . . . 204.15.192.30
Lease Obtained. . . . . . . . : Lunes, 16 de Oct 2006 06:55:05 a.m.
Lease Expires . . . . . . . . : Martes, 17 de Oct 2006 06:55:05 a.m.

La misma información se debe encontrar en la tabla de direcciones MAC del switch, si se verifica el puerto al cual se encuentra conectada esta misma terminal:

Switch#show mac-address-table
. . . . . Mac Address Table
--------------------------------------
Vlan . Mac Address . . .Type . . Ports
---- . ----------- . . .-------- -----
All . .0014.1c40.b080 . STATIC . CPU
All . .0100.0ccc.cccc . STATIC . CPU
All . .0100.0ccc.cccd . STATIC . CPU
All . .0100.0cdd.dddd . STATIC . CPU
.1 . .00e0.7da9.a317 . DYNAMIC .Fa0/14

La dirección MAC de los puertos de los routers Cisco se puede conocer utilizando el comando show interfaces:

Router#show interfaces e0/0
Ethernet0/0
is up, line protocol is up
Hardware is AmdP2, address is 0003.e39b.9220 (bia 0003.e39b.9220)
Internet address is 192.168.1.1/8

La dirección MAC se encuentra en la segunda línea de la salida producto del comando show. La sigla BIA significa Burned In Address: Dirección Quemada.

Cada interfaz Ethernet o Fast Ethernet de los routes tiene su porpia dirección MAC. En algunos casos especiales, como el de los switches, el dispositivo está dotado de un conjunto o pool de direcciones MAC. Esto es lo que observamos como direcciones estáticas al revisar la tabla de direcciones MAC de los switches.

¿Cómo se cambia la dirección MAC?
De suyo, la dirección que se encuentra guardada en la ROM de un puerto no puede ser modificada. Sin embargo, dado que para el proceso de encapsulación los dispositivos utilizan esta información tomándola de la memoria MAC, este dato es plenamente modificable.

Este procedimiento tiene varios usos "lícitos" (también puede ser utilizado con el propósito de obtener accesos no autorizados). Entre ellos, cuando necesitamos enmascarar la dirección MAC de nuestro puerto para permitir el acceso a un puerto o dispositivo que tiene una dirección MAC permitida de modo estático, o cuando es necesario probar funciones de filtrado de direcciones MAC.

En algunos dispositivos esta función se ha denominado "clonación de direcciones MAC".

En Cisco IOS esto se hace utilizando el comando mac-address en el modo configuración de interfaz. He aquí un ejemplo:

Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int e0/0
Router(config-if)#mac-address 0000.0000.0001
Router(config-if)#^Z
RouterB#
RouterB#show int e0/0
Ethernet0/0 is up, line protocol is up
Hardware is AmdP2, address is 0000.0000.0001 (bia 0003.e39b.9220)
Internet address is 192.168.1.1/8

Observe que ahora, al revisar el valor de la dirección MAC utilizando show interfaces, el valor de la dirección MAC y el que aparece entre paréntesis (BIA) son diferentes. El valor que se muestra en primer lugar es el que el dispositivo tiene en su memoria RAM y que utilizará para encapsular las tramas Ethernet salientes. El valor que aparece entre paréntesis como BIA, es la dirección MAC que se mantiene guardada en la ROM del puerto y que volverá a leer cuando sea reiniciado.

Filtrado de tráfico basado en las direcciones MAC
Cisco IOS permite realizar filtrado de tráfico a partir de la dirección MAC contenida en el encabezado de la trama. Esto puede ser implementado por diferentes motivos, como por ejemplo, bloquear el tráfico que tiene origen en una determinada dirección.

Para este propósito se pueden utilizar tanto ACL numeradas como nombradas. Este es un ejemplo utilizando ACL nombradas:

Cat3750(config)#mac access-list ext filtromac
Cat3750(config-ext-macl)#deny host 0000.0000.0001 any
Cat3750(config-ext-macl)#permit any any
Cat3750(config-ext-macl)#exit
Cat3750(config)#int g1/0/4
Cat3750(config-if)#mac access-group filtromac in

En este ejemplo se crea una lista de acceso MAC nombrada extendida que deniega todo el tráfico que tenga como dirección MAC de origen 0000.0000.0001, sin importar la dirección IP

Por todo lo dicho también, es preciso tener presente que este procedimiento no es una medida de seguridad efectiva ya que las direcciones MAC son fácilmente modificables.

Para revisar la configuración de ACL en los Catalyst 3750

¿Tenés alguna información adicional para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

14 de octubre de 2006

Enlaces para estudiar CCNP -Switching

La siguiente es una colección de enlaces a diferentes documentos y secciones del sitio de Cisco.com en los que podemos encontrar material de estudio sobre diferentes tecnologías relacionadas al área de switching.
El ordenamiento de estos enlaces obedece al temario que abarca el examen de certificación CCNP - 642-812 BCMSN 3.0

Si tenés algún enlace para aportar a esta colección, será muy bienvenido.
Envialo por correo electrónico a
Oscar Gerometta

9 de octubre de 2006

Implementación de port security en switches Cisco

Una dimensión sumamente importante en la seguridad de nuestras redes LAN es el control de quiénes pueden (y quiénes no) acceder a la red interna de la empresa.

Una situación muy frecuente a resolver, es la posibilidad de conectarse a la red utilizando cualquier conectar instalado en el edificio, ¿Puede alguien sencillamente ingresar en el edificio, conectar una laptop a una boca disponible o no, y acceder a la red empresaria? Un recurso importante es deshabilitar aquellas bocas que no tienen en el momento una terminal de trabajo conectada. Pero también puede ocurrir que alguien desconecte una terminal de escritorio y conecte a esa boca su propia laptop o un hub.

Esto no es poco frecuente. Siempre hay algún visitante que requiere una conexión que es proporcionada sin respetar las políticas de seguridad de la empresa; o un trabajador de la propia organización que trae su propia laptop y decide conectarla a nuestra red. Para esto el recurso más frecuente es desconectar una terminal conectada a la red y utilizar esa boca para ganar acceso a Internet.

Esto se puede evitar implementando port-security en los switches de acceso.

Los fundamentos
Port Security es un feature de los switches Cisco que les permite retener las direcciones MAC conectadas a cada puerto del dispositivo y permitir solamente a esas direcciones MAC comunicarse a través de esa boca del switch. Si un dispositivo con otra dirección MAC intenta comunicarse a través de esa boca, port-security deshabilitará el puerto. Incluso se puede implementar SNMP para recibir en el momento en el sistema de monitoreo la notificación correspondiente al bloqueo del puerto.

¿Cuál es el lado oscuro de esta implementación de seguridad? Bien, en este caso es necesario que el Administrador de la red desbloquee el puerto. Esto puede ser un inconveniente en algunos casos. Pero quizás un inconveniente menor si lo comparamos con los riesgos potenciales.

Configuración de port-security
El proceso de configuración requiere ingresar a la configuración de la interfaz en cuestión e ingresar el comando port-security. Un ejemplo:

Switch)#config t
Switch(config)#int fa0/1
Switch(config-if)#switchport port-security ?
..aging.........Port-security aging commands
..mac-address...Secure mac address
..maximum.......Max secure addresses
..violation.....Security violation mode

Switch(config-if)# switchport port-security

Si se ingresa solamente el comando básico, se asumen los valores por defecto: solo permite una dirección MAC en el puerto, que será la primera que se conecte al mismo, en caso de que otra dirección MAC intente conectarse utilizando esa misma boca, el puerto será desabilitado. Por supuesto que todos estos parámetros son modificables:

  • switchport port-security maximum [cant MAC permitidas]
    Esta opción permite definir el número de direcciones MAC que está permitido que se conecten a través de la interfaz del swtich. El número máximo de direcciones permitidas por puerto es 132.
    Es importante tener presente que este feature también limita la posibilidad de ataque de seguridad por inundación de la tabla CAM del switch.
  • switchport port-security violation [shutdown restrict protect]
    Este comando establece la acción que tomará el switch en caso de que se supere el número de direcciones MAC que se establece con el comando anterior. Las opciones son deshabilitar el puerto, alertar al Adminsitrador o permitir exclusivamente el tráfico de la MAC que se registró inicialmente.
  • switchport port-security mac-address [MAC address]
    Esta opción permite definir manualmente la dirección MAC que se permite conectar a través de ese puerto, o dejar que la aprenda dinámicamente.

¡Atención! Este comando no debe ser configurado en un puerto troncal o de backbone, ya que por estos puertos circulan tramas con múltiples direcciones MAC diferentes de origen. Esto resultaría en el bloqueo del puerto.

El monitoreo de este feature
Hay comandos específicos que permiten manitorear el estado de los puertos que tienen implementado port-security:

Switch# show port-security address
......Secure Mac Address Table
---------------------------------------------------------
Vlan..Mac Address....Type..........Ports..Remaining Age
..............................................(mins)
----..-----------....----..........-----..-------------
1....0004.00d5.285d..SecureDynamic Fa0/18.......-
----------------------------------------------------------
Total Addresses in System (excluding one mac per port).....:.0
Max Addresses limit in System (excluding one mac per port) : 1024

Switch# show port-security interface fa0/18
Port Security.....................: Enabled
Port Status.......................: Secure-up
Violation Mode....................: Shutdown
Aging Time........................: 0 mins
Aging Type........................: Absolute
SecureStatic Address Aging........: Disabled
Maximum MAC Addresses.............: 1
Total MAC Addresses...............: 1
Configured MAC Addresses..........: 0
Sticky MAC Addresses..............: 0
Last Source Address...............: 0004.00d5.285d
Security Violation Count..........: 0

Switch#

Documentación en el sitio de Cisco.com sobre este tema

¿Tenés alguna información adicional para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta