Sei sulla pagina 1di 14

M A N U A L D E P R O C E D I M I E N T O

CARRERA: INGENIERA DE SISTEMAS PRCTICA: 9


EQUIPO:
Paola Pintado
Carlos Sigua

Responsable /Equipo.:
Carlos Sigua

Accesorios:
Mquinas Virtuales: Linux
Maquina Qemu: Vyatta
GNS3: Simulador de Redes

CTEDRA O MATERIA
RELACIONADA
REVISIN N: 1


EDICIN: 1
SEGURIDAD DE REDES
DOCENTE:
BYRON CARRIN RAMREZ
NMERO DE ESTUDIANTES
POR EQUIPO O PRCTICA:
2 o 3 DEPENDE DEL # TOTAL
Fecha:



TEMA
IMPLEMENTACION TUNNEL IPsec CON ROUTER VYATTA
LINUX USANDO CERTIFICADOS X509

Objetivo Principal:
Implementar un tnel seguro IPsec utilizando los certificados digitales como medio para lograr esto.
Objetivos Especficos:
Crear un CA propio
Firmar las solicitudes de firma de certificado emitidos por cada Router Vyatta con el CA
implementado.





MARCO TEORICO
Asegurar la comunicacin quiere decir que todo va a ir cifrado, es decir nadie va a poder ver la informacin
que se intercambian entre el emisor y el receptor.
Una VPN lo que hace es comunicar dos puntos de una red privada pero usando internet como medio de
comunicacin.
Vyatta soporta dos tipos de VPN:
Site to Site: esta VPN permite conectar dos o ms sitios separados por una red, para que parezca
que estn en una nica red privada.


Remote Acces: esta VPN permite establecer un tnel en medio de un usuario remoto y un servidor
VPN. Lo que hace esto, es permitir el acceso de un usuario remoto a la red de la compaa, pero
hacindolo desde el hogar.

El uso de certificados x509, nos nsita a pensar en una infraestructura de llave pblica (PKI) teniendo en
cuenta a la Autoridad Certificadora (CA). As se presentan los siguientes puntos a tomar en cuenta si se
usan certificados para asegurar el canal de comunicacin de una VPN:
Generacin de Certificados
Los certificados debern ser generados por CA reconocido, esto se puede dar de tres maneras,
ya sea comprando certificados de un ente comercial, como lo es VeriSign (comercial), usando un
dispositivo PKI que ser el que genere los certificados (hardware), o usando una herramienta open-
source especializado para eso como lo es OpenSSL(software).
Distribucin segura Certificados Firmados
Como hacer para pasar esos certificados firmados a los que sern usuarios de la VPN, sin que los
dems lo sepan, esto implicara pasar los certificados manualmente usando una flash para pasarlo
de dispositivo a dispositivo.
PRESENTACION DEL CASO

