jueves, 28 de febrero de 2019

Switching (L2) - Port Security

Switching (L2) - Port Security


Hola amigos, en este post aprenderemos acerca de la seguridad que le podemos poner a los puertos de un switch, para bloquear dispositivos que no sean confiables  que se quieran conectar a nuestra red.

Propósitos de tener seguridad en los puertos:


  • Tener control acerca de que cosas se conectan a nuestra red.
  • Existen dos tipos de seguridad:


        1.- Limitar el número de mac address en cada puerto.
        2.- Limitar que mac address puede conectarse al puerto.



  •  Tenemos tres tipos de respuesta a las condiciones antes mencionadas:
    • Protect
    • Restrict
    • Shutdown


Este tipo de protecciones nos pueden ayudar a tener un mejor control en que dispositivos están permitidos a nuestra red, prevenir loops, y sobre todo prevenir ataques de personas que consciente o inconscientemente conectan equipos no autorizados.

Esto se puede hacer poniendo estáticamente una mac address o que la aprenda dinámicamente (sticky), cuando los aprende dinámicamente al reiniciar el switch se pierden estas mac address si no guardamos la configuración.

Para entender un poco como un switch actúa al no cumplirse una de las condiciones en el puerto, pondré el siguiente ejemplo:


En la imagen tenemos un switch el cual en el puerto 1, se tiene port-security para que solo acepte una mac address que es la de la computadora. 

Un usuario llega y conecta un switch y se conecta otra máquina:


Que pasará con el puerto si configuramos cada una de las restricciones?

Protect: En este caso solo dejara pasar tráfico de la mac address que hayamos configurado, las tramas (frames) de otras mac address será ignorado.


Restrict: Similar al anterior, solo dejara pasar el trafico de la mac address configurada y las tramas (frames) de otras mac address se ignora, solo que cuando se selecciona esta opción se guarda un log donde te envía información de en que puerto se cometió una violación de restricción, adicional en la interfaz aumentara un contador que nos permite observar cuantas veces se ha intentado conectar un hosts no permitido.


Shutdown: Esta opción solamente lo que hace es hacer un shutdown en la interfaz, para volver a activar la interfaz hay que entrar en modo configuración de interfaz y habilitar de nuevo la interfaz con no shutdown.


Configuración del port security en un switch

Para configurar el port security usaremos la siguiente topología:

Lo primero es entrar a la interfaz donde vamos a configurar el port security, en este caso lo pondré para la PC 1, PC2 y PC3:

Empezare con el puerto Fa0/1 asignado a la PC1, primero vamos a configurar el máximo de mac address que tendrán acceso al puerto en este caso es solo una mac address:

#interfaz "interface"
(config-if)#switchport mode access
(config-if)#switchport port-security
(config-if)#switchport port-security maximum "#"


*NOTA: Por default si activamos solo switchport port-security solo acepta una mac address, si revisamos la configuración no veremos ese comando puesto, también si tenemos activado solo el port-security por default tiene la opción de shutdown.


revisando la configuración:



Configurando máximo dos mac address:


revisando la configuración:


Lo siguiente es configurar una mac address de manera estática:

#interfaz fa0/1
(config-if)#switchport port-security mac-address "mac"


Por ultimo configuramos que si no se cumple la condición se tome la opción protect

#interfaz fa0/1
(config-if)#switchport port-security violation protect


Configuración para la PC2 y PC3, en este caso será por medio de mac address sticky

#interfaz fa0/2
(config-if)#switchport mode access
(config-if)#switchport port-security
(config-if)#switchport port-security maximum "#"
(config-if)#switchport port-security mac-address "modo"
(config-if)#switchport port-security violation "opción"

#interfaz fa0/2
(config-if)#switchport mode access
(config-if)#switchport port-security
(config-if)#switchport port-security maximum 1
(config-if)#switchport port-security mac-address sticky
(config-if)#switchport port-security violation protect


#interfaz fa0/3
(config-if)#switchport mode access
(config-if)#switchport port-security
(config-if)#switchport port-security maximum 1
(config-if)#switchport port-security mac-address sticky



*NOTA: En la interface fa0/3 como se dejara como shutdown y es un valor por defecto no se pone el violation.

La configuración en el running-config se verá de la siguiente manera:



