Diferencia entre revisiones de «Pruebas OpenVPN»

De Ardemans Wiki
Saltar a: navegación, buscar
(CA Subordinada)
Línea 42: Línea 42:
 
crlDistributionPoints          = URI:http://www.ardemans.com/ssl/ArdemansVPN_CA.crl
 
crlDistributionPoints          = URI:http://www.ardemans.com/ssl/ArdemansVPN_CA.crl
 
</pre>
 
</pre>
 +
 +
Es importante que el certificado sea de tipo cliente, ya que si intentamos conectarnos con otro certificado (por ejemplo de servidor) nos aparecerá un error en el log de openvpn diciendo que el certificado cliente no es apropiado.
 +
 +
 +
==== Cadena de certificacion ====
 +
Recalco esta parte, que también me dió problemas, y es que usando esta subCA para trabajar con OpenVPN me ha obligado a que en el fichero donde esta la clave pública de la CA '''tenemos que poner la cadena completa''', es decir, que deberá estar en el mismo fichero la clave pública tanto de ArdemansCA como de ArdemansVPN_CA

Revisión de 09:10 10 abr 2015

Introducción

Apuntes sobre la instalación de OpenVPN de mi casa, para poder hacer el chorra y poder conectarme desde cualquier sitio a las cosas de casa, que en realidad no hay nada especial...

Instalación de OpenVPN

La instalación la voy a realizar en mi raspberryPI que ya está haciendo de DHCP y DNS para la casa. Como decía en la página de Ovpn, si lo tenemos disponible desde paquetería mejor instalarlo desde ahí, y eso es lo que he hecho

apt-get install openvpn

Certificados

Para la conexión de clientes vamos a hacerlo mediante certificados. He leido que hay métodos alternativos de autenticacion, y con autenticación por usuario y contraseña, pero de momento no me he querido complicar.

Como ya tengo mi propia Entidad Certificadora (CA) he decidido que voy a usar esta misma, pero se puede hacer mucho más fácil usando la utilidad easy-rsa que viene con el propio paquete de openVPN. Se puede leer más sobre esto aqui

CA Subordinada

Ya tenía una CA (Ardemans), para la VPN me he creado una SubCa para crear tanto el certificado de servidor como los certificados de clientes. Para crea la SubCA he seguido los pasos de aqui

Para mantener esta SubCA a parte, he creado la estructura de directorios de una CA dentro del directorio /etc/openvpn/ArdemansVPN_CA

El fichero de configuración de esta SubCA lo he copiado de la CA Ardemans que ya tenía de antes, pero he tenido que hacer algunos cambios, en cuanto al directorio raiz donde está la entidad certificadora y tambien en el CERT y la KEY resultado de la generacion de la SubCA.

También he tenido que cambiar de la configuracion de la CA las ubicaciones de las authorityInfoAccess y crlDistributionPoints, para que apunten a una nueva URL, ya que este tendrás las suyas propias.

http://www.ardemans.com/ssl/ArdemansVPN_CA.crl
http://www.ardemans.com/ssl/ArdemansVPN_CA.crt

Con esta subCA he creado un certificado para servidor, siguiendo los pasos de la página que he enlazado antes.

Para los certificados de cliente he tenido que hacer alguna moficación mas en el fichero de configuración de la CA, y es que no había extensión definida para crear certificados de cliente, así que he añadido una propia:

[ client_ext ]
nsCertType                      = client
nsComment                       = "Certificado generado con OpenSSL"
subjectKeyIdentifier            = hash
authorityKeyIdentifier          = keyid,issuer

authorityInfoAccess             = @aia_sect
crlDistributionPoints           = URI:http://www.ardemans.com/ssl/ArdemansVPN_CA.crl

Es importante que el certificado sea de tipo cliente, ya que si intentamos conectarnos con otro certificado (por ejemplo de servidor) nos aparecerá un error en el log de openvpn diciendo que el certificado cliente no es apropiado.


Cadena de certificacion

Recalco esta parte, que también me dió problemas, y es que usando esta subCA para trabajar con OpenVPN me ha obligado a que en el fichero donde esta la clave pública de la CA tenemos que poner la cadena completa, es decir, que deberá estar en el mismo fichero la clave pública tanto de ArdemansCA como de ArdemansVPN_CA