FIG. 1ESQUEMA DE RED PARA LA IMPLEMENTACIN DEL TUNNEL IPSEC
En el esquema de la figura 1 se presenta lo siguiente
Elemento VBOX Versin Funcin IP mask
CA-DNS Xubuntu 14.04 Autoridad Certificadora e1=192.168.1.3
e2=192.168.2.3
24
24
SMTP1 Xubuntu 14.04 Emular Red Interna 1 e1=192.168.1.2 24
SMTP2 Xubuntu 14.04 Emular Red Interna 2 e1=192.168.2.2 24
ISP IOS cisco 7200 ISP Emula ser la red Internet Fa0/0=200.0.1.1
Fa0/1=200.0.2.1
30
30
Router - Vyatta
4
Qemu Vyatta 6.3 Router 1 e0=200.0.1.2
e1=192.168.1.1
30
24
Router Vyatta
5
Qemu Vyatta 6.3 Router 2 e1=200.0.2.2
e0=192.168.2.1
30
24
TABLA 1 TABLA DE ESPECIFICACIONES DE RED
ANALISIS DEL CASO
Los enrutadores quieren establecer comunicacin segura o cifrada entre dos puntos de red privados de la
empresa, pero que usan a internet como intermediario entre sus comunicaciones, como internet no es
seguro, se usara la implementacin de IPsec usando enrutadores Vyatta para el ejemplo.
Para esto primero se seguirn los siguientes pasos lgicos:
Verificar conectividad entres las subredes de la empresa usando enrutamiento esttico (en
ambiente real se puede usar protocolos de enrutamiento dinamico).
Generar llaves privadas y solicitudes de firma de certificado para que el CA los firme.
Implementa una Autoridad Certificadora usando el software OpenSSL
Hacer que el CA firme los *.csr emitidos por los enrutadores.
En ambos enrutadores
o Configurar IKEgroup que permite predefinir un conjunto de uno o ms propsitos a ser
usados dentro de la fase 1 de la negociacin IKE.
o Configurar ESPgroup que es un protocolo de autenticacin, que provee autentificacin para
paquetes IP y tambin los cifra.
o Configurar la VPN site-to-site
Estableciendo la IP del compaero el cual esta conectado a la otra subred
Establecer el mtodo de autenticacin en este caso Certificados x509.
Especificar el IKEgroup antes definido
Especificar el ESPgroup antes definido
Especificar la IP local que la IP de la interfaz WAN.
Especificar la subred local para el tnel IPsec.
Especificar la subred remota para el tnel IPsec.
Despus en las maquinas que forman parte de las subredes, probar que la ruta de comunicacin
ya no pasa por el router que emula internet sino que va directamente entre enrutadores Vyatta.
PRESENTACION DE LA SOLUCION

Verificar la conectividad
Este proceso es bsico y ya est especificado en la tabla 1, mostrada encima sin embargo se mostrara las
configuraciones ya establecidas en cada dispositivo.
Router ISP CISCO 7200
Se muestra de rojo las rutas estticas a las subredes internas privadas a las cuales se les implementara el
tnel IPsec.







ISP#show ip int brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 200.0.1.1 YES NVRAM up up
FastEthernet0/1 200.0.2.1 YES NVRAM up up
ISP#sh ip route
200.0.1.0/30 is subnetted, 1 subnets
C 200.0.1.0 is directly connected, FastEthernet0/0
200.0.2.0/30 is subnetted, 1 subnets
C 200.0.2.0 is directly connected, FastEthernet0/1
S 192.168.1.0/24 [1/0] via 200.0.1.2
S 192.168.2.0/24 [1/0] via 200.0.2.2
Router Vyattta6-3vc_4
Se seala de rojo la ruta esttica que servir para el tnel IPsec

Router Vyattta6-3vc_5
Se seala de rojo la ruta esttica que servir para el tnel IPsec


Generacin de las *.key y de los *.csr en los enrutadores Vyatta
En este parte los mismos enrutadores Vyatta fcilmente crean dos pares que son la llave privada del servidor
y su respectiva solicitud de firma de certificado. Cabe recalcar que esto tambin se lo puede hacer desde
el mismo CA pero tambin es interesante usar herramientas ya implementadas en el router Vyatta.



vyatta@R1# run show ip route
C>* 127.0.0.0/8 is directly connected, lo
S>* 192.168.2.0/24 [1/0] via 200.0.2.2 (recursive via 200.0.1.1)
C>* 192.168.1.0/24 is directly connected, eth1
C>* 200.0.1.0/30 is directly connected, eth0
S>* 200.0.2.0/30 [1/0] via 200.0.1.1, eth0
vyatta@R1# run show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
eth0 200.0.1.2/30 u/u IF-WAN-EXT
eth1 192.168.1.1/24 u/u IF-LAN-INT

vyatta@R2# run show ip route
C>* 127.0.0.0/8 is directly connected, lo
S>* 192.168.1.0/24 [1/0] via 200.0.1.2 (recursive via 200.0.2.1)
C>* 192.168.2.0/24 is directly connected, eth0
S>* 200.0.1.0/30 [1/0] via 200.0.2.1, eth1
C>* 200.0.2.0/30 is directly connected, eth1
vyatta@R2# run show interfaces ethernet
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
eth0 192.168.2.1/24 u/u IF-LAN-interna
eth1 200.0.2.2/30 u/u IF-WAN-EX
Router Vyattta6-3vc_4
Primero hay que salir del modo configuracin # para ir al modo operacional $ en Vyatta.
Luego generar el par llave y solicitud de firma de certificado
En el proceso de llenar la solicitud de firma se debe especificar la IP IF-WAN-EXT <x.x.x.x>en el
campo CNAME, de otro modo si se hubiera utilizado un servidor DNS, se especificara el nombre de
dominio con el que se haya registrado en el servidor DNS ejemplo: <router1.dominio.com> y en el
campo de challenge pasword optional poner un pasword de su preferencia, en esta prctica se us
r1.



