GNU/Linux >> Tutoriales Linux >  >> Panels >> OpenVPN

Configuración de un servidor de ofuscación con Obfsproxy y Viscosity

La ofuscación se puede utilizar para evitar que su conexión VPN sea detectada y/o bloqueada. Algunos administradores (como puntos de acceso inalámbrico en cafés) optan por bloquear el tráfico de VPN en su red. Al ofuscar su conexión VPN, puede conectarse de forma segura a sus recursos de red remotos o navegar por Internet de forma privada mientras está conectado a dichas redes restringidas.

Los administradores de red pueden usar herramientas como Deep Packet Inspection (DPI) para clasificar y restringir el tráfico por protocolo, como HTTP, SSL, VPN, etc. Viscosity usa Obfsproxy para ofuscar su tráfico VPN. Obfsproxy transforma el tráfico VPN que proviene de su computadora para que se vea como lo que elija, de modo que sea más difícil de restringir a través de métodos DPI. Hay una serie de métodos diferentes que Obfsproxy puede usar para disfrazar su tráfico, incluido obfs2, que agrega un envoltorio de cifrado alrededor de su tráfico VPN para evitar que se parezca a cualquier protocolo en particular.

Configuración de Ubuntu

Preparación

Para esta guía, asumimos:

  • Ya has instalado la última versión de Ubuntu (18.04 en el momento de escribir este artículo)
  • Tienes raíz acceder a esta instalación de Ubuntu a través de terminal o ssh
  • Ya ha configurado un servidor OpenVPN TCP (no UDP)
  • Ya tiene una copia de Viscosity instalada en su dispositivo cliente

El servidor OpenVPN puede estar en esta instalación de Ubuntu, o en otra máquina, no importa. Si aún no ha configurado un servidor OpenVPN, consulte nuestras guías de configuración. Asegúrese de configurar el protocolo del servidor OpenVPN en TCP, no en UDP. También asumimos que esta instalación de Ubuntu es una instalación nueva, posiblemente con un servidor OpenVPN instalado también.

Si aún no tiene una copia de Viscosity instalada en su máquina cliente, consulte esta guía de configuración para instalar Viscosity (Mac | Windows).

Cómo empezar

Esta guía lo guiará a través de la configuración de uno de los siguientes protocolos de ofuscación:

  • obfs2
  • obfs3
  • traje revuelto
  • obfs4

Para comenzar, inicie sesión en la línea de comandos como raíz con sudo su - . Una vez que haya iniciado sesión, debemos asegurarnos de que la lista de repositorios de Ubuntu esté actualizada escribiendo lo siguiente:

sudo apt-get update

Para obfs2, obfs3 y obfs4 usaremos obfs4proxy. Para instalar obfs4proxy, ejecute lo siguiente:

sudo apt install -y obfs4proxy

Para scramblesuit, necesitará obfsproxy en su lugar, instálelo con lo siguiente y luego salte a la sección de scramblesuit más abajo:

sudo apt install -y obfsproxy

Una nota final antes de continuar, esta guía usa el puerto 12345 como ejemplo, para la mayoría de los casos, esto funciona bien. Sin embargo, es posible que desee cambiar esto al puerto 443 o al 80 si va a utilizar obfsproxy en lugares que bloquean todos los demás puertos. Tenga en cuenta que esto puede interferir con la capacidad de sus servidores para alojar sitios web o conectarse a fuentes externas, por lo que si elige estos puertos, ¡asegúrese de probarlo todo!

Configuración del servidor Obfs4proxy

Para comenzar a configurar obfs4proxy, si desea utilizar el protocolo obfs2, obfs3 u obfs4, primero configuramos la configuración. Cree un directorio para la configuración de obfs4proxy con lo siguiente:

sudo mkdir -p /var/lib/tor/pt_state/obfs4

A continuación, cree la configuración:

sudo nano /var/lib/tor/pt_state/obfs4/obfs4.config

Y pega lo siguiente:

TOR_PT_MANAGED_TRANSPORT_VER=1
TOR_PT_STATE_LOCATION=/var/lib/tor/pt_state/obfs4
TOR_PT_SERVER_TRANSPORTS=obfs4
TOR_PT_SERVER_BINDADDR=obfs4-0.0.0.0:12345
TOR_PT_ORPORT=127.0.0.1:443

