Gran cortafuegos egipcio

Se está produciendo una pandemia en el mundo, la gente está comprando papel higiénico y trigo sarraceno a escala industrial, y la mayoría de las empresas de TI están transfiriendo empleados a una ubicación remota. Lo mismo hizo mi empleador, una oficina paraestatal alemana.

Básicamente, no hubo problemas, pero uno de nuestros empleados hace un mes, cuando todo parecía no dar tanto miedo, me fui de vacaciones a mis familiares en Egipto y me quedé atrapado allí debido al cierre de la frontera. Bueno, ella misma está sana, una computadora portátil que funciona con ella, se ha puesto en cuarentena y funciona a través de una VPN. Una semana funciona, dos ... En la tercera semana, la VPN dejó de conectarse. El soporte de la primera línea comprobó el lugar común, como un reinicio, no ayudó. La segunda línea comenzó a diagnosticar: la conexión entra en un tiempo de espera perpetuo en la etapa TLS Handshake. Deshabilitó un firewall local, no sirvió de nada. Intentamos con otro auto, no funciona. Otro proveedor no funciona. En este punto, el equipo de soporte se rindió y alegremente me empujó el problema de acuerdo con el viejo principio de "el administrador de la red tiene la culpa".

Buscamos en los registros del servidor: no ve ningún intento de alcanzarlo después de responder el paquete inicial. Divertido y bastante familiar. Llamé a un empleado, estaba interesado en cómo tratan los derechos humanos en general y la libertad de Internet en particular. Él dice que las cosas están mal, que Internet las está bloqueando para que los camellos tengan hipo, y Roskomnadzor fuma nerviosamente al margen. Sí ... Una búsqueda rápida en Google muestra un montón de quejas sobre problemas similares de VPN en Egipto desde 2017. Para completar la imagen, le pregunto si el empleado ha estado en la patria durante más de 2 semanas en los últimos años; no, dice, no lo ha estado. El rompecabezas comienza a tomar forma.

Levantamos una copia del servidor VPN corporativo en una IP blanca gratis, no hay conexión. Esperado.
Cambiamos el puerto, no hay conexión. Esto es mas triste.

Cambiamos el protocolo, no hay conexión. El rompecabezas se ha desarrollado: frente a nosotros hay DPI como un gran firewall chino.

El empleado está triste, el jefe se queja lastimosamente: "Eres un hacker ruso, haz algo". Bueno ... Descubre la artillería pesada de Darknet y rota obfsproxy.

Para un servidor (CentOS 7), se ve así:

~ sudo pip install virtualenv
~ cd /etc/openvpn && virtualenv venv && source venv/bin/activate
~ sudo pip install obfsproxy
~ sudo -u openvpn /etc/openvpn/venv/bin/python /etc/openvpn/venv/bin/obfsproxy obfs3 --dest=127.0.0.1:1194 server 1.2.3.4:49416

Para un cliente (MacOS) como este:

~ brew install pip
~ pip install pyopenssl obfsproxy
~ obfsproxy obfs3 socks 127.0.0.1:8443

En la configuración de OpenVPN en el cliente, agregue:

socks-proxy-retry
socks-proxy 127.0.0.1 8443

Lucro OpenVPN en obfsproxy wrapper no es detectado por los algoritmos locales de detección de firmas, la sesión despega, los pings van, el tráfico se ejecuta, el empleado está contento. Solo queda agregar la parte del cliente obfsproxy para cargar automáticamente de esta manera "obvia" (odio las amapolas). Le digo adiós a nuestro prisionero con alivio y escribo una carta de apoyo en el espíritu de "este problema se resuelve de esta manera, pero no puedo garantizar la estabilidad, y solo puede usar esta solución alternativa si no hay otra salida".

Aparentemente, en Egipto hay un lugar para ser DPI especialmente astutos, que al principio no bloquea la comunicación con los nuevos suscriptores y / o el tráfico a los nuevos anfitriones, refiriéndolos a la categoría condicional de "turistas". Y después de que expire un cierto tiempo de espera, el usuario se clasifica como "propio" y alegremente corta el tráfico para complacer a los reyes locales.

All Articles