Home

Home

jueves, 18 de diciembre de 2014

Encriptación de claves y acceso por SSH (Seguridad básica)

En este post veremos cómo podemos llegar a incrementar la seguridad de nuestros Switches y Routers con unas configuraciones básicas, las cuales considero que deberían de utilizarse por defecto.

Encriptación de claves - Acceso al modo EXEC

A la hora de crear la clave de acceso al modo EXEC tenemos dos variantes, una es con el comando enable password, esta crea una clave sin cifrar, o sea, texto plano. La otra alternativa es con el comando enable secret, este creará una clave cifrada. Podremos verificar si la clave se encuentra cifrada ejecutando el comando sh running-config tal como se muestra en el ejemplo:
SW-01#sh running-config
Building configuration...

Current configuration : 1280 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname SW-01
!
enable secret 5 $1$mERr$NIHzy3XHwdUmeFfbuiMHp1
enable password netar
!

Vemos que la clave generada por el comando enable secret no es  legible, mientras que la clave generada con  enable password sí lo es. Claramente es recomendable generar la clave encriptada.

Encriptación de claves - Acceso al modo Telnet y SSH

Al generar la clave para acceder por Telnet y/o SSH sucederá lo mismo que al utilizar el comando enable password, o sea, no estarán cifradas. Lo mismo sucederá con la clave de los usuarios que demos de alta para ingresar con SSH.
Para solucionar esto utilizaremos el siguiente comando que cifrará todas las claves existentes:
SW-01#
SW-01#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
SW-01(config)#service password-encryption 
SW-01(config)#end
SW-01#

Configuración antes de utilizar el comando:
SW-01#sh running-config
(se omite información no relevante)
!
username victor privilege 1 password 0 netar
!
line con 0
 password netar
 login
!
line vty 0 4
 password netar
 login
line vty 5 15
 password netar
 login
!
(se omite información no relevante)
SW-01#

Configuración luego de utilizar el comando:
SW-01#sh running-config
(se omite información no relevante)
!
username victor privilege 1 password 7 082F495A080B
!
line con 0
 password 7 082F495A080B
 login
!
line vty 0 4
 password 7 082F495A080B
 login
line vty 5 15
 password 7 082F495A080B
 login
!
(se omite información no relevante)
SW-01#

Podemos ver que luego de utilizar el comando service password-encryption las claves ya no se pueden leer.

Conexión Telnet vs SSH

Ambas conexiones remotas nos permiten administrar el dispositivo sin tener que estar conectados a él de forma directa con un cable Consola. La diferencie entre estos dos protocolos radica en que los datos de la conexión por Telnet viajan a través de la red en formato de texto plano siendo fáciles de descifrar en caso de ser capturados por un sniffer, mientras que SSH cifra la información que envía por la red.
Si queremos limitar el acceso remoto a nuestros dispositivos para que solamente se pueda acceder con SSH deberemos de utilizar los siguientes comandos:
SW-01(config)#
SW-01(config)#line vty 0 15
SW-01(config-line)#transport input ssh 
SW-01(config-line)#end
SW-01#

Esto hará que todas las conexiones por Telnet sean cerradas siendo SSH el único protocolo aceptado para las conexiones entrantes.

Por último, podemos indicar si utilizaremos SSHv1 o SSHv2. La versión 2 contempla mejoras con respecto a la primer versión. Para más info ver SSH.
SW-01(config)#
SW-01(config)#ip ssh version 2

SW-01(config)#

Se deja el vídeo donde se realizan todas las configuraciones explicadas y sus respectivas comprobaciones.


miércoles, 17 de diciembre de 2014

Creación y asignación de VLANS

Antes de comenzar daremos una breve explicación de las VLANS. Una VLAN es una LAN (Local Area Network) Virtual la cual podemos crear en un Switch para generar una división en nuestra red local sin la necesidad de tener un Router de por medio. Su característica principal es que aísla el dominio de broadcast haciendo que las redes virtuales no puedan verse entre sí, logrando tener el tráfico separado.

De todas formas, en caso de que necesitemos que 2 o más VLANS se vean ente sí, deberemos de enrutarlas con un Router o con un Switch de capa 3 (próximamente habrá un post sobre estos dos métodos).

Ejemplo de práctica

