Compare commits

..

3 Commits

Author SHA1 Message Date
José Antonio Yáñez Jiménez
600cfeee47 docs: update vpn/openvpn/servidor 2022-05-25 22:44:54 +00:00
José Antonio Yáñez Jiménez
fa09107812 docs: update vpn/openvpn/servidor 2022-05-25 22:41:45 +00:00
José Antonio Yáñez Jiménez
3dc155be4c docs: upload assets/files/server.conf 2022-05-25 22:40:48 +00:00
2 changed files with 110 additions and 11 deletions

44
assets/files/server.conf Normal file
View File

@ -0,0 +1,44 @@
port 6174
proto udp
dev tun0
ca ca.crt
cert ovpn.crt
key ovpn.key
dh dh.pem
server 10.10.10.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
auth SHA512
compress lz4-v2
push "compress lz4-v2"
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1

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:44:50.427Z
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)
@ -395,8 +429,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 +436,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
@ -424,6 +477,8 @@ push "dhcp-option DNS 208.67.220.220"
sudo nano /etc/sysctl.conf # sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1 # Descomentar esta línea
sudo sysctl -w net.ipv4.ip_forward=1
```
### Puesta en funcionamiento del servicio