From 6051aea5b1246dd00e04685346ffcfebf0a6f004 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Antonio=20Y=C3=A1=C3=B1ez=20Jim=C3=A9nez?=
 <wiki@codigojose.com>
Date: Wed, 25 May 2022 22:13:19 +0000
Subject: [PATCH] docs: update vpn/openvpn/servidor

---
 vpn/openvpn/servidor.md | 68 ++++++++++++++++++++++++-----------------
 1 file changed, 40 insertions(+), 28 deletions(-)

diff --git a/vpn/openvpn/servidor.md b/vpn/openvpn/servidor.md
index 21731d8..69ce3a9 100644
--- a/vpn/openvpn/servidor.md
+++ b/vpn/openvpn/servidor.md
@@ -2,7 +2,7 @@
 title: OpenVPN - Servidor
 description: Tutorial de instalación del Servidor OpenVPN
 published: true
-date: 2022-05-25T22:01:16.999Z
+date: 2022-05-25T22:13:16.266Z
 tags: vpn, servidor, debian
 editor: markdown
 dateCreated: 2022-05-18T16:48:57.246Z
@@ -293,40 +293,37 @@ cd ~/EasyRSA/
 cp pki/private/{client1.key,client2.key,client3.key,client4.key} ~/client-configs/keys/
 ```
 
-* Enviamos la solicitud de nuestra VPN a la SubCA para validarla
+* Enviamos las solicitudes de nuestra VPN a la SubCA para validarlas
 
 ```bash
-scp ~/EasyRSA/pki/reqs/client1.req signer@signer.bastionado.es:/tmp
+scp ~/EasyRSA/pki/reqs/{client1.req,client2.req,client3.req,client4.req} signer@signer.bastionado.es:/tmp
 ```
 
 * Nos situamos sobre la SubCA e importamos y firmamos las solicitudes
 
-```bash
-ssh signer@signer.bastionado.es
-
-cd ~/EasyRSA
-```
-
-* Importamos y firmamos la solicitud
-
 ```bash
 ./easyrsa import-req /tmp/client1.req client1
+./easyrsa import-req /tmp/client2.req client2
+./easyrsa import-req /tmp/client3.req client3
+./easyrsa import-req /tmp/client4.req client4
 
 ./easyrsa sign-req client client1
+./easyrsa sign-req client client2
+./easyrsa sign-req client client3
+./easyrsa sign-req client client4
 ```
 
-* Devolvemos el certificado válido a nuestra oVPN
+* Devolvemos los certificados válidos a nuestra oVPN
 
 ```bash
-scp pki/issued/client1.crt ovpn@ovpn.bastionado.es:/tmp
+scp pki/issued/{client1.crt,client2.crt,client3.crt,client4.crt} ovpn@ovpn.bastionado.es:/tmp
 ```
 
 * Volvemos a la VPN y copiamos el certificado a nuestro directorio de configuraciones Cliente
 
 ```bash
-exit
 
-cp /tmp/client1.crt ~/client-configs/keys/
+cp /tmp/{client1.crt,client2.crt,client3.crt,client4.crt} ~/client-configs/keys/
 ```
 
 * Ahora copiamos el certificado de la SubCA y la Firma HMAC a nuestro directorio de configuraciones Cliente
@@ -334,8 +331,7 @@ cp /tmp/client1.crt ~/client-configs/keys/
 ```bash
 exit
 
-sudo cp /etc/openvpn/ta.key ~/client-configs/keys/
-sudo cp /etc/openvpn/ca.crt ~/client-configs/keys/
+sudo cp /etc/openvpn/{ca.crt,ta.key} ~/client-configs/keys/
 ```
 
 ### Configuración de OpenVPN
@@ -345,11 +341,36 @@ Ahora que ya hemos terminado completamente con la Infraestructura de Clave Públ
 * Comenzamos copiando la configuración de ejemplo y lo editamos
 
 ```bash
-sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/
-
 sudo nano /etc/openvpn/server.conf # sudo vim /etc/openvpn/server.conf
 ```
 
+* Modificamos el puerto por defecto y mantenemos el uso del protocolo UDP, más rápido y resistente frente a ataques de denegación de servicio
+
+```bash
+port 6174
+proto udp
+```
+
+* Especificamos la interfaz de red que se creará de forma explícita como `tun0`
+
+```bash
+dev tun0
+```
+
+* Apuntaremos a nuestros certificados generados anteriormente
+
+```bash
+ca ca.crt
+cert ovpn.crt
+key ovpn.key
+```
+
+* Establecemos la directiva `dh` con nuestra clave generada anteriormente
+
+```bash
+dh dh.pem
+```
+
 > 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)
@@ -374,11 +395,7 @@ cipher AES-256-CBC
 auth SHA512
 ```
 
-* Buscamos la directiva `dh` para modificar su nombre a `dh.pem` ya que es como se denomina nuestro fichero generado anteriormente
 
-```bash
-dh dh.pem
-```
 
 * Haremos que el servicio OpenVPN se ejecute con el usuario `nobody` y grupo `nogroup` descomentando estos valores
 
@@ -387,12 +404,7 @@ user nobody
 group nogroup
 ```
 
-* Apuntaremos a nuestro certificado generado anteriormente
 
-```bash
-cert ovpn.crt
-key ovpn.key
-```
 
 
 * Y para finalizar forzaremos que todo el tráfico de los clientes sea redirigido por la VPN. Buscaremos y descomentaremos las siguientes líneas