...Ahora sí, comenzamos con un ejemplo básico en el que tenemos 6 host conectados todos a un único Switch, todos estos pertenecientes a la red 192.168.1.0/24.
Por cuestiones de seguridad se nos solicita aislar el tráfico de red por área, de modo que los equipos del área de IT no pueden verse con los de Legales y Marketing, y viceversa.

 Lo primero que haremos será definir una VLAN para cada área. Las VLANS llevan un número de ID y a su vez podemos asignarle un nombre. En nuestro caso será así:
VLAN 10 Nombre: VLAN_IT
VLAN 20 Nombre: VLAN_Legales
VLAN 30 Nombre: VLAN_Marketing


Ahora pasamos a ver el vídeo con la explicación comentada debajo del mismo.




Realizamos una pequeña prueba comprobando que los host dentro de la misma red pueden verse. La comprobación la hacemos con un simple Ping.

Ingresamos al Switch (SW-01) y luego al modo EXEC. Una vez ahí, verificamos la base de datos de las VLANS existentes de la siguiente forma:
SW-01#
SW-01#sh vlan brief 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig1/1, Gig1/2
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    
SW-01#


Vemos que todos los puertos del Switch están asignados a la VLAN 1, que es la default o nativa.

Procedemos a ingresar al modo Configuración Global del Switch y comenzamos a crear las VLANS, también iremos configurando sus respectivos nombres:
SW-01#
SW-01#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
SW-01(config)#vlan 10
SW-01(config-vlan)#name VLAN_IT
SW-01(config-vlan)#exit
SW-01(config)#vlan 20
SW-01(config-vlan)#name VLAN_Legales
SW-01(config-vlan)#exit
SW-01(config)#vlan 30
SW-01(config-vlan)#name VLAN_Marketing
SW-01(config-vlan)#end
SW-01#


Si utilizamos el comando show vlan brief veremos que se agregaron las VLANS que creamos a la lista, pero ninguna tiene puertos asignados. Para asignar VLANS a los puertos primero debemos identificar "qué host se conecta a qué puerto".
En el ejemplo la PC-1 y PC-2 se conectan a los puertos Fa0/1 y Fa0/2 del SW-01. Para evitar ingresar puerto por puerto para asignar la VLAN, utilizamos el comando interface range fastEthernet 0/1-2, lo que indica que se tomará un rango de interfaces, en este caso la Fa0/1 y Fa0/2.
SW-01(config)#
SW-01(config)#interface range fastEthernet 0/1-2
SW-01(config-if-range)#switchport access vlan 10
SW-01(config-if-range)#exit
SW-01(config)#interface range fastEthernet 0/5-6
SW-01(config-if-range)#switchport access vlan 20
SW-01(config-if-range)#exit
SW-01(config)#interface range fastEthernet 0/3-4
SW-01(config-if-range)#switchport access vlan 30
SW-01(config-if-range)#end
SW-01#

Nuevamente utilizamos el comando show vlan brief, pero esta vez veremos que las VLANS creadas ya tienen puertos asignados:
SW-01#
SW-01#sh vlan brief 
VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/7, Fa0/8, Fa0/9, Fa0/10
                                                Fa0/11, Fa0/12, Fa0/13, Fa0/14
                                                Fa0/15, Fa0/16, Fa0/17, Fa0/18
                                                Fa0/19, Fa0/20, Fa0/21, Fa0/22
                                                Fa0/23, Fa0/24, Gig1/1, Gig1/2
10   VLAN_IT                          active    Fa0/1, Fa0/2
20   VLAN_Legales                     active    Fa0/5, Fa0/6
30   VLAN_Marketing                   active    Fa0/3, Fa0/4
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    
SW-01#

Para finalizar el ejemplo realizamos una prueba haciendo un Ping desde cualquier host a uno que esté en una VLAN distinta, veremos que no responderá. Luego hacemos un Ping a un host dentro de la misma VLAN y veremos que este sí responde.

lunes, 15 de diciembre de 2014

Configuración de acceso por consola y remoto

En esta entrada veremos distintas formas de acceder a nuestro Router Cisco, los ejemplos también aplicarían para acceder a un Switch Cisco.
Antes de comenzar con la explicación aclaro que tenemos varias formas de acceder al equipo, una es por Consola, donde la PC estará conectada al equipo utilizando un cable Consola propiamente dicho. Las otras alternativas de acceso son remotas, una es con Telnet y la otra opción es SSH.