vyatta@R1# exit
vyatta@R1:~$ generate vpn x509 key-pair R1-1
Generating a 1024 bit RSA private key
.................++++++
.............++++++
writing new private key to '/config/auth/R1-1.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a D
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:EC
State Name []:Azuay
Locality Name (eg, city) []:Cuenca
Organization Name (eg, company) []:RR1
Organizational Unit Name (eg, department) []:URR1
Common Name (eg, Device hostname) []:200.0.1.2
Email Address []:dir@redes1.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password (optional) []:r1
string is too short, it needs to be at least 4 bytes long
A challenge password (optional) []:
Router Vyattta6-3vc_5
Primero hay que salir del modo configuracin # para ir al modo operacional $ en Vyatta.
Luego generar el par llave y solicitud de firma de certificado
En el proceso de llenar la solicitud de firma se debe especificar la IP IF-WAN-EXT <200.0.2.2>en
el campo CNAME, de otro modo si se hubiera utilizado un servidor DNS, se especificara el nombre
de dominio con el que se haya registrado en el servidor DNS ejemplo: <router2.dominio.com> y
en el campo de challenge pasword optional poner un pasword de su preferencia, en esta prctica
se us r2.




vyatta@R1# exit
vyatta@R1:~$ generate vpn x509 key-pair R2-2
Generating a 1024 bit RSA private key
.................++++++
.............++++++
writing new private key to '/config/auth/R2-2.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a D
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:EC
State Name []:Azuay
Locality Name (eg, city) []:Cuenca
Organization Name (eg, company) []:RR2
Organizational Unit Name (eg, department) []:URR2
Common Name (eg, Device hostname) []:200.0.2.2
Email Address []:dir@redes2.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password (optional) []:r2
string is too short, it needs to be at least 4 bytes long
A challenge password (optional) []:
Distribucin de las Solicitudes de Firma al CA

Router Vyattta6-3vc_4
Luego de generadas las claves has que pasrselas al CA para que nos d firmando, para esto deberemos
seguir los siguientes pasos:
Habilitar ssh en el router Vyatta

Instalar en el CA ssh-server y ssh-client si no los tiene.
Enviar el archivo al CA que est conectado usando el comando scp cuya sintaxis es:
o scp <pathorigen/archivo-a-enviar.*> <user-destino>@<IP-destino>:/path-destino/

Router Vyattta6-3vc_5
Luego de generadas las claves has que pasrselas al CA para que nos d firmando, para esto deberemos
seguir los siguientes pasos:
Habilitar ssh en el router Vyatta

Instalar en el CA ssh-server y ssh-client si no los tiene.
Enviar el archivo al CA que est conectado usando el comando scp cuya sintaxis es:
o scp <pathorigen/archivo-a-enviar.*> <user-destino>@<IP-destino>:/path-destino/


Hacer que el CA firme los certificados

CA-DNS
Luego de que ahora ya tenemos las solicitudes de certificados entonces el CA los firmara
vyatta@R1:~$ configure
vyatta@R1# set service ssh
vyatta@R1# set service ssh allow-root
vyatta@R1# commit
vyatta@R1# save

vyatta@R1# exit
vyatta@R1:~$ scp /config/auth/R1-1.csr
serverxu@192.168.1.3:/etc/ssl/pki_carlos/myCA/


vyatta@R2:~$ configure
vyatta@R2# set service ssh
vyatta@R2# set service ssh allow-root
vyatta@R2# commit
vyatta@R2# save

vyatta@R2# exit
vyatta@R2:~$ scp /config/auth/R2-2.csr
serverxu@192.168.2.3:/etc/ssl/pki_carlos/myCA/