Podemos validar las mac-address que se aprendieron mediante sticky con el siguente comando:

#show port-security interface "interface"



Pruebas para validar el Port-Security

Para validar que se cumplan las reglas, vamos a conectar la PC0 en el puerto 2, donde se encuentra configurada la PC2 y conectaremos un Switch en el puerto donde se encuentra la PC3  y veremos los resultados del port-security.

Conectando la PC0 en el puerto de la PC2:

Hacemos un ping desde la PC0


revisamos el estatus del port-security en la interfaz con el siguiente comando:

#show port-security interface "interface"


Como vemos no nos responde el ping pero tampoco nos indica el número de veces que se hizo una violación de la política, haré un cambio en la interfaz poniendo como modo restrict y lanzare de nuevo un ping:




como vemos en la imagen ahora si nos muestra un log de cuantas veces hubo una violación de la política.

Espero que este post les haya sido de utilidad, cualquier duda o comentarios favor de dejarlo en la caja de comentarios.




miércoles, 27 de febrero de 2019

Fundamentos en Switching (L2) - Part 4 de 4 - Velocidad y Duplex

Fundamentos en Switching (L2) - Part 4 de 4 - 

Velocidad y Duplex


Hola amigos, en el post de hoy vamos a conocer acerca de la velocidad en los puertos y la comunicación duplex.

Lo primero es conocer las velocidades de los puertos:

Puerto                          ->   Velocidad

Ethernet                       ->   10Mbps

FastEthernet                ->  100Mbps

GigabitEthernet           -> 1000Mbps

TenGigabitEthernet     -> 10000Mbps

Por default los Switches y las PC’s están en modo auto, esto hace una negociación de velocidad y modo en forma automática. <auto mdix>

Cuando hablamos de comunicación duplex podemos tener dos tipos:

Half duplex: Solo envía o recibe un host, no puede hacerlo al mismo tiempo.

Full duplex: Envía y recibe al mismo tiempo.


Half Duplex



Full Duplex


*NOTA: se recomienda dejar en auto cuando son hosts finales, en caso de tener routers, firewalls o switches se recomienda poner manualmente la velocidad y el duplex.

Para configurar la velocidad y duplex en un switch es muy facil, usamos los siguientes comandos dentro de una interfaz:

Velocidad:

(config-if)#speed "velocidad"


Duplex:

(config-if)#duplex "tipo"


Este post fue muy rápido y sencillo, si tienen alguna duda o comentario pueden dejarlo en la caja de comentarios.

Fundamentos en Switching (L2) - Part 3 de 4 - Configurar IP de Administración

Fundamentos en Switching (L2) - Part 3 de 4 - 

Configurar IP de Administración


Hola amigos, en el post de hoy vamos a configurar a nuestro switch una IP para poder administrarlo via ssh o telnet, desde cualquier parte de nuestra red.

Para hacer esto es muy fácil, es recomendable tener la configuración básica de un dispositivo:


y tener habilitado el SSH:


Con esto ya configurado, podemos avanzar a configurar una IP de administración, lo primero que tener que hacer es observar en las interfaces, existe una llamada VLAN1, esta VLAN1 es la vlan por defecto que usa cisco, el tema de vlans lo veremos mas adelante, por lo pronto es necesario saber que es la interfaz virtual que vamos a utilizar para poder administrar el switch, esta interfaz virtual nos va a contestar en todos los puertos del switch, esto quiere decir que no importa en que puerto nos conectemos siempre responderá la IP que tenga la VLAN1.




Lo primero es entrar a la configuración de la interface vlan y hacer un no shutdown para habilitar la interfaz:

#interface vlan 1
(config-if)#no shutdown


Lo siguiente es configurar la IP que tendrá la Vlan 1:

#interface vlan 1
(config-if)#ip address "ip" "netmask"


para validar la IP de la interfaz VLAN 1 usamos el comando:

show ip interface brief


con esto vemos que la interfaz vlan ya tiene asignada la IP:


Con esto si hacemos un ping desde una máquina ya nos puede contestar e incluso administración con SSH y telnet:




Así de esta manera podemos administrar el equipo por IP y ya no necesariamente conectando un cable de consola. Este post fue muy corto debido a que solo se le habilito una IP a la interfaz vlan 1, espero haya sido de su agrado, cualquier comentario o duda lo pueden dejar en la caja de comentarios.

