Compare commits
3 Commits
dfdcbc9d48
...
b6b33debbd
Author | SHA1 | Date | |
---|---|---|---|
|
b6b33debbd | ||
|
26ecab93ff | ||
|
0e122c874f |
@ -2,7 +2,7 @@
|
|||||||
title: OpenVPN - Guía de instalación
|
title: OpenVPN - Guía de instalación
|
||||||
description: Guía de instalación utilizada durante la realización de la práctica
|
description: Guía de instalación utilizada durante la realización de la práctica
|
||||||
published: true
|
published: true
|
||||||
date: 2022-05-31T21:04:15.280Z
|
date: 2022-05-31T22:00:59.968Z
|
||||||
tags: vpn, servidor
|
tags: vpn, servidor
|
||||||
editor: markdown
|
editor: markdown
|
||||||
dateCreated: 2022-05-31T21:04:15.280Z
|
dateCreated: 2022-05-31T21:04:15.280Z
|
||||||
@ -172,7 +172,6 @@ clear && echo "" && echo "" && echo "" && echo && echo "" && echo "" && echo ""
|
|||||||
# Panel oVPN (⌘ 4)
|
# Panel oVPN (⌘ 4)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
||||||
clear && cowsay -W 76 -f ovpn 'Primero inicializamos nuestra infraestructura de Clave Pública en oVPN, como se informa que el fichero vars se ha movido a la PKI, se procede a mover el fichero personalizado, luego generamos la solicitud de nuesta VPN, y enviamos la solicitud de nuestra VPN a la SubCA para validarla'
|
clear && cowsay -W 76 -f ovpn 'Primero inicializamos nuestra infraestructura de Clave Pública en oVPN, como se informa que el fichero vars se ha movido a la PKI, se procede a mover el fichero personalizado, luego generamos la solicitud de nuesta VPN, y enviamos la solicitud de nuestra VPN a la SubCA para validarla'
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -203,49 +202,87 @@ scp pki/issued/ovpn.crt ovpn@ovpn.bastionado.es:/tmp
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Panel Títulos (⌘ 1)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && echo "" && echo "" && echo "" && echo && echo "" && echo "" && echo "" && echo "" && echo "" && echo "" && figlet -w 170 -f ansi-shadow 'INSTALACION DE' -c | lolcat && echo "" && echo "" && echo "" && figlet -w 220 -f ansi-shadow 'OPEN VPN' -c | lolcat -a -d 1 && echo "" && echo "" && echo "" && sleep 10 && clear
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
# Panel oVPN (⌘ 4)
|
||||||
|
|
||||||
"OPENVPN"
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Comenzamos actualizando nuestro repositorio apt para después realizar la instalación de unas dependencias previas'
|
||||||
-'Instalación de dependencias OpenVPN'
|
```
|
||||||
clear && cowsay -W 76 -f ovpn 'Comenzamos actualizando nuestro repositorio apt, después se realiza la instalación de unas dependencias previas, se añaden las claves PGP del respositorio de OpenVPN y añadimos el repositorio de OpenVPN a nuestros listado de repositorios'
|
|
||||||
|
|
||||||
|
```bash
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
|
||||||
sudo apt -y install ca-certificates wget net-tools gnupg
|
sudo apt -y install ca-certificates wget net-tools gnupg
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Vamos a utilizar el repositorio mantenido por OpenVPN para instalar una versión más actualizada del mismo, por lo que, en primer lugar, debemos añadir las claves GPG creando un Keyring ya que `APT Key` está obsoleto.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
wget -qO- https://swupdate.openvpn.net/repos/repo-public.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/openvpn-archive-keyring.gpg > /dev/null
|
wget -qO- https://swupdate.openvpn.net/repos/repo-public.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/openvpn-archive-keyring.gpg > /dev/null
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Añadimos el repositorio de OpenVPN apuntando el firmado al Keyring que acabos de crear.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
echo "deb [signed-by=/usr/share/keyrings/openvpn-archive-keyring.gpg] http://build.openvpn.net/debian/openvpn/stable bullseye main" | sudo tee /etc/apt/sources.list.d/openvpn-repo.list > /dev/null
|
echo "deb [signed-by=/usr/share/keyrings/openvpn-archive-keyring.gpg] http://build.openvpn.net/debian/openvpn/stable bullseye main" | sudo tee /etc/apt/sources.list.d/openvpn-repo.list > /dev/null
|
||||||
|
```
|
||||||
|
|
||||||
clear && cowsay -W 76 -f ovpn 'Turno de volver a actualizar el lista de repositorios y ya se puede proceder a la instalación de OpenVPN'
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Turno de volver a actualizar el lista de repositorios y ya se puede proceder a la instalación de OpenVPN.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
sudo apt update
|
sudo apt update
|
||||||
|
|
||||||
sudo apt -y install openvpn
|
sudo apt -y install openvpn
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Es el momento de recuperar los certificados que dejamos en /tmp y la clave privada.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-'Configuración de certificados y seguridad TLS'
|
|
||||||
clear && cowsay -W 76 -f ovpn 'Copiamos los certificados que dejamos en /tmp y la clave privada, volvemos a la ruta de EasyRSA para generar la clave Diffie-Hellman, generamos la firma HMAC para reforzar las capacidades de verificación de integridad TLS y se mueven los ficheros generados a nuestro directorio de OpenVPN'
|
|
||||||
|
|
||||||
sudo cp ~/EasyRSA/pki/private/ovpn.key /etc/openvpn/
|
sudo cp ~/EasyRSA/pki/private/ovpn.key /etc/openvpn/
|
||||||
sudo cp /tmp/ovpn.crt ~/EasyRSA/pki/ovpn.crt
|
sudo cp /tmp/ovpn.crt ~/EasyRSA/pki/ovpn.crt
|
||||||
sudo mv /tmp/{ovpn.crt,ca.crt} /etc/openvpn/
|
sudo mv /tmp/{ovpn.crt,ca.crt} /etc/openvpn/
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Ahora volvemos a la ruta de EasyRSA para generar la clave Diffie-Hellman. Se trata de un algoritmo que permite crear una clave secreta entre dos equipos que nunca han tenido contacto previo, a través de un canal inseguro, y mediante el envío de solo dos mensajes. Aunque es algo lento, generaremos una clave de 4096 bits.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
cd ~/EasyRSA/
|
cd ~/EasyRSA/
|
||||||
|
|
||||||
./easyrsa --keysize=4096 gen-dh
|
./easyrsa --keysize=4096 gen-dh
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'En el modo de clave estática, se genera una clave precompartida que se comparte entre ambos pares de OpenVPN antes de iniciar el túnel. Esta clave estática contiene 4 claves independientes: HMAC de envío, HMAC de recepción, cifrado y descifrado. Por defecto, en el modo de clave estática, ambos hosts utilizarán la misma clave HMAC y la misma clave de cifrado/descifrado. Sin embargo, utilizando el parámetro `--secret`, es posible utilizar las 4 claves de forma independiente.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
sudo openvpn --genkey secret ta.key
|
sudo openvpn --genkey secret ta.key
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clear && cowsay -W 76 -f ovpn 'Ya podemos mover las claves generadas a la instalación de OpenVPN.'
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
sudo mv ~/EasyRSA/ta.key /etc/openvpn/
|
sudo mv ~/EasyRSA/ta.key /etc/openvpn/
|
||||||
sudo mv ~/EasyRSA/pki/dh.pem /etc/openvpn/
|
sudo mv ~/EasyRSA/pki/dh.pem /etc/openvpn/
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
title: OpenVPN - Servidor
|
title: OpenVPN - Servidor
|
||||||
description: Tutorial de instalación del Servidor OpenVPN
|
description: Tutorial de instalación del Servidor OpenVPN
|
||||||
published: true
|
published: true
|
||||||
date: 2022-05-31T13:06:22.801Z
|
date: 2022-05-31T22:01:23.030Z
|
||||||
tags: vpn, servidor, debian
|
tags: vpn, servidor, debian
|
||||||
editor: markdown
|
editor: markdown
|
||||||
dateCreated: 2022-05-18T16:48:57.246Z
|
dateCreated: 2022-05-18T16:48:57.246Z
|
||||||
@ -242,6 +242,7 @@ sudo cp ~/EasyRSA/pki/private/ovpn.key /etc/openvpn/
|
|||||||
sudo cp /tmp/ovpn.crt ~/EasyRSA/pki/ovpn.crt
|
sudo cp /tmp/ovpn.crt ~/EasyRSA/pki/ovpn.crt
|
||||||
sudo mv /tmp/{ovpn.crt,ca.crt} /etc/openvpn/
|
sudo mv /tmp/{ovpn.crt,ca.crt} /etc/openvpn/
|
||||||
```
|
```
|
||||||
|
> Diffie-Hellman es un algoritmo que permite crear una clave secreta entre dos equipos que nunca han tenido contacto previo, a través de un canal inseguro, y mediante el envío de solo dos mensajes. Aunque es algo lento, es recomendable crear una clave de 4096 bits.
|
||||||
|
|
||||||
* Volvemos a la ruta de EasyRSA para generar la clave Diffie-Hellman
|
* Volvemos a la ruta de EasyRSA para generar la clave Diffie-Hellman
|
||||||
|
|
||||||
@ -251,6 +252,9 @@ cd ~/EasyRSA/
|
|||||||
./easyrsa --keysize=4096 gen-dh
|
./easyrsa --keysize=4096 gen-dh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> En el modo de clave estática, se genera una clave precompartida que se comparte entre ambos pares de OpenVPN antes de iniciar el túnel. Esta clave estática contiene 4 claves independientes: HMAC de envío, HMAC de recepción, cifrado y descifrado. Por defecto, en el modo de clave estática, ambos hosts utilizarán la misma clave HMAC y la misma clave de cifrado/descifrado. Sin embargo, utilizando el parámetro `--secret`, es posible utilizar las 4 claves de forma independiente.
|
||||||
|
|
||||||
|
|
||||||
* Generamos la firma HMAC para reforzar las capacidades de verificación de integridad TLS
|
* Generamos la firma HMAC para reforzar las capacidades de verificación de integridad TLS
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -266,7 +270,7 @@ sudo mv ~/EasyRSA/pki/dh.pem /etc/openvpn/
|
|||||||
|
|
||||||
### Certificados Cliente
|
### Certificados Cliente
|
||||||
|
|
||||||
Cona la estructura propuesta las solicitudes de certificados cliente serán generadas desde el servidor de OpenVPN `oVPN` y firmadas desde la SubCA `Signer`, de tal modo que, posteriormente, el cliente simplemente recibirá un fichero de configuración para conectar a la VPN junto con sus certificados sin tener que estar intercambiando certificados inicialmente si fuera el propio cliente el que realizara la solicitud de creación de certificado.
|
Con la estructura propuesta las solicitudes de certificados cliente serán generadas desde el servidor de OpenVPN `oVPN` y firmadas desde la SubCA `Signer`, de tal modo que, posteriormente, el cliente simplemente recibirá un fichero de configuración para conectar a la VPN junto con sus certificados sin tener que estar intercambiando certificados inicialmente si fuera el propio cliente el que realizara la solicitud de creación de certificado.
|
||||||
|
|
||||||
* Crearemos un directorio en nuestra VPN para almacenar las configuraciones de cliente y restringiremos los permisos
|
* Crearemos un directorio en nuestra VPN para almacenar las configuraciones de cliente y restringiremos los permisos
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user