Para esto habr que aclarar que ya se especific e implemento un CA similar basado en la
implementacin que en este sitio web http://www.g-loaded.eu/2005/11/10/be-your-own-ca/ se
muestra, para esta prctica solo se muestra el proceso de firmado de los certificados.
A continuacin se firmara la solicitud del servidor R1 generando un certificado firmado llamado

A continuacin se firmara la solicitud del servidor R2 generando un certificado firmado llamado


Distribucin de los certificados firmados a los enrutadores Vyatta
CA-DNS
Ahora que ya se tiene los certificados firmados hay que envirselos a los respectivos enrutadores Vyatta.
Como por lo general se enva
A continuacin se enviara el certificado firmado para R1.

A continuacin se enviara el certificado firmado para R2.





Configuracin IPsec site-to-site en los enrutadores Vyatta
Para este paso se mostrara la configuracin ya establecida en los enrutadores, no su implementacin paso
a paso, porque se piensa que en este recurso web esta mejor especificado la configuracin
http://docs.huihoo.com/vyatta/6.3/Vyatta_VPN_R6.3_v01.pdf








03:22 root@CA-DNS:/home/serverxu
#=> openssl ca -config openssl.my.cnf -policy policy_anything -out
certs/cert_R1-1_sign.crt -infiles R1-1.csr
03:23 root@CA-DNS:/home/serverxu
#=> openssl ca -config openssl.my.cnf -policy policy_anything -out
certs/cert_R2-2_sign.crt -infiles R2-2.csr


03:25 root@CA-DNS:/etc/ssl/pki_carlos/myCA/
#=> scp certs/cert_R1-1_sign.crt vyatta@192.168.1.1:/config/auth/



03:25 root@CA-DNS:/etc/ssl/pki_carlos/myCA/
#=> scp certs/cert_R2-2_sign.crt vyatta@192.168.2.1:/config/auth/





Router Vyattta6-3vc_4





vyatta@R1# show vpn ipsec site-to-site
peer 200.0.2.2 {
authentication {
mode x509
remote-id "C=EC, ST=Azuay, L=Cuenca, O=RR2, OU=URR2, CN=200.0.2.2,
EMAIL=dir@redes2.com"
x509 {
ca-cert-file /config/auth/certif_CA.crt
cert-file /config/auth/cert_R1-1_sign.crt
key {
file /config/auth/R1-1.key
password r1
}
}
}
connection-type initiate
default-esp-group ESP-NN
ike-group IKE-NN
local-ip 200.0.1.2
tunnel 1 {
allow-nat-networks disable
allow-public-networks enable
local {
subnet 192.168.1.0/24
}
remote {
subnet 192.168.2.0/24
}
}
}



Router Vyattta6-3vc_5






vyatta@R2# show vpn ipsec site-to-site
peer 200.0.1.2 {
authentication {
mode x509
remote-id "C=EC, ST=Azuay, L=Cuenca, O=RR1, OU=URR1, CN=200.0.1.2,
EMAIL=dir@redes1.com"
x509 {
ca-cert-file /config/auth/certif_CA.crt
cert-file /config/auth/cert_R2-2_sign.crt
key {
file /config/auth/R2-2.key
password r2
}
}
}
connection-type initiate
default-esp-group ESP-NN
ike-group IKE-NN
local-ip 200.0.2.2
tunnel 1 {
allow-nat-networks disable
allow-public-networks enable
local {
subnet 192.168.2.0/24
}
remote {
subnet 192.168.1.0/24
}
}
}

Comprobacin del tnel IPsec

Bien para saber si est funcionando el tnel IPsec, mostraremos los pasos en cada router y tambin la
verificacin en los clientes de las subredes.
Router Vyattta6-3vc_4
Hay que salir del modo configuracin y teclear el siguiente comando que nos mostrara si est o no
funcionando, en la ventana siguiente se muestra que el tnel IPsec si esta levantado. Se muestra
de color rojo el estado del tnel