Fundamentos en Switching (L2) - Part 2 de 4 - Encontrando dispositivos en la red

Fundamentos en Switching (L2) - Part 2 de 4 - 

Encontrando dispositivos en la red


Hola amigos, en el post de hoy haremos un ejercicio para poder identificar en donde se encuentra un dispositivo en la red, esto nos puede ayudar mucho ya que en ocasiones detectamos algún dispositivo que se encuentra usando mucho ancho de banda o causando problemas en la red, y es preciso identificar en donde se localiza.

Supongamos que detectamos que hay un equipo que esta consumiendo mucho ancho de banda y necesitamos saber en donde se encuentra.

Máquina a buscar:  192.168.3.25
Topologia:


Lo primero que tenemos que descubrir es saber que mac address tiene el dispositivo, para obtener esto es muy fácil, hacemos un ping a la IP 192.168.3.25 y mediante el comando:

arp -a

obtenemos la mac address del dispositivo, esto es desde nuestra PC.


MAC ADDRESS: 00d0.bca6.1843

Lo siguiente es ingresar al switch donde esta conectado nuestro PC, podemos conectarnos por consola y revisamos la mac address table para ver por cual puerto conoce el switch a ese host:

show mac address-table



Como vemos en la imagen,  sabemos el puerto, ahora tenemos que validar si ese puerto esta conectado directo al dispositivo o si se encuentra un switch conectado a ese puerto, esto lo podemos revisar con el siguiente comando:

show mac address-table interfaces "interface"


Como vemos en la imagen ese puerto tiene otra mac address asignada, esto quiere decir que hay un switch conectado por ese puerto, para saber cual es el otro switch usamos el siguiente comando:

show cdp neighbors



Este comando nos ayuda a identificar otros equipos cisco en la red y nos da información de otros dispositivos cisco conectados al switch, en este caso nos muestra solo un switch:


Nos conectamos al segundo switch por consola y ejecutamos el mismo comando para revisar la mac address y en que puerto se encuentra conectado:


ahora revisamos si a ese puerto esta conectado el host o un switch como en la ocasión pasada:


En este caso solo se encuentra el dispositivo; ya que tenemos el dispositivo identificado, podemos apagar la interfaz para que deje de producir tanto tráfico, o si tenemos documentado cada puerto en la red, podemos identificar a quien le pertenece ese dispositivo.



Con este pequeño post podemos identificar algún equipo en la red que nos este causando problemas, espero les haya gustado el post. Cualquier duda o comentario pueden dejarlo en la caja de abajo.





martes, 26 de febrero de 2019

Fundamentos en Switching (L2) - Part 1 de 4 - Como funcionan los switches de red

Fundamentos en Switching (L2) - Part 1 de 4  

Como funcionan los switches de red



Hola amigos, en el post de hoy veremos como funcionan los switches.

Los switches son la parte fundamental de una red, ya que ellos mantienen interconectados a los dispositivos y sus principales funciones son:

  • Pasar tramas a través de el mismo (Forward frames).
  • Aprender Mac Address
  • Prevenir loops.


Algunas características de un switch son:
  • Es un dominio de broadcast con varios dominios de colisión (puertos)
  • Almacena las mac-address aprendidas en su cam-table (Durante 5 minutos)
  • Una Mac Adress desconocida se envía a través de todos los puertos, a excepción de por donde entro la trama (Se le conoce como inundación - flooded)
  • Utiliza un modelo de hardware ASIC - Hardware hecho a la medida.
  • El trabajo principal de un switch es conocer mac address, al iniciar el switch, su cam-table se encuentra vacía.

¿Cómo un switch aprende MAC Address?

El switch aprende las mac address con los siguientes pasos:

  • Ingreso de las tramas (Ethernet Frame)
  • CAM-Table
  • Examinando tramas (Frames)


Por poner un ejemplo:


La máquina envía un ping al servidor, al momento de enviar el ping, este llega al switch en forma de trama (frame - L2) en lugar de paquete (packet - L3) debido a que el switch es un dispositivo de capa 2(L2), al enviar el ping en la trama (Frame) se envía la mac address de destino y de origen.