Puede realizar los siguientes cambios según sea necesario:

  • TOR_PT_SERVER_TRANSPORTS - Este es el protocolo a usar, cámbielo a obfs2 u obfs3 si desea usar un protocolo diferente.
  • TOR_PT_SERVER_BINDADDR - Nuevamente, cambie obfs4 a obfs2 u obfs3 si desea usar un protocolo diferente. 12345 es el puerto en el que escucha obfs4proxy, también puede cambiar esto como desee.
  • TOR_PT_ORPORT - Esta es la dirección de su servidor OpenVPN. Si está ejecutando el servidor obfs4proxy en el mismo sistema que su servidor OpenVPN usando el puerto 443, no es necesario cambiar nada; de lo contrario, cambie esta dirección y puerto según sea necesario.

Guarde la configuración y salga de nano.

A continuación, debemos configurar un servicio para obfs4proxy. Para hacer esto, cree un nuevo archivo y ábralo en el editor nano con lo siguiente:

sudo nano /etc/systemd/system/obfs4proxy.service

Y pegue lo siguiente, guarde y cierre nano:

[Unit]
Description=obfs4proxy Server

[Service]
EnvironmentFile=/var/lib/tor/pt_state/obfs4/obfs4.config
ExecStart=/usr/bin/obfs4proxy -enableLogging true -logLevelStr INFO

[Install]
WantedBy=multi-user.target

A continuación, inicie el servicio y habilítelo para que se inicie automáticamente después de reiniciar:

sudo systemctl start obfs4proxy.service
sudo systemctl enable obfs4proxy.service

Puede comprobar que se inició correctamente con:

sudo systemctl status obfs4proxy.service

Finalmente, si está utilizando el protocolo obfs4, cuando inicie el servidor por primera vez, se generará una clave de contraseña que deberá pegar en Viscosity. Imprímelo con:

sudo cat /var/lib/tor/pt_state/obfs4/obfs4_bridgeline.txt | grep 'Bridge obfs4' | sed -e 's/^.*cert=\(.*\) .*$/\1/'

Configuración del servidor Scramblesuit

NOTA:Obfsproxy para scramblesuit ya no está disponible en los repositorios de Ubuntu 20 (Focal). Puede compilarlo usted mismo, sin embargo, recomendamos usar Obfs4 en su lugar.

Scramblesuit requiere una configuración diferente usando el antiguo programa obfsproxy. Para comenzar, cree un directorio vacío para obfsproxy con:

sudo mkdir -p /var/lib/tor/pt_state/scramblesuit

A continuación, necesitamos generar una contraseña para usar. Para hacer esto, escriba lo siguiente en la terminal:

python -c 'import os,base64; print base64.b32encode(os.urandom(20))'

Esto generará una línea de números y letras, haga una copia de esto, esta es su clave de contraseña para scramblesuit que necesitaremos a continuación y para Viscosity más adelante.

A continuación, cree una configuración de servicio y ábrala con nano:

sudo nano /etc/systemd/system/obfsproxy.service

Y pegue lo siguiente:

[Unit]
Description=Obfsproxy Server

[Service]
ExecStart=/usr/bin/obfsproxy --log-min-severity=info --data-dir=/var/lib/tor/pt_state scramblesuit --password=YOURPASSWORD --dest=127.0.0.1:443 server 0.0.0.0:12345

[Install]
WantedBy=multi-user.target

Realice los siguientes cambios según sea necesario:

  • SU CONTRASEÑA - Reemplace esto con la clave de contraseña que generamos anteriormente.
  • 127.0.0.1:443 - Esta es la dirección de su servidor OpenVPN. Esto es válido si su servidor OpenVPN se ejecuta en el mismo sistema que obfsproxy y está escuchando en el puerto 443; de lo contrario, cámbielo según sea necesario.
  • 0.0.0.0:12345 - Aquí donde obfsproxy está escuchando conexiones. Puede cambiar 12345 a un puerto diferente según sea necesario.

