docs: update vpn/openvpn/servidor

This commit is contained in:
José Antonio Yáñez Jiménez 2022-05-25 22:41:45 +00:00 committed by José Antonio Yáñez Jiménez
parent 3dc155be4c
commit fa09107812

View File

@ -2,7 +2,7 @@
title: OpenVPN - Servidor
description: Tutorial de instalación del Servidor OpenVPN
published: true
date: 2022-05-25T22:13:16.266Z
date: 2022-05-25T22:41:41.408Z
tags: vpn, servidor, debian
editor: markdown
dateCreated: 2022-05-18T16:48:57.246Z
@ -371,6 +371,40 @@ key ovpn.key
dh dh.pem
```
* Establecemos la subred que se establecerá en las conexiones. El servidor tendrá automáticamente la IP `10.10.10.1`
```bash
server 10.10.10.0 255.255.255.0
```
* Establecemos un fichero de persistencia para que los clientes vuelvan a tener la misma asignación de IP en caso de una caida del servicio
```bash
ifconfig-pool-persist /var/log/openvpn/ipp.txt
```
> `def1` Modifica la tabla de enrutamiento de los clientes para redirigir todo el tráfico hacia la intrerfaz VPN.
> `bypass-dhcp` Añade una ruta directa al servidor DHCP de OpenVPN
* Forzaremos que todo el tráfico de los clientes sea redirigido por la VPN.
```bash
push "redirect-gateway def1 bypass-dhcp"
```
* Establecemos los servidores DNS.
```bash
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
```
* Establecemos una directiva para consultar que los clientes siguen conectados cada 10 segundos y se consideran desconectados si no responden en 2 minutros.
```bash
keepalive 10 120
```
> La directiva `tls-auth` añade una capa adicional de autenticación HMAC sobre el canal de control TLS para mitigar los ataques DoS y los ataques a la pila TLS. En pocas palabras, --tls-auth habilita una especie de "cortafuegos HMAC" en el puerto TCP/UDP de OpenVPN, donde los paquetes del canal de control TLS que lleven una firma HMAC incorrecta pueden ser descartados inmediatamente sin respuesta.
* Nos aseguramos de que `tls-auth` está habilitado (debemos eliminar el `;` inicial si existe)
@ -379,6 +413,13 @@ dh dh.pem
tls-auth ta.key 0 # This file is secret
```
* Habilitamos la compresión para mejorar la velocidad de conexión
```bash
compress lz4-v2
push "compress lz4-v2"
```
> La directiva `cipher` cifra los paquetes del canal de datos con el algoritmo de cifrado `alg`.El valor por defecto es `BF-CBC`, una abreviatura de [Blowfish en modo Cipher Block Chaining](https://cryptopp.com/wiki/Blowfish). Ya no se recomienda el uso de BF-CBC, debido a su tamaño de bloque de 64 bits. Este pequeño tamaño de bloque permite realizar ataques basados en colisiones, como ha demostrado [SWEET32](https://sweet32.info/#CBC). Nos pasaremos al cifrado [AES en modo Cipher Block Chaining](https://cryptopp.com/wiki/Advanced_Encryption_Standard) con bloques de 256 bits.
* Escogemos el cifrado `AES-256-CBC` que ofrece un buen nivel de seguridad
@ -395,8 +436,6 @@ cipher AES-256-CBC
auth SHA512
```
* Haremos que el servicio OpenVPN se ejecute con el usuario `nobody` y grupo `nogroup` descomentando estos valores
```bash
@ -404,18 +443,39 @@ user nobody
group nogroup
```
* Y para finalizar forzaremos que todo el tráfico de los clientes sea redirigido por la VPN. Buscaremos y descomentaremos las siguientes líneas
* Las opciones de persistencia tratarán de evitar el acceso a ciertos recursos en el reinicio que pueden dejar de ser accesibles debido a la reducción de privilegios.
```bash
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
persist-key
persist-tun
```
* Escribimos el estado (un resumen de las conexiones) cada minuto en un fichero
```bash
status /var/log/openvpn/openvpn-status.log
```
* También escribimos un fichero de registro que se mantendrá entre sesiones
```bash
log-append /var/log/openvpn/openvpn.log
```
* Establecemos el nivel de detalle que va desde 0 (nada) a 9 (ultra detallado)
```bash
verb 3
```
* Informamos a los clientes ante un reinio del servidor para que puedan reconectar posterirmente
```bash
explicit-exit-notify 1
```
[Referencia de configuración de OpenVPN](/assets/files/server.conf)
### Directivas adicionales
* Habilitar la redirección de tráfico