Compare commits

..

No commits in common. "b19cad562efe6e47b33289a6af98accd62656904" and "434f39fc2dbe2eb997251e8e558af77be33b9d69" have entirely different histories.

2 changed files with 16 additions and 126 deletions

View File

@ -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-06-02T10:11:26.934Z
date: 2022-06-02T09:08:06.065Z
tags: vpn, servidor
editor: markdown
dateCreated: 2022-05-31T21:04:15.280Z
@ -893,10 +893,14 @@ clear && cowsay -W 76 -f ovpn 'Ya que todo el tráfico de los clientes se enruta
```
```bash
clear && cowsay -W 76 -f ovpn 'Crearemos una copia de nuestra configuración base servidor.'
clear && cowsay -W 76 -f ovpn 'Crearemos copias de nuestra configuración base para clientes, servidor y del script de generación de configuración y alteraremos los valores para nuestra VPN alternativa.'
```
```bash
cp ~/client-configs/base.conf ~/client-configs/base-tor.conf
cp ~/client-configs/make_config.sh ~/client-configs/make_config_tor.sh
sudo cp /etc/openvpn/server.conf /etc/openvpn/tor.conf
```
@ -994,16 +998,6 @@ clear && cowsay -W 76 -f ovpn 'Habilitamos el inicio automático del servicio.'
sudo systemctl enable tor.service
```
```bash
clear && cowsay -W 76 -f ovpn 'Crearemos copias de nuestra configuración base para clientes y del script de generación de configuración.'
```
```bash
cp ~/client-configs/base.conf ~/client-configs/base-tor.conf
cp ~/client-configs/make_config.sh ~/client-configs/make_config_tor.sh
```
```bash
clear && cowsay -W 76 -f ovpn 'Modificamos la configuración y script de generación de configuraciones cliente para la variante TOR.'
```
@ -1059,10 +1053,6 @@ sudo ./make_config_tor.sh client4
clear && cowsay -W 76 -f ovpn 'Ahora deberemos modificar nuestras Net Filter Tables para que en la cadena de pre enrutamiento el tráfico de nuestra segunda VPN se redirija hacia los nodos TOR, estableciendo así un proxy transparente que redirigirá todo el tráfico de los clientes que conecten en esta modalidad.'
```
```bash
clear && cowsay -W 76 -f ovpn 'Limpiamos la configuración de nftables para pegar la nueva.'
```
```bash
sudo dd if=/dev/null of=/etc/nftables.conf && sudo vim /etc/nftables.conf
```

View File

@ -2,7 +2,7 @@
title: OpenVPN - Servidor
description: Tutorial de instalación del Servidor OpenVPN
published: true
date: 2022-06-02T10:08:47.365Z
date: 2022-06-02T08:46:03.887Z
tags: vpn, servidor, debian
editor: markdown
dateCreated: 2022-05-18T16:48:57.246Z
@ -745,7 +745,6 @@ table ip nat {
}
```
* [Referencia de configuración de Net Filter Tables](/assets/files/openvpn-server/nftables.conf).
* Ahora solo nos queda reiniciar el servicio, comprobar que ha levantado correctamente y habilitar su inicio automático.
@ -786,40 +785,31 @@ sudo vim /etc/openvpn/server.conf
crl-verify crl.pem
```
[Referencia de configuración de OpenVPN servidor con CRL](/assets/files/openvpn-server/server-crl.conf)
* Arrancar y comprobar el estado del servicio OpenVPN.
* Arrancar y comprobar el estado del servicio OpenVPN
```bash
sudo systemctl restart openvpn@server && sudo systemctl status openvpn@server
```
* Revisar el registro para comprobar que se está aplicando la CRL cuando un cliente intenta conectar.
* Revisar el registro para comprobar que se está aplicando la CRL cuando un cliente intenta conectar
```bash
sudo tail -f /var/log/openvpn/openvpn.log
```
# OpenVPN + TOR
## OpenVPN + TOR
> Ya que todo el tráfico de los clientes se enruta a través de la VPN, ¿Y si les damos la posibilidad de que puedan conectar a una VPN que además enrute todo su tráfico a través de nodos TOR? Sus comunicaciones quederán ocultas y podremos escoger el nodo de salida, haciendo que tanto la dirección de los clientes como del servidor queden ocultas.
## Configuración de OpenVPN
* Copiaremos nuestra configuración de servidor OpenVPN.
### Configuración de OpenVPN
```bash
sudo cp /etc/openvpn/server.conf /etc/openvpn/tor.conf
```
* La editamos.
```bash
sudo vim /etc/openvpn/tor.conf
```
* Modificamos algunos valores para poder establecer el servicio VPN alternativo.
```bash
port 6175
@ -836,10 +826,8 @@ status /var/log/openvpn/openvpn-status-tor.log
log-append /var/log/openvpn/openvpn-tor.log
```
[Referencia de configuración de OpenVPN TOR](/assets/files/openvpn-server/tor.conf)
## Puesta en funcionamiento del servicio OpenVPN TOR
### Puesta en funcionamiento del servicio
* Arrancar y comprobar el estado del servicio OpenVPN
@ -859,58 +847,25 @@ ip addr show tun1
sudo systemctl enable openvpn@tor
```
## Habilitando TOR
* Instalamos TOR.
## Habilitando tor
```bash
sudo apt install tor -y
```
* Editamos su fichero de configuración.
```bash
sudo vim /etc/tor/torrc
```
> Configuraremos la resolución de dominios `onion` y `exit` y la resolución DNS y HTTP a la dirección IP que tiene nuestra interfaz `tun1`.
>
> Por otra parte, solicitaremos que el nodo de salida de TOR sea a través de un servidor de los Estados Unidos.
```bash
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
AutomapHostsSuffixes .onion,.exit
DNSPort 10.10.20.1:53530
TransPort 10.10.20.1:9040
ExitNodes {us} StrictNodes 1
```
* Levantamos nuestro servicio TOR y comprobamos que todo funciona correctamente.
```bash
sudo systemctl restart tor.service && sudo systemctl status tor.service
sudo systemctl restart tor.service
sudo netstat -tulpen | grep tor
```
* Habilitamos el inicio automático del servicio.
```bash
sudo systemctl enable tor.service
```
## Nftables con TOR
> Ahora deberemos modificar nuestras Net Filter Tables para que en la cadena de pre enrutamiento el tráfico de nuestra segunda VPN se redirija hacia los nodos TOR, estableciendo así un proxy transparente que redirigirá todo el tráfico de los clientes que conecten en esta modalidad.
* Limpiamos la configuración de nftables para pegar la nueva.
```bash
sudo dd if=/dev/null of=/etc/nftables.conf && sudo vim /etc/nftables.conf
```
```bash
#!/usr/sbin/nft -f
@ -981,17 +936,12 @@ table ip nat {
}
```
* [Referencia de configuración de Net Filter Tables con TOR](/assets/files/openvpn-server/nftables-tor.conf).
* Reiniciamos nuestro servicio y comprobamos que todo funciona correctamente.
```bash
sudo systemctl restart nftables.service && sudo systemctl status nftables.service
```
## Configuración de script de cliente
* Copiamos la configuración y script de clientes base para personalizarlos para TOR.
### Configuración de script de cliente
```bash
cp ~/client-configs/base.conf ~/client-configs/base-tor.conf
@ -999,58 +949,8 @@ cp ~/client-configs/base.conf ~/client-configs/base-tor.conf
cp ~/client-configs/make_config.sh ~/client-configs/make_config_tor.sh
```
* Modificamos la configuración y script de generación de configuraciones cliente para la variante TOR.
```bash
nano ~/client-configs/base-tor.conf # vim ~/client-configs/base-tor.conf
```
* En base-tor solo cambiaremos el puerto de destino.
```bash
remote ovpn.bastionado.es 6175
```
* Ahora modificamos el script de generación de clientes.
```bash
nano ~/client-configs/make_config_tor.sh # vim ~/client-configs/make_config_tor.sh
```
```bash
#!/bin/bash
# First argument: Client identifier
KEY_DIR=/home/ovpn/client-configs/keys
OUTPUT_DIR=/home/ovpn/client-configs/files
BASE_CONFIG=/home/ovpn/client-configs/base-tor.conf
cat ${BASE_CONFIG} \
<(echo -e '<ca>') \
${KEY_DIR}/ca.crt \
<(echo -e '</ca>\n<cert>') \
${KEY_DIR}/${1}.crt \
<(echo -e '</cert>\n<key>') \
${KEY_DIR}/${1}.key \
<(echo -e '</key>\n<tls-auth>') \
${KEY_DIR}/ta.key \
<(echo -e '</tls-auth>') \
> ${OUTPUT_DIR}/bastionado-tor-${1}.ovpn
```
* Y ahora ya podemos generar nuestros ficheros `ovpn` TOR para nuestros clientes.
```bash
cd ~/client-configs
sudo ./make_config_tor.sh client1
sudo ./make_config_tor.sh client2
sudo ./make_config_tor.sh client3
sudo ./make_config_tor.sh client4
```
# Landing Page para clientes
## Landing Page para descarga de configuración cliente
```bash
curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x