diff --git a/vpn/openvpn/guide.md b/vpn/openvpn/guide.md index 8e634c2..4459aec 100644 --- a/vpn/openvpn/guide.md +++ b/vpn/openvpn/guide.md @@ -2,7 +2,7 @@ title: OpenVPN - Guía de instalación description: Guía de instalación utilizada durante la realización de la práctica published: true -date: 2022-05-31T21:04:15.280Z +date: 2022-05-31T22:00:59.968Z tags: vpn, servidor editor: markdown dateCreated: 2022-05-31T21:04:15.280Z @@ -172,7 +172,6 @@ clear && echo "" && echo "" && echo "" && echo && echo "" && echo "" && echo "" # Panel oVPN (⌘ 4) ```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' ``` @@ -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" - --'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 +clear && cowsay -W 76 -f ovpn 'Comenzamos actualizando nuestro repositorio apt para después realizar la instalación de unas dependencias previas' +``` +```bash sudo apt update 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 +``` +```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 +``` -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 -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.' +``` - - - - --'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' - +```bash sudo cp ~/EasyRSA/pki/private/ovpn.key /etc/openvpn/ sudo cp /tmp/ovpn.crt ~/EasyRSA/pki/ovpn.crt 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/ ./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 +``` +```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/pki/dh.pem /etc/openvpn/ - +```