Al llegar el frame al switch, este agrega en su Mac-table la mac address de origen (en este caso la PC):


*En el caso de este ejemplo el switch ya conoce ambas mac address.

El switch aun no conoce la mac-address de destino, lo que hace es "inundar" los puertos (es decir reenviar la trama a todos los puertos y de respuesta tendrá en que puerto se encuentra la mac address de destino), este flooding se hace en todos los puertos EXCEPTO el puerto desde donde se encuentra el origen de la trama:
*Suponiendo que no conoce la mac address del servidor.

*Esto lo hace para todos los puertos, a excepción del puerto desde donde se hizo la petición.



Cuando encuentra el puerto asignado a la mac-address que busca la agrega en la cam-table y entrega la trama a la computadora de origen:


Cabe decir que esta cam-table se vacía cada 5 minutos, esto con el fin de poder mantener actualizado el mapeo de los hosts en la red; si fuera estático y no se vaciara esta tabla, nos va a generar errores en el mapeo de puertos, ya que un hosts puede moverse a otro puerto u otro switch.

¿Que pasa si una PC no conoce la Mac-Address de destino?

Si tomamos el mismo ejemplo pero la PC no sabe la mac-address del servidor, lo que pasa es lo siguiente:

Desde el PC hacemos un ping al servidor, en este caso la PC revisa su tabla ARP para ver si conoce la mac-address de destino, en este caso no se conoce la mac-address de destino:


Lo que hace ahora la PC es hacer un ARP-request (Address Resolution Protocol) mandando un broadcast al switch con una direccion de mac address FF:FF:FF:FF:FF:FF, este broadcast al llegar al switch se inunda a todos los puertos como lo vimos anteriormente, al llegar al servidor de destino, este frame se regresa a la PC como unicast, esto quiere decir que se regresa solo al que hizo la petición y no a todos en forma de broadcast.



Al regresar el frame a la PC, esta lo guarda en su tabla de arp como podemos observar:


Con esto la PC puede tener de igual manera un mapeado de que IP esta relacionada a que Mac Address y la siguiente vez que necesite generar tráfico a la IP del servidor solo mandara el frame a la Mac Address de destino y no hará nuevamente broadcast innecesario.

*NOTA: Hay que tener cuidado con el tráfico broadcast en switches ya que pueden hacer que el equipo baje su rendimiento al procesar muchas tramas (frames), loops o algún virus pueden ser las principales causas de un deterioro en la red.

Dominios de colisión y Dominios de Broadcast

En un switch es muy simple saber cuantos dominios de colisión se tienen, ya que será el número de puertos que se tengan, esto es debido a que en los HUBs como recordaremos solo se enviaba o recibia tráfico por un puerto (half duplex), cuando dos máquinas enviaban al mismo tiempo se ocasionaba una colisión; esto en switching se mitiga con el uso de CSMA/CD (Carrier Sense Multiple Access with Collision Detection) que lo que hace es si detecta una colisión manda hacer un reset de la conexión y que se vuelva a enviar el paquete en un periodo random para los equipos involucrados, actualmente como sabemos los switches son full duplex esto quiere decir que podemos enviar y recibir sin problemas, en resumen el numero de dominios de collision de un switch va de la mano de cuantos puertos tiene.

Sobre el dominio de broadcast como hemos visto anteriormente el broadcast es tráfico que se envia a todos los puertos, en este caso el switch completo es un dominio de broadcast, en el caso que existan vlans en un switch cada vlan es un dominio de broadcast ya que el tráfico de broadcast solo será enviado a los puertos donde este configurada la vlan.



Mac-Address Table

Ahora veremos la mac-address table, para poder ver el contenido de la mac-address table entramos a modo privilegiado y usamos el comando:

show mac address-table




La primera columna nos muestra la vlan a la cual esta asignado el puerto:


La segunda columna nos muestra la Mac address que se agrego a la tabla:


La tercera columna nos muestra como conoce el switch esa Mac Address, de manera estática (asignada al equipo en este caso) o de manera dinámica (De la manera en como agrega mac address a la tabla):


La ultima columna nos muestra por que puerto se conoce la mac address:


Con esto terminamos el post, espero que haya sido informativo y educativo para ustedes, si tienen dudas o comentarios, los pueden dejar en la caja de abajo.