Router Vyattta6-3vc_5
Hay que salir del modo configuracin y teclear el siguiente comando que nos mostrara si est o no
funcionando, en la ventana siguiente se muestra que el tnel IPsec si esta levantado. Se muestra
de color rojo el estado del tnel

Luego se muestra la comprobacin de la ruta que siguen los paquetes IP entre las subredes, en este caso
el resultado mostrara que no son ms de tres saltos antes de llegar al destino.






vyatta@R1# exit
exit
vyatta@R1:~$ show vpn ipsec sa
Peer ID / IP Local ID / IP
------------ -------------
200.0.2.2 200.0.1.2

Tunnel State Bytes Out/In Encrypt Hash NAT-T A-Time L-Time Proto
------ ----- ------------- ------- ---- ----- ------ ------ -----
1 up 0.0/0.0 aes256 sha1 no 3071 3600 all


vyatta@R1:~$
vyatta@R2# exit
Warning: configuration changes have not been saved.
exit
vyatta@R2:~$ show vpn ipsec sa
Peer ID / IP Local ID / IP
------------ -------------
200.0.1.2 200.0.2.2

Tunnel State Bytes Out/In Encrypt Hash NAT-T A-Time L-Time Proto
------ ----- ------------- ------- ---- ----- ------ ------ -----
1 up 0.0/0.0 aes256 sha1 no 1871 3600 all


SMTP1
Ahora hay que ubicarnos en los clientes de las subredes respectivas y verificar que el nmero de saltos para
alcanzar al otro no tome en cuenta al ISP


SMTP2
Ahora hay que ubicarnos en los clientes de las subredes respectivas y verificar que el nmero de saltos para
alcanzar al otro no tome en cuenta al ISPHabilitar ssh en el router Vyatta







/ __|/ _ \ '__\ \ / / _ \ '__|
\__ \ __/ | \ V / __/ |
|___/\___|_| \_/ \___|_|

04:17 serverxu@VBSMTP01:~
$ traceroute 192.168.2.2
traceroute to 192.168.2.2 (192.168.2.2), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 3.350 ms 3.305 ms 3.434 ms
2 200.0.2.2 (200.0.2.2) 22.701 ms 32.745 ms 42.687 ms
3 192.168.2.2 (192.168.2.2) 52.828 ms 64.403 ms 75.383 ms

___ ___ _ ____ _____ _ __
/ __|/ _ \ '__\ \ / / _ \ '__|
\__ \ __/ | \ V / __/ |
|___/\___|_| \_/ \___|_|

04:17 serverxu@VBSMTP-2:~
=>$traceroute 192.168.1.2
traceroute to 192.168.1.2 (192.168.1.2), 30 hops max, 60 byte packets
1 192.168.2.1 (192.168.2.1) 1.574 ms 1.521 ms 1.792 ms
2 200.0.1.2 (200.0.1.2) 21.363 ms 30.955 ms 38.990 ms
3 192.168.1.2 (192.168.1.2) 50.084 ms 58.147 ms 69.431 ms



CONCLUSIONES

Establecer los tneles IPsec representa un trabajito duro, ya que se tienes que pasar los certificados
firmados y crear el CA, pero cuando ya se tiene esta infraestructura implementada es ms fcil.

Cuando se especifica el CommonName al crear las solicitudes de firma no hay que olvidarse que se tiene
que poner la IP externa de los routers es decir la IP perteneciente a las interfaces que salen al internet, de
otro modo si se tuviese un servidor DNS implementado tambin se mostrara la funcionalidad de que en el
Common Name se debe especificar el nombre con el que se haya registrado a ese dispositivo que hay que
recordar que en este caso fueron routers pero en otros pueden ser host y routers, para el caso de Acces
Remote y se volvera engorroso usar las IPs siempre, ms molesto seria en el caso de usar DHCP.

BIBLIOGRAFIA

[1] V. Inc, docs.huihoo.com, [En lnea]. Available:
http://docs.huihoo.com/vyatta/6.3/Vyatta_VPN_R6.3_v01.pdf.
[2] G. Notaras, www.g-loaded.eu, [En lnea]. Available: http://www.g-loaded.eu/2005/11/10/be-your-
own-ca/.

Potrebbero piacerti anche