Grande firewall egípcio

Uma pandemia está ocorrendo no mundo, as pessoas estão comprando papel higiênico e trigo sarraceno em escala industrial, e a maioria das empresas de TI está transferindo funcionários para um local remoto. O mesmo aconteceu com meu empregador - um escritório paraestatal alemão.

Basicamente, não houve problemas, mas um de nossos funcionários há um mês, quando tudo parecia ainda não tão assustador, eu saí de férias com meus parentes no Egito e fiquei em segurança ali por causa do fechamento da fronteira. Bem, ela é saudável, um laptop funcional com ela - ela se coloca em quarentena e trabalha por meio de uma VPN. Uma semana funciona, duas ... Na terceira semana, a VPN parou de se conectar. O suporte da primeira linha verificou o lugar-comum, como uma reinicialização - não ajudou. A segunda linha começou a diagnosticar: a conexão entra em tempo limite perpétuo no estágio TLS Handshake. Desabilitou um firewall local - não ajudou. Tentamos outro carro - ele não funciona. Outro provedor não funciona. Nesse ponto, a equipe de suporte desistiu e alegremente me colocou o problema de acordo com o bom e velho princípio de "o gerente de rede é o culpado".

Nós olhamos nos logs do servidor: ele não vê nenhuma tentativa de alcançá-lo depois de responder ao pacote inicial. Engraçado e bem familiar. Liguei para um funcionário, estava interessado em como eles lidam com os direitos humanos em geral e a liberdade da Internet em particular. Ele diz que as coisas estão ruins, a Internet as está bloqueando para que os camelos soluçam, e Roskomnadzor fuma nervosamente à margem. Sim ... Uma pesquisa rápida no Google mostra várias reclamações sobre problemas de VPN semelhantes no Egito desde 2017. Para completar, pergunto se o funcionário está na terra natal há mais de duas semanas nos últimos anos - não, ela diz, não esteve. O quebra-cabeça começa a tomar forma.

Aumentamos uma cópia do servidor VPN corporativo em um IP branco gratuito - não há conexão. Esperado.
Mudamos a porta - não há conexão. Isso é mais triste.

Mudamos o protocolo - não há conexão. O quebra-cabeça se desenvolveu - à nossa frente o DPI é como um grande firewall chinês.

O funcionário está triste, o chefe pergunta com tristeza: "Você é um hacker russo, faça alguma coisa". Bem ... Descubra a artilharia pesada de Darknet e gire obfsproxy.

Para um servidor (CentOS 7), fica assim:

~ 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 um cliente (MacOS) como este:

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

Na configuração do OpenVPN no cliente, adicione:

socks-proxy-retry
socks-proxy 127.0.0.1 8443

Lucro O OpenVPN no wrapper obfsproxy não é detectado pelos algoritmos de detecção de assinaturas locais, a sessão decola, os pings vão, o tráfego é executado, o funcionário está feliz. Resta apenas adicionar a parte do cliente obfsproxy ao carregamento automático dessa maneira "óbvia" (eu odeio papoilas). Eu digo adeus ao prisioneiro em alívio e escrevo uma carta para apoiar no espírito de "esse problema foi resolvido assim, mas não posso garantir a estabilidade, e você só pode usar essa solução alternativa se não houver outra saída".

Aparentemente, no Egito, existe um lugar para o DPI astuto, que inicialmente não bloqueia a comunicação com novos assinantes e / ou o tráfego para novos hosts, referindo-os à categoria condicional de "turistas". E após o término de um determinado tempo limite, o usuário é classificado como "próprio" e corta o tráfego com prazer para agradar os reis locais.

All Articles