0% encontró este documento útil (0 votos)
80 vistas10 páginas

Configurar Servidor OpenVPN

Para configurar tls-auth en lugar de tls-crypt en OpenVPN, el servidor debe incluir la línea "tls-auth ta.key 0" y el cliente debe incluir la línea "tls-auth ta.key 1". Además, se deben verificar los cifrados y curvas elípticas compatibles entre el servidor y los clientes. Finalmente, se debe crear una ruta estática en el router para permitir la conectividad a la red local a través de la VPN.

Cargado por

Alberto
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
80 vistas10 páginas

Configurar Servidor OpenVPN

Para configurar tls-auth en lugar de tls-crypt en OpenVPN, el servidor debe incluir la línea "tls-auth ta.key 0" y el cliente debe incluir la línea "tls-auth ta.key 1". Además, se deben verificar los cifrados y curvas elípticas compatibles entre el servidor y los clientes. Finalmente, se debe crear una ruta estática en el router para permitir la conectividad a la red local a través de la VPN.

Cargado por

Alberto
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Si vamos a usar tls-auth en lugar de tls-crypt (porque no es compatible, por ejemplo), debemos

tener esto en cuenta:

En la configuración del servidor ([Link] o [Link]) deberemos poner:

tls-auth [Link] 0 (0 de Incoming)

En la configuración del cliente ([Link] o [Link]) deberemos poner:

tls-auth [Link] 1 (1 de Outgoing)

A continuación, os ponemos una tabla de qué es cada certificado (los nombres varían).
Cuando tengamos todo organizado en carpetas, ahora es cuando deberemos crear el archivo de
configuración (.conf para sistemas Linux y .ovpn para sistemas Windows). Existen ejemplos de
los ficheros de configuración en la web oficial de OpenVPN, y también en la ruta
«/usr/share/doc/openvpn/examples/examples-config-files/».
Lo primero que tenemos que verificar es si nuestro servidor y clientes soportan los cifrados
simétricos, tls-ciphersuites (TLS 1.3) y tls-cipher (TLS 1.2) y las curvas elípticas configuradas.
Debemos tenerlo muy en cuenta, ya que de lo contrario nos dará error. Para realizar estas
verificaciones debemos ejecutar:

 openvpn –show-ciphers
 openvpn –show-tls (nos mostrará tanto si soporta TLS 1.3 y cuáles, como TLS 1.2)
 openvpn –show-curves
Configurar el servidor OpenVPN y arrancarlo

La configuración del servidor OpenVPN es fundamental para dar permisos de acceso a los
clientes a nuestra red local, configurar la negociación TLS. Debido a que tenemos cientos de
configuraciones disponibles, nosotros os vamos a poner nuestra configuración con unos
comentarios explicando cada parámetro, podéis copiar y pegar la configuración sin problemas.
Recordad que para Linux debe tener extensión .conf y para Windows .ovpn.

#PUERTO A UTILIZAR POR TCP O UDP, POR DEFECTO ES 1194.


#PROTOCOLO A UTILIZAR TCP O UDP
#MODO TUNNELING
port 11949
proto udp
dev tun

#CERTIFICADOS
#SI TENEMOS EL .CONF EN LA MISMA CARPETA NO HACE FALTA METER RUTA, SOLO EL
NOMBRE.
#SI ESTAN EN OTRA RUTA, DEBEREMOS METER LA RUTA DE TODOS ELLOS

ca [Link]
cert [Link]
key [Link]
#dh [Link] (OPCIONAL PORQUE USAMOS ECDHE)
dh none
tls-crypt [Link]

#COMPROBAMOS LOS CERTIFICADOS DE LOS CLIENTES (MAYOR SEGURIDAD)


remote-cert-tls client

#MODIFICAMOS EL CIFRADO SIMETRICO DEL CANAL DE DATOS, EL CANAL DE CONTROL


TLS Y EL ALGORITMO PARA VERIFICAR LA INTEGRIDAD.
#SI USAMOS AES-256-GCM NO ES NECESARIO PONER LA DIRECTIVA AUTH YA QUE NO
SE UTILIZA.
cipher AES-256-GCM
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-ECDSA-WITH-
CHACHA20-POLY1305-SHA256
ecdh-curve secp521r1
tls-version-min 1.2
reneg-sec 0
auth SHA512

#TOPOLOGIA DE LA RED (SE RECOMIENDA SUBNET) Y SUBRED VIRTUAL DONDE


ESTARAN LOS CLIENTES.

topology subnet
server [Link] [Link]

#CONFIGURAMOS EL SERVIDOR PARA QUE LOS CLIENTES TENGAN LA MISMA IP


SIEMPRE, UNA VEZ QUE SE CONECTEN.
ifconfig-pool-persist [Link]

