Grand pare-feu égyptien

Une pandémie fait rage dans le monde, les gens achètent du papier hygiénique et du sarrasin à l'échelle industrielle, et la plupart des sociétés informatiques transfèrent des employés vers un endroit éloigné. Mon employeur aussi - un bureau paraétatique allemand.

Fondamentalement, il n'y a pas eu de problème, mais l'un de nos employés il y a un mois, alors que tout ne semblait toujours pas si effrayant, je suis allé en vacances chez mes proches en Égypte et j'ai été bloqué en toute sécurité à cause de la fermeture de la frontière. Eh bien, elle est en bonne santé elle-même, un ordinateur portable de travail avec elle - elle est en quarantaine et travaille via un VPN. Une semaine fonctionne, deux ... La troisième semaine, le VPN a cessé de se connecter. Le support de la première ligne a vérifié la banalité, comme un redémarrage - cela n'a pas aidé. La deuxième ligne a commencé à diagnostiquer: la connexion passe en timeout perpétuel à l'étape TLS Handshake. Désactivé un pare-feu local - cela n'a pas aidé. Nous avons essayé une autre voiture - cela ne fonctionne pas. Un autre fournisseur ne fonctionne pas. À ce stade, l'équipe de support a abandonné et m'a poussé avec joie le problème selon le bon vieux principe du "responsable du réseau".

Nous regardons dans les journaux du serveur: il ne voit aucune tentative pour l'atteindre après avoir répondu au paquet initial. Drôle et assez familier. J'ai appelé un employé, je voulais savoir comment ils traitaient les droits de l'homme en général et la liberté d'Internet en particulier. Il dit que les choses vont mal, Internet les bloque pour que les chameaux hoquetent et Roskomnadzor fume nerveusement sur la touche. Oui ... Une recherche rapide sur Google montre un tas de plaintes concernant des problèmes VPN similaires en Égypte depuis 2017. Pour compléter le tableau, je demande si l'employée est dans le pays depuis plus de 2 semaines ces dernières années - non, dit-elle, non. Le puzzle commence à prendre forme.

Nous collectons une copie du serveur VPN d'entreprise sur une IP blanche gratuite - il n'y a pas de connexion. Attendu.
Nous changeons le port - il n'y a pas de connexion. C'est plus triste.

Nous changeons le protocole - il n'y a pas de connexion. Le puzzle s'est développé - devant nous se trouve DPI comme un grand pare-feu chinois.

L'employé est triste, le patron demande plaintivement: "Vous êtes un hacker russe, faites quelque chose." Eh bien ... Découvrez l'artillerie lourde de Darknet et faites pivoter l'obfsproxy.

Pour un serveur (CentOS 7), cela ressemble à ceci:

~ 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

Pour un client (MacOS) comme celui-ci:

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

Dans la configuration OpenVPN sur le client, ajoutez:

socks-proxy-retry
socks-proxy 127.0.0.1 8443

Profit OpenVPN dans le wrapper obfsproxy n'est pas détecté par les algorithmes de détection de signature locale, la session décolle, les pings vont, le trafic passe, l'employé est content. Il ne reste plus qu'à ajouter la partie client obfsproxy au chargement automatique de cette manière «évidente» (je déteste les coquelicots). Je dis au revoir à notre prisonnier de soulagement et j'écris une lettre pour soutenir dans l'esprit de "ce problème est résolu comme ça, mais je ne peux pas garantir la stabilité, et vous ne pouvez utiliser cette solution de contournement que s'il n'y a pas d'autre issue."

Apparemment, en Égypte, il y a une place pour un DPI particulièrement rusé, qui pour la première fois ne bloque pas la communication avec les nouveaux abonnés et / ou le trafic vers les nouveaux hôtes, en les référant à la catégorie conditionnelle «touristes». Et après l'expiration d'un certain délai, l'utilisateur est classé comme «le sien» et coupe joyeusement le trafic pour plaire aux rois locaux.

All Articles