Guarde la configuración del servicio y salga de nano. Luego podemos iniciar el servicio y permitir que se inicie automáticamente después de reiniciar con:

sudo systemctl start obfsproxy.service
sudo systemctl enable obfsproxy.service

Puede comprobar que se inició correctamente con:

sudo systemctl status obfsproxy.service

Configuración del cortafuegos

Finalmente necesitamos permitir conexiones externas a Obfsproxy. Suponiendo que configure ufw (cortafuegos sin complicaciones) siguiendo nuestra guía del servidor Ubuntu, simplemente ingrese lo siguiente:

sudo ufw allow 12345
sudo ufw reload

Si cambió su puerto de 12345 que se muestra en esta guía, ajuste el número en el primer comando en consecuencia.

Configuración de la viscosidad

La interfaz proporcionada por las versiones de Viscosity para Mac y Windows es intencionalmente muy similar. Como tal, centraremos nuestra guía en la versión para Mac, señalando las diferencias con la versión de Windows a medida que surjan.

Si aún no tiene Viscosity ejecutándose, inicie Viscosity ahora. En la versión Mac verá aparecer el icono Viscosidad en la barra de menú. En la versión de Windows verá aparecer el icono de Viscosidad en la bandeja del sistema.

Haga clic en el ícono de Viscosidad en la barra de menú (Windows :bandeja del sistema) y seleccione "Preferencias...". Esto le muestra la lista de conexiones VPN disponibles. Suponemos que ya ha creado una conexión a su servidor OpenVPN. Si no ha creado una conexión Viscosity con su servidor OpenVPN, consulte nuestras guías de servidor OpenVPN. Seleccione su conexión previamente configurada y haga clic en "Editar":

Configurando la Conexión

Ahora deberá modificar los parámetros de conexión como se describe a continuación:

  1. En el General pestaña, reemplace la dirección del servidor con la dirección IP de su servidor Obfsproxy. Esto no cambiará si su servidor Obfsproxy se ejecuta en la misma máquina que su servidor OpenVPN.
  2. Actualice el puerto al puerto Obfsproxy establecido en la configuración anterior (12345 en nuestro ejemplo).
  3. El protocolo debe establecerse en TCP.


  4. Haga clic en Transportar pestaña.
  5. Establezca el método de ofuscación en el método de ofuscación seleccionado en la configuración del servidor Obfsproxy.
  6. No puede usar un proxy cuando usa ofuscación, así que asegúrese de que la opción "Conectar usando proxy" no esté marcada.
  7. Si está utilizando obfs4 o scramblesuit, pegue la clave de la contraseña en el campo "Clave".


  8. Haga clic en Save botón.

Conectando y usando su conexión VPN

Ahora está listo para conectarse. Haga clic en el ícono Viscosity en la barra de menú de macOS o en la bandeja del sistema de Windows para abrir el menú Viscosity, seleccione la conexión que importó y Viscosity se conectará.

Para verificar que la VPN esté funcionando, puede abrir la ventana Detalles desde el menú Viscosidad. Esto le permitirá ver los detalles de la conexión, el tráfico y el registro de OpenVPN.



Eso es todo, ha configurado su propio servidor OpenVPN. ¡Felicitaciones, ahora puede disfrutar de los beneficios de operar su propio servidor OpenVPN!


OpenVPN
  1. Configuración de un servidor y cliente NFS en CentOS 7.2

  2. Cómo instalar y configurar OpenLiteSpeed ​​Server en Ubuntu 18.04 junto con MariaDB

  3. Configuración de un servidor y cliente NFS en OpenSUSE 12.2

  4. Creación de certificados y claves para su servidor OpenVPN

  5. Configuración de un servidor OpenVPN con CentOS y Viscosity

Configuración de un servidor OpenVPN con Sophos XG y Viscosity

Configuración de un servidor OpenVPN con Synology y Viscosity

Configuración de un servidor OpenVPN con enrutador Tomato y Viscosity

Configuración de un servidor OpenVPN con Ubiquiti EdgeRouter (EdgeOS) y Viscosity

Configuración de un servidor OpenVPN con Ubuntu y Viscosity

Configuración de un servidor OpenVPN con VyOS y Viscosity