Великий египетский фаерволл

    В мире бушует пандемия, народ скупает туалетную бумагу и гречку в промышленных масштабах, а ИТ компании в большинстве своем переводят сотрудников на удаленку. Так поступил и мой работодатель — немецкая полугосударственная контора.

    В основном проблем не возникло, но одна из наших сотрудниц с месяц назад, когда все выглядело еще не так страшно, поехала в отпуск к родне в Египет и благополучно застряла там из-за закрытия границ. Ну, сама-то здорова, рабочий ноут с ней — сидит себе на карантине и работает через VPN. Неделю работает, две… На третью неделю VPN перестал подключаться. Саппорт первой линии проверил банальности навроде перезагрузки — не помогло. Вторая линия стала диагностировать: соединение уходит в вечный таймаут на стадии TLS Handshake. Отключили локальный фаерволл — не помогло. Попробовали другую машину — не работает. Другого провайдера — не работает. На этом моменте саппорты сдались и радостно спихнули проблему на меня по старому доброму принципу «во всем виноват сетевик».

    Смотрим в логи сервера: он вообще не видит попыток до него достучаться после ответа на initial packet. Забавно и довольно знакомо. Звоню сотруднице, интересуюсь, как у них там дела с правами человека вообще и свободой интернета в частности. Говорит, что дела хреново, интернеты же у них блокируют так, что верблюдам икается, а Роскомнадзор нервно курит в сторонке. Ага… Беглый гуглеж показывает кучу жалоб на аналогичные проблемы с VPN в Египте, начиная с 2017 года. Для завершения картины спрашиваю, бывала ли сотрудница на родине в последние годы дольше 2 недель — нет, говорит, не бывала. Пазл начинает складываться.

    Поднимаем копию корпоративного VPN сервера на свободном белом IP — нет коннекта. Ожидаемо.
    Меняем порт — нет коннекта. Это уже печальнее.

    Меняем протокол — нет коннекта. Пазл сложился — перед нами DPI наподобие великого китайского фаерволла.

    Сотрудница грустит, начальство жалобно просит «ты же русский хакер, сделай что-нибудь». Ну ладно… Расчехляем тяжелую артиллерию даркнета и вкорячиваем obfsproxy.

    Для сервера (CentOS 7) это выглядит так:

    ~ 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

    Для клиента (MacOS) так:

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

    В конфиг OpenVPN на клиенте добавляем:

    socks-proxy-retry
    socks-proxy 127.0.0.1 8443

    Профит. OpenVPN в обертке obfsproxy не детектится местными алгоритмами определения сигнатур, сессия взлетает, пинги ходят, трафик бегает, сотрудница счастлива. Осталось только добавить клиентскую часть obfsproxy в автозагрузку вот этим «очевидным» способом (ненавижу маки). Я облегченно прощаюсь с нашей узницей пустыни и пишу письмо саппортам в духе «эта проблема решается вот так, но стабильность не гарантирую, и юзать этот workaround можно только если совсем нет другого выхода».

    Судя по всему, в Египте имеет место быть особо хитрозадый DPI, который первое время не блокирует связь новым абонентам и/или трафик на новые хосты, относя таковые к условной категории «туристы». А после истечения некоего таймаута относит пользователя к категории «своих» и радостно режет трафик в угоду местным царькам.

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 45

      +4
      А как проверяется условие «турист»? По MAC-у? Тогда простая смена его решит проблему?
        +1
        Сомневаюсь. Скорее там IMEI (если это мобильный интернет) либо физический адрес + IP (если станцонарный), плюс комбинация паттернов сетевого поведения.
        0
        Так выходит проблемы создать великий фаерволл нет на самом деле, и все эти пляски в России просто показуха?
          +6
          А кто сказал что его без проблем создавали?
            0
            есть. У наших ближневосточных и африканских друзей связность с внешним миром обычно организована через одного-двух местных телекомов. А в России — прорва связей, множество игроков и зоопарк технологий.

            По опыту прошлого года из Китая тоже вполне неплохо можно ходить наружу через обычный IKEv2.
              +10
              Так ведь эту прорву связей и уменьшают закономерно в течение лет десяти уже. То запреты иметь внешние линки не «федеральным» провайдерам, то принудиловка хранить прорву трафика (экономически задушить) и так далее. Всё для того, чтобы остался один Ростелеком с одним простым рубильником.
                +1
                то, что эта работа идёт 10 лет и ей конца-края не видно — как раз говорит о том, что нашим властям достался гораздо более сложный рынок, чем египетским
                  0
                  del
                  0
                  прорва связей, множество игроков

                  А по ощущениям кроме транстелекома никого и нет.
                  • НЛО прилетело и опубликовало эту надпись здесь
                  +1

                  Интересно, работает ли в Египте телеграм.

                    0

                    В январе работал, через Orange mobile с местной туристической симкой. Но пополнить баланс я так и не смог. В их приложении выбивало что мой банк отказывает в транзакции (при этом до ввода 3D secure не доходило), но в поддержке банка заверили что по логам не было даже попытки списать средства.
                    Очень часто не работали видео звонки в скайпе / фейстайме. Помогало подрубить cloudflare warp+ (iOS).

                      0

                      Боюсь, ребята из Orange просто не хотели почему-то раскрывать вам специфичную местную кухню. Мне ребята двух их провайдеров(Orange и Vodafone) в где-то в третьем квартале 2019 прямо сказали, что пополнить карту не выйдет. Что-бы сразу определялся, на сколько недель(счёт кратный, неделями) буду пользоваться их симкой, и брал немного с запасом. Если закончится одна туристическая симка, через нужного человека (общий знакомый) — чтобы брал другую(для получения такой симки вам или вашему знакомому нужен будет ваш паспорт с вклеенной туристической визой, доверять его можно только проверенным людям), так как пополнить первую туристу не реально(они блокируют пополнение, не особо афишируя это). В общем, есть у них нюансы, не понятные нам, жителям стран, где одноразовые симки без регистрации и паспорта, и одноразовые телефоны, что можно купить где угодно, без демонстрации паспорта — это норма.

                        0

                        Ну меня ещё напрягло, что продавцы не дали симку в руки (аэропорт Шарм-Эль-Шейха). Мол нифига вас не понимаем, давайте сами вставим в телефон и всё настроим. Вставить симку я дал, но телефон не разблокировал, на что они очень обиделись.
                        Траффика мне не хватило, хотя брал самый дорогой пакет. Последних два для сидел в строжайшей экономии через DrimSim.

                    0
                    А по каким критериям кроме аналогий с китайским фаервол назван великим?
                      +3
                      Это постирония.
                      0

                      А в Египте нет преследований за такие обходные манёвры?

                        +4

                        Сталкивался с их файроволом :) Первые дни всё летает, потом на том же ТП от Vodafone — некоторые ресурсы дико тормозят, другие продолжают летать. Что интересно, русские соцсети и мессенджеры работают оттуда всегда ровно, западные они не любят. Но самое главное, перестаёт совсем работать функционал звонков в Skype. При этом Viber как-то обходил в прошлом году эти блокировки. Также не работают многие прокси, да тот же VPN. Что интересно, мальчики что подключают к местному провайдеру сразу предлагают тариф для туристов, активный только на нужное количество дней. С ним всё работает лучше. Но не долго, обычно кратное количество недель, указанное при подключении. Потом симка становится навсегда неактивной. В общем, подход даже не совсем китайский, это чем-то похоже на кобинацию методов Китая и КНДР(где для чужаков стрёмный интернет, для местных, что при деньгах — своя сеть, работающая параллельно).

                          0
                          О, это интересно, спасибо :)
                            0
                            А Tor там работает из коробки, или надо мосты брать/приседания делать?
                              0

                              Про Tor, к сожалению, ничего не могу сказать. Даже не пробовал его там завести. Я не пытался обойти блокировки из любви к искусству, или для доступа к не законным в Египте ресурсам. Напоролся на неадекватное поведение сети случайно. Мне VPN нужен был для доступа к ресурсам, связанным с работой и pet-проектом. Skype был нужен для общения. Другие мессенджеры попробовал, когда понял, что скайп перестал работать. Они эффективно режут связь, даже SIP неплохо так блокируют. В общем, делал это не для обхода их системы контроля за настроениями населения.


                              Некоторым это может не понравится, но я не раз уже ловил минусы в карму за мою точку зрения: я не против самой идеи цензуры, я против того, чтобы мне мешали работать, общаться и пользоваться привычным набором ПО.

                            –36
                            (ненавижу маки)

                            А давайте все вместе больше никогда не будем выражать свои чувства и эмоции по поводу разных операционных систем. Ненавидите? Ненавидьте тихо или аргументировано.
                              +11
                              Держите нас в курсе.
                                –11
                                Аргументов нет, в ход идут грязные методы. Предвижу переход на личности.
                                +16
                                А я вот хочу их ненавидеть громко. И дальше что? :)
                                  0
                                  Это уже похоже на показывание пальцем и возгласы «Фууу! Бяка! Идите отсюда! Вы низшие создания!».
                                  0
                                  Вы же сами мак недолюбливаете: habr.com/ru/post/463799/#comment_20514493
                                    0
                                    Где я там написал, что недолюбливаю?
                                  0

                                  По поводу обфускации.
                                  Есть ли варианты как прилепить протокол vmess на Windows?

                                    +3
                                    В статье бы еще органично смотрелся краткий обзор принципа работы обозначенного obfsproxy.
                                      0
                                      Простите за самопиар, но об этом уже писали на Хабре.
                                      К сожалению, инфа по ссылке подустарела, да и сейчас появились другие решения.

                                      EDIT: Хотя, если вы имеете ввиду «как оно обфусцирует трафик», то тогда ссылка не в тему. Извиняюсь.
                                        +1
                                        TL;DR это рандомизация трафика, делает трафик не похожим ни на что. По схожему принципу работает голый шэдоусокс без плагинов.

                                        На самом деле не самое лучше решение, особенно при вайтлистах. Сейчас блидинг эдж это обфускация под другие, дозволенные протоколы, инструментов для этого дела сотни — хочешь скайпом прикидывайся, хочешь — трафиком различных игр по мультиплееру. ИМХО серьезный потенциал у обфускации под хттп трафик — у блокирующего нет особого смысла строить сложные системы DPI для обработки такого трафика, ведь это ж хттп, можно просто смотреть внутрь трафика и блочить неугодное.

                                        В том же самом китае например в ТББ рекомендуют юзать мик, который как раз обфусцирует трафик через доменфронтинг в сторону азур или авс, потому что обфс4 уже нестабильно работает или не работает вовсе.
                                        0
                                        Осталось только добавить клиентскую часть obfsproxy в автозагрузку вот этим «очевидным» способом (ненавижу маки).

                                        Разве нельзя добавить через UI: приложение System Preferences → Users & Groups → Login Items? Это аналог «автозагрузки» на Windows.

                                          0
                                          Нельзя, это же не десктопное приложение под мак, его нужно отдельным скриптом через командную строку с кучей параметров запускать.
                                            +1

                                            Туда можно добавлять не только приложения, но и произвольные файлы, в том числе shell-скрипты

                                              0
                                              Но работать будет только при логине пользователя. А для общесистемного туннеля надо все же в /Library
                                          +2
                                          VPN в Египте уже года два блокируется, странно, что у вашей коллеги он вообще работал. Самое простое решение — vpn over ssh tunnel.
                                            0

                                            тоже хотел предложить

                                            0

                                            Я в китае тор пробовал запустить, даже с их сервиса достал кастомные гейты. Нифига не работает. Без внешнего сервиса и обфускации не пробить. Непонятно почему обфускации нет по умолчанию.


                                            Кстати мобильный дорогущий интернет от мегафона спокойно пашет и открыт… иностранцев видать опознают.

                                              0

                                              Да, это делалось с телефона. Браузер с обфускацией у них есть вроде бы и так… не копал подробно.

                                                +1
                                                Ну так мобильный интернет в роуминге идет через Мегафон, а не китайского провайдера, там разве что блокировки РКН будут.
                                                  0
                                                  Мобильный интернет в роуминге идёт сразу через локального оператора, и только потом на Мегафон, очевидно локальный мог бы блокировать если бы хоте. Но видимо считают что иностранцев блокировать не целесообразно.
                                                0
                                                По идее можно и WireGuard использовать, вряд ли он блокируется их фаерволом.
                                                  0
                                                  Уже несколько лет так: у одного провайдера OpenVPN + Scramble, у другого SSTP.
                                                  Все уже привыкли, никто не парится.
                                                    0
                                                    на маке в ебипте меня sshuttle (VPN over SSH) прекрасно спасал

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                    Самое читаемое