Está en la página 1de 6

INSTALACIN Y CONFIGURACIN DE OPENVPN

Para poder realizar la instalacin y configuracin de la aplicacin OpenVPN, antes


de nada habr que descargar los paquetes necesarios a tal efecto. En este caso, si
ambas mquinas funciona bao !N"#$%N"& habr que instalar openVPN en ambas y
configurar una como ser'idor y otra como cliente. En el caso de que el ser'idor funcione
bao $inu( pero el cliente sea una mquina )indo*s, habr que instalarle el cliente
adecuado para poder establecer la red 'irtual.
+omencemos con la instalacin de los paquetes. ,i bien con open'pn ser-a
suficiente, en el caso de que se quiera utilizar con certificados, habr que instalar openssh
.si no est ya instalado/.
aptitude install openvpn openssh
SEGURIDAD EN LA CONEXIN VPN
GENERACIN DE LA CLAVE SECRETA
0ediante la siguiente directi'a se genera la cla'e pri'ada. Esa cla'e tienen que
poseerla tanto el ser'idor como el cliente, con lo cual, tras generarla en el ser'idor, hay
que colocarla en el directorio correcto del mismo y a su 'ez copiarla al cliente mediante un
medio que no comprometa la seguridad de la cla'e. En este caso se ha optado por
copiarlo al cliente mediante ssh.
openvpn --genkey --secret giltza.key
cp giltza.key /etc/openvpn
scp giltza.key ip_del_servidor:/etc/openvpn/
GENERACIN DE CERTIFICADOS .0O1O !ENE23$/
En el caso de que se quiera aumentar la seguridad en la VPN, podr-a optarse por
protegerlo mediante cla'e secreta y certificados. $as cla'es pri'adas tendrn que
mantenerse siempre en pri'ado, los ficheros con los certificados en cambio pueden
publicarse o compartirse con total libertad.
,e seleccionar en este eemplo el ser'idor como mquina generadora y gestora
de las cla'es y los certificados.
En primer lugar hay que edita el fichero openssl.cnf .#usr#share#ssl#openssl.cnf/, con
las siguientes modificaciones4
hacer que la opcin dir apunte al directorio que se haya creado .habr que crearlo/
como espacio de trabao para las cla'es.
%ncrementar default5days .si es que interesa/ para que la VPN tenga el tiempo de
'alidez que se estime oportuno .por defecto es de un a6o/.
1/6
Establecer certificate y pri'ate57ey para que apunten al certificado y a la cla'e
maestra que se generar a continuacin.
,e pueden hacer ms modificaciones para adaptar openssl.cnf a nuestras
necesidades, pero no es necesario hacer ms modificaciones para poder crear los
certificados.
$o primero, se generar la 3utoridad de +ertificacin .+3/, un par de
certificado#cla'e pri'ada para los pr(imos 89 a6os .o los que se estimen oportunos/4
openssl req -nodes -new -x509 -keyout y-ca.key -out y-ca.crt -days !"50
3hora llega el turno de crear un par certificado#cla'e tanto para el ser'idor como
para el cliente.
openssl req -nodes new -keyout servidor.key -out servidor.csr
openssl ca -out servidor.crt -in servidor.csr
openssl req -nodes new -keyout cliente.key -out cliente.csr
openssl ca -out cliente.crt -in cliente.csr
"na 'ez generados los pares de cla'es tanto para el ser'idor como para el cliente,
hay que copiar de forma segura cliente.crt, cliente.7ey y my:ca.crt al cliente.
;inalmente basta con establecer los parmetro 1iffie:<ellman en el ser'idor con el
siguiente comando4
openssl dhpara -out dh#0$%.pe #0$%
E(isten ms m=todos para generar cla'es y certificados, incluso pueden comprarse
a una entidad certificadora, pero se ha utilizado esta forma a modo de e(plicacin, con
gasto cero.
GENERAR CERTIFICADOS MEDIANTE UTILIDAD EASY-RSA OPENVPN
Otro modo de generar las cla'es y los certificados generados en el apartado
anterior es 'alerse de los scripts que la propia aplicacin de OpenVPN incluye en su
directorio #usr#share#doc#open'pn#easy:rsa, los cuales facilitan bastante la tarea.
$o primero ser copiar el directorio easy:rsa a #etc#open'pn y situarse en dicho
directorio.
cp -a /usr/share/doc/openvpn/easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa
Para generar la entidad certificadora4
./clean-all
./&uild-ca
2/6
3l eecutar build:ca se solicitan los datos necesarios a fin de generar la entidad
certificadora4
En =ste >ltimo paso se nos pedir una serie de informacin sobre nuestra
red#empresa que debemos llenar lo ms fielmente posible4
'enerating a #0$% &it ()* private key
...........................................................................................
.................................++++++.....................++++++
writing new private key to ,ca.key,
-----
-ou are a&out to &e asked to enter in.oration that will &e incorporated
into your certi.icate request.
/hat you are a&out to enter is what is called a 0istinguished 1ae or a 01.
2here are quite a .ew .ields &ut you can leave soe &lank
3or soe .ields there will &e a de.ault value4
5. you enter ,.,4 the .ield will &e le.t &lank.
-----
6ountry 1ae 7$ letter code8 9:';:<)
)tate or =rovince 1ae 7.ull nae8 91*;:<uskadi
>ocality 1ae 7eg4 city8 9?5)@:<:;:?il&o
Arganization 1ae 7eg4 copany8 9ApenB=1-2<)2;:p.c-server
Arganizational Cnit 1ae 7eg4 section8 9;:test
6oon 1ae 7eg4 your nae or your server,s hostnae8 9;:nagore
<ail *ddress 9eDyhost.ydoain;:nagoreDa&artiatea.co
,i bien el resto de los datos puede rellenarse como meor con'enga, la 'ariable
+ommon Name es muy importante, ya que cuando una mquina trate de comprobar la
'alidez del certificado lo har contra el ;?1N de la mquina certificadora, con lo cual el
+ommon Name tiene que coincidir con ella.
GENERAR EL CERTIFICADO Y LA CLAVE DE ENCRIPTACIN PARA EL SERVIDOR
3l generar el certificado del ser'idor 'ol'ern a solicitarse los mismos datos que
para generar la entidad certificadora. Nue'amente pueden generarse como meor
con'enga, pero teniendo cuidado de no escoger el ;?1N utilizado para la +3. En este
eemplo se ha tomado ser'er, como +ommon Name.
./&uild-key-server server
Este paso genera dos archi'os en el directorio #etc#open'pn#easy:rsa#7eys, que
habr que copiar al directorio #etc#open'pn4 ser'er.crt y ser'er.7ey
El siguiente paso es generar los certificados y las cla'es de seguridad de cada uno
de los clientes. $os archi'os obtenidos con el siguiente paso tendrn que almacenarse en
la carpeta #etc#open'pn de cada cliente.
Para generar el certificado y las cla'es pri'adas se eecuta en el ser'idor, dentro
del directorio #etc#open'pn#easy:rsa# 4
./&uild-key client#
3/6
En este >ltimo caso tambi=n habr que responder a las preguntas anteriores del
modo con'eniente. El parmetro cliente8 pasado como parmetro distingue el certificado
del certificado de otro cliente. Podrn crearse tantos clientes como sean necesarios
cambiando el nombre que se le pasa como parmetro.
GENERAR PARMETROS DIFFIE-HELLMAN
./&uild-dh
"na 'ez generado tanto la +3, como los certificados del ser'idor y los de los
clientes, habr que asegurarse de que tanto el cliente como el ser'idor tienen los
siguientes archi'os4
3rchi'os en el ,er'idor: ca.crt4 ca.key4 server.key server.crt dh#0$%.pe
3rchi'os en el +liente4 ca.crt4 client#.crt4 client#.key
CONFIGURACIN DE CONEXIN HOST TO HOST
En esta configuracin @host to hostA se logra que el intercambio de paquetes entre
dos mquinas se realice de forma encriptada. Para ello se crea una interfaz 'irtual con
una %P pri'ada a cada e(tremo. ,e tomar como eemplo la 8BC.8DE.C.8 como la %P del
ser'idor y la 8BC.8DE.C.C como la %P del cliente. +ualquier paquete que 'iae entre ambas
direcciones lo har encriptado.
CONFIGURACIN DEL SERVIDOR
E/etc/openvpn/server.con.
E dispositivo de tunel
dev tun
E i.con.ig ip_del_servidor ip_del_cliente
i.con.ig #9$.#"F.$.# #9$.#"F.$.$
E 6lave del servidor
secret /etc/openvpn/giltza.key
Epuerto 7por de.ecto el puerto de B=1 es el ##9%8
port ##9%
Eusuario &aGo el cual se eGecutarH la B=1
Iuser no&ody
Igroup no&ody
E opciones4 copriir con lzo4 ping cada #5 segs4 ver&ose # 7&aGo8
cop-lzo
ping #5
ver& #
4/6
CONFIGURACIN DEL CLIENTE
E/etc/openvpn/cliente#.con.
E 5= pu&lica del servidor. <n caso de no tener una 5= pJ&lica .iGa4 optar por opciones Ecoo dyndns.
reote p.c-server.dyndns.org
E puerto
port ##9%
E dispositivo tunel
dev tun
E i.con.ig ip_del_cliente ip_del_servidor
tun-tu #500
i.con.ig #9$.#"F.$.$ #9$.#"F.$.#
E clave privada4 giltza.key 7en este caso8
E Cna posi&le ruta para la key en windows estH coentada.
Esecret Kc:Lprogra .ilesLcopany &randed vpnLcon.igLkey.txtK
secret /etc/openvpn/giltza.key
E ena&le >MA copression
cop-lzo
E ping cada #0 segs
ping #0
E copresiNn lzo
cop-lzo
E ver&ose oderado4 callar as de #0 ensaGes iguales
ver& %
ute #0
CONFIGURACIN DE CONEXIN ROAD WARRIOR
CONFIGURACIN DEL SERVIDOR
E/etc/openvpn/server.con.
E dispositivo tunel
dev tun
E 6laves y certi.icados
ca ca.cert
cert server.crt
key server.key
dh dh#0$%.pe
E 0irecciones que se asignarHn a los clientes. 0i.erentes de las de la su&red del servidor. E >a 5= del
servidor en la vpn serH #9$.#"F.$.#
server #9$.#"F.$.0 $55.$55.$55.0
i.con.ig-pool-persist ipp.txt
E (uta para que los clientes alcancen la red local del servidor.
5/6
E @ace que un road warrior pueda OverP la red interna del servidor
push Oroute #9$.#"F.#.0 $55.$55.$55.0P
keepalive #0 #$0
cop-lzo
user no&ody
group no&ody
persist-key
persist-tun
status openvpn-status.log
ver& %
CONFIGURACIN DEL CLIENTE
E/etc/openvpn/client.con.
E 5ndicaos que algunas con.iguraciones las toarH del servidor
client
E 0ispositivo tunel
dev tun
proto udp
E 0irecciNn real del servidor
reote p.c-server.dyndns.org
port ##9%
resolv-retry in.inite
E no&ind --Q para asegurarse de que solo actue coo cliente y nunca coo servidor
no&ind
persist-key
persist-tun
E 6laves y certi.icados
ca ca.crt
cert client#.crt
key client#.key
cop-lzo
ver& %
6/6

También podría gustarte