#PROPORCIONAMOS AL CLIENTE ACCESO A LA RED DOMESTICA, REALIZAMOS


REDIRECCION DE INTERNET Y PROPORCIONAMOS DNS DE OPENDNS. WordPress pone
automáticamente estos símbolos << y >> cuando debería poner simplemente comillas dobles: »
push «route [Link] [Link]»
push «redirect-gateway def1»
push «dhcp-option DNS [Link]»
push «dhcp-option DNS [Link]»

#HABILITAMOS COMUNICACION ENTRE LOS CLIENTES, HABILITAMOS KEEPALIVE PARA


SABER SI EL TUNEL SE HA CAIDO, HABILITAMOS COMPRESION Y UN MAXIMO DE 100
CLIENTES SIMULTANEAMENTE
client-to-client
keepalive 10 120
max-clients 100

#SIN PERMISOS DE USUARIO EN OPENVPN, POR SEGURIDAD DEL SERVIDOR


user nobody
group nogroup

#CLAVE Y TUNEL PERSISTENTE


persist-key
persist-tun

#LOS LOGS DEL SERVIDOR EN ESE FICHERO, CONFIGURACION VERB 3 PARA LOS
LOGS.
status [Link]
verb 3
explicit-exit-notify 1

Hasta aquí hemos llegado con la configuración del servidor, para arrancarlo simplemente
deberemos poner en sistemas Linux «openvpn [Link]» y arrancará automáticamente, al
final del arranque deberá poner «Initialization Sequence Completed».

Configurar el cliente (o los clientes)

A continuación, podéis ver la configuración del cliente asociada al servidor que hemos visto
anteriormente. La única diferencia entre los diferentes [Link] es la ruta de los certificados,
por ejemplo. Muy importante que el cipher, tls-cipher y otros parámetros sean exactamente
iguales, de lo contrario no conectará con el servidor. Recordad que para Linux debe tener
extensión .conf y para Windows .ovpn.

#CONFIGURAMOS EN EL MODO CLIENTE, MODO TUN, PROTOCOLO UDP.

client
dev tun
proto udp
#ESTA DIRECTIVA ES LA DE CONEXION CON LA IP PUBLICA O DOMINIO DEL SERVIDOR
OPENVPN, TAMBIEN TENEMOS QUE PONER EL MISMO PUERTO DEL SERVIDOR
remote [Link] 11949

#RESOLVER CONTINUAMENTE LA IP O DOMINIO PARA CONECTARNOS, CLAVE Y TUN


PERSISTENTE COMO EL SERVIDOR.
resolv-retry infinite
nobind
persist-key
persist-tun

#RUTA DE LA CA, CERTIFICADOS DEL CLIENTE Y [Link].


#SI LO TENEMOS EN LA MISMA CARPETA, NO ES NECESARIO PONER LA RUTA ENTERA.
ca [Link]
cert [Link]
key [Link]
tls-crypt [Link]

#COMPROBAR LA IDENTIDAD DEL SERVIDOR, USAR CIFRADO SIMETRICO GCM,


CONFIGURACION DE TLS 1.2 Y AUTH. Si nuestro cliente no soporta TLS 1.3.
remote-cert-tls server
cipher AES-256-GCM
auth SHA512

compress

#Si nuestro cliente soporta TLS 1.3, añadimos esta directiva:


#tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

#Si nuestro cliente soporta TLS 1.2 únicamente, añadimos esta directiva:
#tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-ECDSA-WITH-
CHACHA20-POLY1305-SHA256

#HABILITAR LOG DE NIVEL VERBOSE 3

verb 3

Si utilizas Windows, la carpeta de los certificados con el archivo de configuración en extensión


.ovpn debe estar en la ruta predeterminada de OpenVPN que es C:UsersBronOpenVPNconfig por
defecto, aunque la podremos cambiar. Una vez realizado esto, si pinchamos click derecho sobre
OpenVPN en la barra inferior derecha veremos el nombre del archivo del cliente para conectarnos
satisfactoriamente. Al final del arranque deberá poner «Initialization Sequence Completed» y nos
habremos conectado correctamente al servidor OpenVPN configurado.

Crear ruta estática en nuestro router

Para poder tener conectividad con la red local de nuestro hogar, es necesario crear una ruta
estática en el router de nuestra casa. Con la configuración de [Link]/24 que hemos configurado
en el servidor OpenVPN, deberemos crear una ruta estática con esta información:

 IP subred: [Link]
 Máscara: [Link]
 Puerta de enlace: IP local donde arranquemos el servidor OpenVPN, si por ejemplo tenemos
instalado en una Raspberry PI con IP [Link], deberemos poner esta IP.

También podría gustarte