docs: update vpn/openvpn/servidor
This commit is contained in:
parent
3dc155be4c
commit
fa09107812
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user