Acceso por Consola

En este caso sólo alcanza con conectar físicamente la PC con el equipo. Siempre y cuando el hyperTerminal de la PC esté configurado con los siguientes datos:
Bits por segundo: 9600
Bits de datos: 8
Paridad: Ninguna
Bits de parada: 1
Control de flujo: Ninguno

De todas formas explicaremos cómo poner una clave para aumentar la seguridad en dicho acceso. Desde el Router utilizaremos los siguientes comandos:
RT-1(config)#
RT-1(config)#line console 0
RT-1(config-line)#password netarg
RT-1(config-line)#login
RT-1(config-line)#

El comando login hace que el equipo solicite una autenticación. Si no lo utilizamos, por más que configuremos la clave, la misma no va a ser solicitada.

Acceso por Telnet

Muy similar al ejemplo anterior, a diferencia que para este caso la PC deberá de estar conectada al equipo con un cable Ethernet. Solamente cambia un comando:
RT-1(config)#
RT-1(config)#line vty 0 4
RT-1(config-line)#password netarg
RT-1(config-line)#login
RT-1(config-line)#

El comando vty 0 4 nos indica que la configuración será válida para 5 conexiones por Virtual Terminal (comenzando a contar desde el 0 inclusive, hasta el 4). También podemos llegar a configurar hasta 16 Virtual Terminal, lo que significará que podemos llegar a tener 16 conexiones por Telnet en simultaneo.

Acceso por SSH

También similar a Telnet, salvo que agregamos un nivel más de seguridad.

Comenzamos definiendo un dominio para el Router:
RT-1(config)#
RT-1(config)#ip domain-name networkingARG.com
RT-1(config)#

Generamos una clave encriptada RSA:
RT-1(config)#
RT-1(config)#crypto key generate rsa
The name for the keys will be: RT-1.networkingARG.com
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]

RT-1(config)#
*mar 1 0:42:44.65:  %SSH-5-ENABLED: SSH 1.99 has been enabled 
RT-1(config)#

Creamos un usuario para realizar la prueba:
RT-1(config)#
RT-1(config)#username victor password netar
RT-1(config)#

Por último configuramos el método de autenticación:
RT-1(config)#
RT-1(config)#line vty 0 4
RT-1(config-line)#login local
RT-1(config-line)#

Como se explicó en "Acceso por Consola", el comando login es el que activa la autenticación solicitando la clave. En este caso al mismo comando le agregamos local. Este último cumple la función de autenticar con una base de datos de usuarios local, por eso habíamos generado el usuario "victor" previamente.

Con las configuraciones vistas nuestro Router solicitará autenticación al ingresas desde cualquier tipo de conexión, ya sea local por Consola o de forma remota por Telnet o SSH.

domingo, 14 de diciembre de 2014

Configuración básica de un Router Cisco

Vamos a explicar lo básico e indispensable para poner en funcionamiento un Router Cisco, en este caso utilizamos un Router modelo 1841 suministrado por el Packet Tracer.




En la PC-1 configuramos la NIC de la siguiente forma:

IP: 192.168.1.10
Netmask: 255.255.255.0
Gateway: 192.168.1.1

En el Router configuraremos una interfaz la cual será el Gateway de la red 192.168.1.0/24, y también configuraremos otras cuestiones básicas.

Configuramos el HostName, que sería el nombre del dispositivo:
Router>
Router>enable
Router#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#
Router(config)#hostname RT-1
RT-1(config)#

Creamos la clave Secret, la cual será solicita cada vez ingresemos al modo EXEC:
RT-1(config)#
RT-1(config)#enable secret networkingarg
RT-1(config)#

Configuramos la interfaz Fa (FastEthernet) 0/0 y la encendemos con el comando "no shutdown". Luego de encenderla veremos un aviso notificando el cambio de estado de la interfaz.
RT-1(config)#
RT-1(config)#interface fastethernet 0/0
RT-1(config-if)#ip address 192.168.1.1 255.255.255.0
RT-1(config-if)#no shutdown

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

RT-1(config-if)#

Hasta acá habremos configurado de forma básica el Router y ya podemos realizar una prueba de conectividad tal como muestra en el vídeo, con un ping.