Upload
bettom
View
241
Download
0
Embed Size (px)
DESCRIPTION
VPN con openvpn
Citation preview
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 1/19
MONTAR UN SERVIDOR OPENVPN (LINUX)
OpenVPNes una solución de conectividad basada en software: SSL(Secure Sockets Layer)VPNVirtual Private Network [red virtual privada], !enVPN ofrece conectividad !unto"a"
!unto con validación, #er$r%uica de usuarios y &ost conectados re'ota'ente
i!o de confi*uración
+n esta ocasión se realiar$ una confi*uración ti!o VPN -ntranet
+ste ti!o de redes es creado entre una oficina central [ servidor ] y una o varias oficinasre'otas [clientes] +l acceso viene del e.terior Se utilia este ti!o de VPN cuando senecesita enlaar a los sitios %ue son !arte de una co'!a/0a, en nuestro caso ser$ co'!uesto !or un servidor 1entral %ue conectar$ a 'uc&os clientes VPN entre si
23odelo de VPN2]
+l servidor VPN hace de pasarela !ara %ue todos los clientes !uedan estar comuncados atrav4s del t5nel !enV!n
1ada cliente se encuentra en lu*ares diferentes con diferentes ti!os de se*'ento de red, alestar conectados 'ediante el t5nel VPN se crea un red virtual y se asi*na un nuevose*'ento de red !ro!orcionada !or el servidor !rinci!al en este caso con se*'ento[67677789999]
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 2/19
INSTALACIÓN VPN CON OPENVPN
Instalación a partir de paquete TAR.
Los paquetes se pueden descargar de la pagina oficial del OpenVPN
http://openvpn.net/
Instalar desde paquete .tar, descomprima el paquete donde x.xx es la versi!n del Openvpn:
tar .vf o!env!n"..".tar*
"ompilar OpenVPN:
cd o!env!n"..
8confi*ure
'ake
'ake install
Preparación de guiones (script) RSA
Para la administraci!n de la P#I $Infraestructura de Llave Pu%lica & Pu%lic #e' Infrastructure( usaremos
los guiones que vienen )unto con OpenVPN $eas'rsa( la versi!n reciente trae consigo muchas me)oras,
es esta eas'rsa *.+.
c! ";! 8lu*ardonde&alla'osdesco'!ri'ido8o!env!n"..".8easy"rsa8 8etc8o!env!n
c! 8etc8o!env!n8easy"rsa8o!ensslcnf 8etc8o!env!n
continuaci!n ser- modificar la utoridad "ertificadora $ CA( para generar las llaves, para esto se
edita el fichero /etc/openvpn/eas'rsa/vars de la siguiente forma, por e)emplo:
e.!ort <+=>1?N;=@+S
e.!ort <+=>P;V-N1+@3AB;-B
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 3/19
e.!ort <+=>1-=@3AB;-B
e.!ort <+=>;C@tue'!resaes
e.!ort <+=>+3A-L@2ad'inistradorDtudo'inioes2
KEY_COUNTRY: specifica el pas donde se encuentra el servidor vpn
KEY_PRO!"NCE: Provincia o estado donde se encuentra este.
KEY_C"TY: "iudad u%icado el servidor vpn.
KEY_OR#: 0ominio o departamento de la organi1aci!n/mpresa.
KEY_$A"%: "orreo electr!nico de la organi1aci!n/empresa.
"&portante: Se deben de llenar todos los parámetros ya que son indispensables para los
certificados que serán creados.
2eguidamente se e)ecutar-n los guiones $scripts( para general las llaves correspondientes.
"nicia'iando Autoridad Certiicadora e' CA
Primero: 3a' que copiar unos archivos al directorio /etc/openvpn
cp openssl.cnf 4hichopensslcnf p5itool /etc/openvpn
stos 6 archivos suelen estar en
c! ";! 8lu*ardonde&alla'osdesco'!ri'ido8o!env!n"..".8easy"rsa8
en su defecto
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 4/19
c! ";! 8lu*ardonde&alla'osdesco'!ri'ido8o!env!n"..".8easy"rsa897
Segundo: para generar el " de%er- reali1ar los siguientes pasos:
cd 8etc8o!env!n8
source easy"rsa89788vars
s& easy"rsa8978clean"all
s& easy"rsa8978build"ca
cd 8etc8o!env!
Generando Paraetros !i""ie #ellan.
Los par-metros Diffie Hellmande%en de ser generados en el 2ervidor OpenVPN, para reali1ar esto
de%er- e)ecutar el gui!n de la siguiente forma:
s& easy"rsa8978build"d&
Generación de lla$es.
Para generar el certificado ' llave privada para el ser*idor ser- de la siguiente forma:
s& easy"rsa8978build"key"server 'iservidor
n donde 7miservidor8 es una varia%le para identificar la llave privada del servidor.
Para generar el certificado ' llave para los c'ientes se har- de la siguiente forma:
Nosotros utili1amos la misma llave para todos los clientes.
s& easy"rsa8978build"key cliente
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 5/19
9na ves que se han generado las llaves correspondientes a los clientes ' servidor, se podr- rescatar
estas en el directorio /etc/openvpn/5e's
CON%IG&RACIÓN
Con"i'uración del Ser$idor Linu( VPN
Para la creaci!n del servidor OpenVPN se de%er- crear un archivo de configuraci!n udp en el
directorio /etc/openvpn/ con el nom%re server.con
!ort 66EF
!roto ud!
dev tun
G"""" Seccion de llaves """""ca 8etc8o!env!n8keys8cacrt
cert 8etc8o!env!n8keys8servercrt
key 8etc8o!env!n8keys8serverkey
d& 8etc8o!env!n8keys8d&679F!e'
G""""""""""""""""""""""""""""
server 676777 9997
!us& Hroute 6E96IJKK7 9997
ifconfi*"!ool"!ersist i!!t.t
du!licate"cn
kee!alive 67 697
co'!"lo
!ersist"key
!ersist"tun
user nobody
*rou! nobody
status o!env!n"status"servidorv!n"ud!"66EFlo*
lo*"a!!end 8var8lo*8o!env!nlo*
verb K
!escripción)
Port: specifica el puerto que ser- utili1ado para que los clientes vpn puedan conectarse al
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 6/19
servidor.
Proto: tipo de protocolo que se emplear- en a conexi!n a travs de VPN
dev : ;ipo de interfa1 de conexi!n virtual que se utili1ar- el servidor openvpn.
ca: specifica la u%icaci!n exacta del fichero de utoridad "ertificadora 7.ca8.
cert: specifica la u%icaci!n del fichero 7.crt8 creado para el servidor.
key : specifica la u%icaci!n de la llave 7.5e'8 creada para el servidor openvpn.
dh: <uta exacta del fichero 7.pem8 el cual contiene el formato de 0iffie 3ellman $requirerido
para +t's,ser*ersolamente(.
server : 2e asigna el rango IP virtual que se utili1ar- en la red del t=nel VPN.
Push: “Empuja” o permite el paso a nuestra LA
!fconfi"#pool#persist: >ichero en donde quedar-n registrado las direcciones IP de los clientes
que se encuentran conectados al servidor OpenVPN.
0uplicatecn: Permite el uso de un mismo certificado para todos los clientes $de lo contrario
cada cliente de%eria tener su propio certificado(
$eepalive %& %'& : nva los paquetes que se mane)an por la red una ve1 cada ?+ segundos@ '
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 7/19
asuma que el acoplamiento es a%a)o si ninguna respuesta ocurre por ?*+ segundos.
comp#l(o: specifica los datos que recorren el t=nel vpn ser- compactados durante la
trasferencia de estos paquetes.
persist#key : sta opci!n soluciona el pro%lema por llaves que persisten a travs de los rea)ustes
2IA92<?, as que no necesitan ser reledos.
Persist#tun: Permite que no se cierre ' rea%re los dispositivos ;P/;9N al correr los guiones
up/do4n
9ser B Aroup NOCO0D: para restringir los privilegios del demonio OPNVPN.
status: fichero donde se almacenar- los eventos ' datos so%re la conexi!n del servidor 7.log8
lo*"a!!end: Para %ue *enere el lo* en un fic&ero a!arte
ver): Nivel de informaci!n $defaultE?(. "ada nivel demuestra todo el Info de los niveles
anteriores. 2e recomienda el nivel 6 si usted desea un %uen resumen de qu est- sucediendo.
- +No muestra una salida excepto errores fatales. . to / +<ango de uso normal. 0 +2alida R '
1caracteres en la consola par los paquetes de lectura ' escritura, ma'=sculas es usada por
paquetes ;"P/90P min=sculas es usada para paquetes ;9N/;P.
Para la configuraci!n del 2ervidor VPN necesitamos insertar el m!dulo $tun( para controlar los
interfaces /dev/net/tun* que se necesiten en le sistema, as pues creamos el directorio /var/empty
para hacer chroot ' seguidamente reiniciamos el servicio OpenVPN:
"argamos el m!dulo $en nuestro caso 'a esta cargado(:
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 8/19
'od!robe tun
D ha%ilitamos el IP for4arding $vital, de lo contrario no permitira que pasen los paquetes de la red
?+.?+.+.+ a la LN ?F*.?GH.66.*+(. ste comando ha%ra que insertarlo en algun script que se e)ecute
al inicio del sistema, ha' que al reiniciar el IP>O<J<0 desaparece
ec&o 6 M 8!roc8sys8net8i!vF8i!>forward
Para la e)ecuci!n del servidor OpenVPN puede utili1ar el siguiente script ' guardarlo con el nom%re de
openvpn dentro de /etc/opnevpn , con el siguiente contenido:
G8bin8bas&
G
G"" Variables ""
;?A1NO-C@8etc8o!env!n8
N31NO-C@servidorv!n"ud!"66EJconf
G
G"" +#ecuciónde la confi*uración!ara el servicio!enVPN
G
;?A1NO-CN31NO-C G
e.it 7
D damos los permiso de e)ecuci!n correspondientes:
c&'od Q. o!env!n
Para crear el demonio ' poder controlar el OPNVPN como un servicio mas de Linux:
3a' que crear un fichero llamado openvpn dentro de /etc/init.d con el siguiente contenido $sacado de
la pagina JC de openvpn(
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 9/19
! U"cac#n del "naro open$pn
open$pn%&&
open$pn'locaons%&usrs"nopen$pn usrlocals"nopen$pn&
*or locaon n +open$pn'locaons
do
* , -* &+locaon& .
hen
open$pn%+locaon
*
done
! /chero de cerro0o (loc1)
loc1%&$arloc1su"s2sopen$pn&
! Drecoro de PID
pddr%&$arrunopen$pn&
! Drecoro de ra"a0o
3or1%ecopen$pn
! A4adr *uncones de l"rer5a6
6 ecrc6dn6d*uncons
! A4adr con*7urac#n de red6
6 ecs2scon*7ne3or1
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 10/19
! 8ompro"ar s la red es9 ac$a6
* , +:NET;OR<IN=> % &no& .
hen
echo &Ne3or1n7 s do3n&
e? @
*
! 8ompro"ar s e?se el e0ecua"le
* , -* +open$pn .
hen
echo &open$pn "nar2 no *ound&
e? @
*
! 8ompro"ar c#mo nos han llamado6
case &+B& n
sar)
echo -n +&Sarn7 open$pnC &
s"nmodpro"e un de$null FB
! Desde el puno de $sa de la se7urdadG creo Hue ene
! sendo elmnar esoG 2 o"l7ar a los usuaros Hue lo
! necesen a ha"larlo e?pl5camene en su scrps de arranHue o
! en la con*7urac#n del *re3all6
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 11/19
!echo B procs2snep$p'*or3ard
* , -d +pddr .J hen
m1dr +pddr
*
* , -* +loc1 .J hen
! no nos pararon correcamene
*or pd* n K"nls +pddr6pd de$nullKJ do
* , -s +pd* .J hen
1ll Kca +pd*K de$null FB
*
rm -* +pd*
done
rm -* +loc1
sleep
*
rm -* +pddr6pd
cd +3or1
! Arrancar cada 6con* en +3or1 2 e0ecuar 6sh s e?se
errors%@
successes%@
*or c n K"nls 6con* de$nullKJ do
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 12/19
"n%+:c6con*>
* , -* &+"n6sh& .J hen
6 +"n6sh
*
rm -* +pddr+"n6pd
+open$pn --daemon --3repd +pddr+"n6pd --con*7 +c --cd +3or1
* , + % @ .J hen
successes%B
else
errors%B
*
done
* , +errors % B .J hen
*alureJ echo
else
successJ echo
*
* , +successes % B .J hen
ouch +loc1
*
JJ
sop)
echo -n +&Shun7 do3n open$pnC &
*or pd* n K"nls +pddr6pd de$nullKJ do
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 13/19
* , -s +pd* .J hen
1ll Kca +pd*K de$null FB
*
rm -* +pd*
done
successJ echo
rm -* +loc1
JJ
resar)
+@ sop
sleep
+@ sar
JJ
reload)
* , -* +loc1 .J hen
*or pd* n K"nls +pddr6pd de$nullKJ do
* , -s +pd* .J hen
1ll -UP Kca +pd*K de$null FB
*
done
else
echo &open$pnC ser$ce no sared&
e? B
*
JJ
reopen)
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 14/19
* , -* +loc1 .J hen
*or pd* n K"nls +pddr6pd de$nullKJ do
* , -s +pd* .J hen
1ll -USRB Kca +pd*K de$null FB
*
done
else
echo &open$pnC ser$ce no sared&
e? B
*
JJ
condresar)
* , -* +loc1 .J hen
+@ sop
! e$ar condcones de carrera
sleep
+@ sar
*
JJ
saus)
* , -* +loc1 .J hen
*or pd* n K"nls +pddr6pd de$nullKJ do
* , -s +pd* .J hen
1ll -USR Kca +pd*K de$null FB
*
done
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 15/19
echo &Saus 3ren o $arlo7messa7es&
else
echo &open$pnC ser$ce no sared&
e? B
*
JJ
)
echo &Usa7eC open$pn :sarsopresarcondresarreloadreopensaus>&
e? B
JJ
esac
e? @
Luego, ha' que asignarle permisos de e)ecucion a dicho archivo:
c2&od 300 4etc4init5d4open*pn
hora ha' que agregarlo a la lista de servicios
ch5config &add openvpn
ch5config openvpn on
Configuración de Clientes VPN con OpenVPN
C'ientes 1indo6s
Para la configuraci!n de clientes OpenVPN utili1aremos el programa OpenVPN A9I para Jindo4s.
Open!PN #U" para 1indo6s corre normalmente en una ventana de consola, al ser conectado al
servidor remoto/local VPN le da un aviso en el -rea de notificaci!n $el -rea de a%a)o a la derecha por
el relo) en la %arra (, desde all puede tener el control de iniciar/parar el "liente OpenVPN, consultar
los avisos $log(, incluso cam%iar su contraseKa.
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 16/19
Puede ser descargado en el sitio OpenVPN A9I for Jindo4s 7http://openvpn.se8.
Preparati$os * con"i'uración
continuaci!n de%er- copiar los siguientes ficheros:
ca.crt.
cliente?.crt.
cliente?.csr.
cliente?.5e'
stos fueron creados en el directorio /etc/openvpn/eas'rsa/*.+/5e's ' de%er-n ser colocados en la
m-quina cliente dentro de ":rchivos de ProgramaOpenVPNconfig
2e crear- un fichero de configuraci!n cliente para el OpenVPN dentro del directorio +:,Archivos de
Pro"rama-.penP-confi" con el nom%re de c'iente.,udp,..7/5o*pn5
;endr- la siguiente configuraci!n:
client
dev tun
!roto ud!
re'ote-PB+LS+;V-B;P+NVPN 66EF
float
resolv"retry infinitenobind
!ersist"key
!ersist"tun
G"""""" S+11-N B+ LLAV+S """"""""
ca cacrt
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 17/19
cert clientecrt
key clientekey
ns"cert"ty!e server
G"""""""""""""""""""""""""""""""""
co'!"lo
verb K
!escripción)
client: specifica el tipo de configuraci!n, en este caso tipo cliente OpenVPN.
Port: specifica el puerto que ser- utili1ado para que los clientes VPN puedan conectarse al servidor.
Proto: tipo de protocolo que se emplear- en a conexi!n a travs de VPN
dev : ;ipo de interfa1 de conexi!n virtual que se utili1ar- el servidor openvpn.
re&ote: 3ost remoto o direcci!n IP en el cliente, el cual especifica al servidor OpenVPN.
l cliente OpenVPN puede tratar de conectar al servidor con 2ost:porten el orden especificado de las
opciones de la opci!n +re&ote.
'oat: ste le dice a OpenVPN aceptar los paquetes autenticados de cualquier direcci!n, no solamente la
direcci!n cu-l fue especificado en la opci!n +re&ote.
reso'*,retr8: 2i la resoluci!n del hostname falla para + re&ote, la resoluci!n antes de fallar hace una re
compro%aci!n de n segundos.
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 18/19
no9ind: No agrega %ind a la direcci!n local ' al puerto.
ca: specifica la u%icaci!n exacta del fichero de utoridad "ertificadora 7.ca8.
cert: specifica la u%icaci!n del fichero 7.crt8 creado para el servidor.
key : specifica la u%icaci!n de la llave 7.5e'8 creada para el servidor OpenVPN.
remote: specifica el dominio o IP del servidor as como el puerto que escuchara las peticiones para
servicio VPN.
comp#l(o: specifica los datos que recorren el t=nel VPN ser- compactados durante la trasferencia de estos
paquetes.
persist#key : sta opci!n soluciona el pro%lema por llaves que persisten a travs de los rea)ustes 2IA92<?,
as que no necesitan ser reledos.
Persist#tun: Permite que no se cierre ' rea%re los dispositivos ;P/;9N al correr los guiones up/do4n
ver): Nivel de informaci!n $defaultE?(. "ada nivel demuestra toda la Informaci!n de los niveles anteriores.
2e recomienda el nivel 6 si usted desea un %uen resumen de qu est- sucediendo.
- +No muestra una salida excepto errores fatales. . to / +<ango de uso normal. 0 +2alida R ' 1caracteres
en la consola par los paquetes de lectura ' escritura, ma'=sculas es usada por paquetes ;"P/90P
min=sculas es usada para paquetes ;9N/;P.
7/21/2019 Instalación VPN Con Openvpn
http://slidepdf.com/reader/full/instalacion-vpn-con-openvpn 19/19
9na ves configurado el cliente VPN con Jindo4s, de%er- ir al -rea de notificaci!n $el -rea de a%a)o a
la derecha por el relo) en la %arra de Jindo4s( ' dar un clic5 derecho al icono del cliente OpenVPN
, all aparecer- un men= en el cual podr- elegir la opci!n conectar 7connect8.
"uando intente conectarse al servidor VPN una ve1 que ha'a elegido la opci!n 7connect8 aparecer-
una ventana de notificaci!n en el cual vera los procesos de verificaci!n e intento de conexi!n al
servidor VPN, si todo sale %ien, en el icono de notificaci!n del cliente OpenVPN le indicar- la correcta
conexi!n ' le mostrar- el n=mero de IP virtual 7tun8 que se le fue asignado.