No es del todo raro, aunque no debería pasar, que en un momento dado se nos olvide la contraseña de acceso a nuestros routers Cisco y no podamos recordarla. Recuperarla es relativamente sencillo pero implica reiniciar el router, por lo que si está en producción necesitaremos una ventana de mantenimiento para poder cortar sin producir impacto en nuestra red. Estos son los pasos a seguir.
1 - Reiniciaremos el router. Durante el arranque le enviaremos un break para que el arranque se detenga y el router se ponga en el famoso modo ROM monitor (ROMmon). Podemos enviar el break al router bien mediante una combinación de teclas (normalmente Control + Escape) o mediante alguna funcionalidad del programa de consola que usemos; por ejemplo, en PuTTY podemos enviar un break pulsando con el botón derecho sobre la parte superior de la ventana de la consola y seleccionando "Break" del menú "Special Command".
Aparecerá la línea de comando de ROMmon, indicando que se ha entrado en ese modo por interrupción del usuario:
System Bootstrap, Version 12.4(13r)T11, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2009 by cisco Systems, Inc.
Initializing memory for ECC
..
c2811 platform with 524288 Kbytes of main memory
Main memory is configured to 64 bit mode with ECC enabled
Upgrade ROMMON initialized
program load complete, entry point: 0x8000f000, size: 0xcb80
monitor: command "boot" aborted due to user interrupt
rommon 1 >
2 - Cambiaremos el valor del registro de configuración de su valor por defecto, 0x2102, a 0x2142. La explicación de en qué consiste el registro de configuración se sale de la intención de este artículo. Nos basta saber que ese valor en particular hará que el router arranque con una configuración por defecto, sin cargar la configuración almacenada en el fichero startup-config de la NVRAM, que es lo habitual. Usamos el siguiente comando para cambiar el valor del registro y reiniciamos el router de nuevo, bien apagándolo y volviéndolo a encender o usando el comando reset:
rommon 1 > confreg 0x2142
You must reset or power cycle for new config to take effect
rommon 2 > reset
3 - Esta vez dejamos que el router arranque hasta el final, momento en el que saltará el diálogo de configuración habitual cuando tenemos una configuración por defecto. Le decimos que no queremos iniciar el diálogo de configuración:
--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]: no
Press RETURN to get started!
Ahora estaremos dentro del router con control total sobre el mismo y podemos entrar en modo enable sin problemas.
4 - Copiaremos la startup-config en la running-config, con lo que tendremos el router cargado con la configuración de producción al mismo tiempo que seguimos teniendo control sobre el mismo:
Router>enable
Router#copy startup-config running-config
Destination filename [running-config]?
2891 bytes copied in 0.516 secs (5603 bytes/sec)
5 - Y ahora el momento de volver a tener las claves controladas: en modo configuración global modificamos las claves y si es necesario el usuario de gestión que tengamos configurado a nuestro antojo y según necesitemos:
Router1#conf t
Router1(config)#username admin secret miclave1
Router1(config)#enable secret miclave2
Router1(config)#line con 0
Router1(config-line)#password miclave3
Router1(config-line)#^Z
Router1#
6 - Copiamos ahora la running-config, que tiene nuestros cambios, a la startup-config para que los cambios se carguen en el próximo reinicio.
Router1#copy running-config startup-config
7 - Por último: si reiniciásemos ahora el router el valor del registro de configuración seguiría siendo 0x2142, por lo que el router arrancaría de nuevo con el diálogo de la configuración por defecto. Para que arranque de manera normal debemos devolver el valor del registro a su original, 0x2102, en el modo de configuración con el siguiente comando y guardando después de nuevo:
Router1#conf t
Router1(config)#config-register 0x2102
Router1#copy running-config startup-config
Ya podemos reiniciar el router. Arrancará normalmente y podremos entrar con las nuevas claves que hayamos configurado.
Mostrando entradas con la etiqueta seguridad. Mostrar todas las entradas
Mostrando entradas con la etiqueta seguridad. Mostrar todas las entradas
jueves, marzo 24, 2016
jueves, mayo 21, 2015
Port Security en switches Cisco y los modos de bloqueo de port-security: protect, restrict y shutdown.
Tras haber revisado las maneras de asegurar nuestros puertos ante equipos no autorizados mediante los comandos "switchport port-security" y "switchport port-security mac-address", hemos visto que el comportamiento predeterminado cuando se produce una violación en el acceso es tirar el puerto. Existen otros dos comportamientos configurables por comando. La forma general del comando es la siguiente, una vez que estamos dentro de la interfaz en que lo queremos configurar:
SW1(config-if)#switchport port-security violation <protect | restrict | shutdown>
Veamos cada uno de los modos.
Es el modo por defecto, así que no hace falta configurarlo. En este modo el puerto, en cuanto se produce una violación en el acceso, queda deshabilitado, cortándose todo tráfico de raíz. Es el comportamiento que hemos visto en los ejemplos de la entrada a que nos referimos al principio. Si fuese necesario volver a configurarlo porque hemos configurado previamente uno de los otros modos el comando sería el siguiente:
SW1(config-if)#switchport port-security violation shutdown
Podemos verificar en qué modo está el puerto con el comando show port-security interface fastEthernet x/y
SW1#show port-security interface fastEthernet 0/2
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 : 1
Last Source Address:Vlan : 00D0.97EA.6C5A:1
Security Violation Count : 0
Con protect el puerto no se deshabilita, sino que se corta el tráfico al equipo que haya producido la violación de acceso dejando pasar el resto, si hay más de un equipo conectado a dicho puerto. El comando es:
SW1(config-if)#switchport port-security violation protect
Y para verificarlo:
SW1# show port-security interface fastEthernet 0/2
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Protect
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 3
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0002.1758.D55A:1
Security Violation Count : 0
Veamos un ejemplo con la siguiente topología:
Al puerto FastEthernet 0/2 del switch SW1 va conectado un hub con tres equipos pinchados. Hay además un cuarto equipo, que se conectará más tarde. Los equipos tienen las siguientes IPs:
PC0: 192.168.1.11
PC2: 192.168.1.12
PC3: 192.168.1.13
PC4: 192.168.1.14
El puerto FastEthernet 0/2 está configurado para aceptar tres MACs distintas y activar la protección cuando se conecte una cuarta o más, y además se ha configurado el modo de protección en protect:
!
interface FastEthernet0/2
switchport mode access
switchport port-security
switchport port-security maximum 3
switchport port-security violation protect
!
Las tres IPs de los equipos conectados responden:
SW1#ping 192.168.1.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.11, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 6/7/8 ms
SW1#ping 192.168.1.12
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.12, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/7 ms
SW1#ping 192.168.1.14
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.14, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/7 ms
Veamos qué pasa si conectamos el cuarto equipo:
No veremos nada por pantalla, ningún aviso, ningún bloqueo del puerto, ninguna alerta. El nuevo equipo conectado dará link de forma normal, pero veamos qué ocurre al hacer ping ahora a todos los equipos:
SW1#ping 192.168.1.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.11, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
SW1#ping 192.168.1.12
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.12, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/6 ms
SW1#ping 192.168.1.13
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.13, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
SW1#ping 192.168.1.14
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.14, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/6/7 ms
Todos los equipos que respondían antes, pero el nuevo equipo (IP 192.168.1.13) no responde pese a estar dando link: el switch está parando todo el tráfico dirigido y proveniente de él.
El comando para configurarlo es:
SW1(config-if)#switchport port-security violation restrict
Y para verificarlo:
SW1#show port-security interface fastEthernet 0/2
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Restrict
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 3
Total MAC Addresses : 3
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0002.1758.D55A:1
Security Violation Count : 6
SW1(config-if)#switchport port-security violation <protect | restrict | shutdown>
Veamos cada uno de los modos.
shutdown
Es el modo por defecto, así que no hace falta configurarlo. En este modo el puerto, en cuanto se produce una violación en el acceso, queda deshabilitado, cortándose todo tráfico de raíz. Es el comportamiento que hemos visto en los ejemplos de la entrada a que nos referimos al principio. Si fuese necesario volver a configurarlo porque hemos configurado previamente uno de los otros modos el comando sería el siguiente:
SW1(config-if)#switchport port-security violation shutdown
Podemos verificar en qué modo está el puerto con el comando show port-security interface fastEthernet x/y
SW1#show port-security interface fastEthernet 0/2
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 : 1
Last Source Address:Vlan : 00D0.97EA.6C5A:1
Security Violation Count : 0
protect
Con protect el puerto no se deshabilita, sino que se corta el tráfico al equipo que haya producido la violación de acceso dejando pasar el resto, si hay más de un equipo conectado a dicho puerto. El comando es:
SW1(config-if)#switchport port-security violation protect
Y para verificarlo:
SW1# show port-security interface fastEthernet 0/2
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Protect
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 3
Total MAC Addresses : 0
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0002.1758.D55A:1
Security Violation Count : 0
Veamos un ejemplo con la siguiente topología:
Al puerto FastEthernet 0/2 del switch SW1 va conectado un hub con tres equipos pinchados. Hay además un cuarto equipo, que se conectará más tarde. Los equipos tienen las siguientes IPs:
PC0: 192.168.1.11
PC2: 192.168.1.12
PC3: 192.168.1.13
PC4: 192.168.1.14
El puerto FastEthernet 0/2 está configurado para aceptar tres MACs distintas y activar la protección cuando se conecte una cuarta o más, y además se ha configurado el modo de protección en protect:
!
interface FastEthernet0/2
switchport mode access
switchport port-security
switchport port-security maximum 3
switchport port-security violation protect
!
Las tres IPs de los equipos conectados responden:
SW1#ping 192.168.1.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.11, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 6/7/8 ms
SW1#ping 192.168.1.12
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.12, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/7 ms
SW1#ping 192.168.1.14
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.14, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/7 ms
Veamos qué pasa si conectamos el cuarto equipo:
No veremos nada por pantalla, ningún aviso, ningún bloqueo del puerto, ninguna alerta. El nuevo equipo conectado dará link de forma normal, pero veamos qué ocurre al hacer ping ahora a todos los equipos:
SW1#ping 192.168.1.11
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.11, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/8 ms
SW1#ping 192.168.1.12
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.12, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/5/6 ms
SW1#ping 192.168.1.13
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.13, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
SW1#ping 192.168.1.14
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.14, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/6/7 ms
Todos los equipos que respondían antes, pero el nuevo equipo (IP 192.168.1.13) no responde pese a estar dando link: el switch está parando todo el tráfico dirigido y proveniente de él.
restrict
El modo restrict se comporta exactemente igual que protect con la diferencia de que se notificará la puesta en marcha de la protección mediante mensajes de SNMP o Syslog, si los tenemos configurados adecuadamente en el switch.El comando para configurarlo es:
SW1(config-if)#switchport port-security violation restrict
Y para verificarlo:
SW1#show port-security interface fastEthernet 0/2
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Restrict
Aging Time : 0 mins
Aging Type : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses : 3
Total MAC Addresses : 3
Configured MAC Addresses : 0
Sticky MAC Addresses : 0
Last Source Address:Vlan : 0002.1758.D55A:1
Security Violation Count : 6
lunes, mayo 04, 2015
Port Security en switches Cisco: los comandos "switchport port-security" y "switchport port-security mac-address" y el error "Found duplicate mac-address"
En una entrada anterior (Port Security en switches Cisco: cuando no podemos asegurar el puerto y nos sale "Command rejected: FastEthernet0/1 is a dynamic port") vimos la razón de cierto error y cómo asegurar un puerto de un switch Cisco para permitir que por el mismo pasase única y exclusivamente una sola MAC y que el puerto se deshabilitase al pasar MACs adicionales, como ocurre cuando se conecta un hub u otro switch a un puerto donde debería haber un único cliente.
domingo, abril 13, 2014
Heartbleed: la debacle de OpenSSL
En la que ya es la noticia del año en cuanto a seguridad informática nos hemos enterado de que OpenSSL, la librería criptográfica de código abierto, sufre un bug en varias de sus versiones que basicamente permite obtener datos de la memoria del sistema que esté utilizándola. Las implicaciones en cuanto a seguridad son enormes, pero como usuarios basicamente lo único que podemos hacer es cambiar todas las claves de todas las aplicaciones y servicios de los que hagamos uso.
Las versiones afectadas son las siguientes:
Si tenemos algún servicio abierto hacia la red que use OpenSSL debemos revisar la versión de OpenSSL que tenemos. En Linux es sencillo: con el comando openssl version obtendremos la salida con la versión de openssl instalada en nuestro sistema:
[fedora@localhost ~]$ openssl version
OpenSSL 1.0.0d-fips 8 Feb 2011
En este caso se trata de la rama 1.0.0, por lo que la versión no está afectada con el bug. Si lo estuviese podríamos actualizarla con un yum update openssl o equivalente.
Las versiones afectadas son las siguientes:
- 1.0.2 beta
- 1.0.1 a 1.0.1f
Si tenemos algún servicio abierto hacia la red que use OpenSSL debemos revisar la versión de OpenSSL que tenemos. En Linux es sencillo: con el comando openssl version obtendremos la salida con la versión de openssl instalada en nuestro sistema:
[fedora@localhost ~]$ openssl version
OpenSSL 1.0.0d-fips 8 Feb 2011
En este caso se trata de la rama 1.0.0, por lo que la versión no está afectada con el bug. Si lo estuviese podríamos actualizarla con un yum update openssl o equivalente.
Suscribirse a:
Entradas (Atom)