ВАРМ что это и почему так не надо делать

1641dcf37bead81b986e07964ff7064d

Предисловие

Я backend-разработчик со стажем чуть больше 5 лет. Мне 23 года, 13 лет пользуюсь Linux. Статья будет про условия труда сотрудника на аутсорсе в одном из банков РФ. Картинок не будет

Основная часть

Для тех, кто не слышал про это или слышал, но не разбирал, что это такое. Вкратце, это вариация на RDP. Примеры: TeamViewer, Amazon Workspaces и т.д. Далее будут плюсы для компании, которые вижу я, но официальных комментариев про использование ВАРМ я не нашел. Используется в компаниях, чтобы обезопасить себя от … Я так и не понял от чего они хотят себя обезопасить. Удобство для компании, наверное, заключается в том, что в случае поломки ВАРМа, можно легко заменить его. Это же просто виртуальная машина. Она еще и сразу внутри вашей корпоративной сети. Удобно и дешево. Это же не замена корпоративного ноута

Мой рабочий день выглядит как-то так: я подключаюсь к VPN банка по одноразовому паролю. Этот VPN наглухо отрезает меня от всего интернета (Ни телеграма, где активно общается наша команда с телефонов, ни доступа к корпоративной почте, имеется в виду почта организации, которая продала меня в банк, ни доступа к сервисам, которые позволяют обходить блокировки, а это нужно ведь документация к тому redis недоступна на территории РФ) затем должен загрузить файл для подключения к Citrix Workspace. Открываю этот файл и мои мучения начались.

Во-первых, я пользуюсь Linux уже очень долго для того, чтобы менять привычки. С ВАРМом мне приходится каждый день убеждать себя в том, что я люблю свою работу (А я правда люблю то, что я делаю), потому что нельзя выбрать ОС на которой ты будешь работать. Кстати, на Linux’e нельзя запустить VPN банка, потому что Linux банком считается небезопасной ОСью. Видимо, поэтому они пользуются на серверах этой осью, так данные удобней сливать (Догадка не более. Как я писал выше у меня нет официальных комментариев от банка, почему они пользуются ВАРМом). Я обошел это ограничение следующим образом. Поставил себе KVM/Qemu, создал виртуалку с виндой и поставил туда этот ВПН. Не поставил себе винду второй осью, так еще теперь этот VPN блочит только трафик внутри виртуалки. Маленькая, но победа.

Во-вторых, долгая загрузка рабочего стола. Примерно 2 минуты. За эти 2 минуты я ничего не могу сделать. Но тут как смотреть, это всего 2 минуты раз в день, но с другой стороны, это 2 минуты каждый день, а иногда по несколько раз на дню и вот почему. Весь софт, который нам нужно поставить, устанавливается через специальный сервис. Про это отдельный пункт ниже будет. После установки софта, необходимо перезагрузить ВАРМ. Справедливости ради, можно перезагружаться после установки нескольких программ, но с другой стороны у тебя всегда только примерный список того, что тебе может понадобиться, потому что ты не можешь вспомнить все пакеты, которые тебе нужны.

В-третьих, специальный сервис для установки программ. Просто загрузить и поставить из интернета что-то нельзя, потому что небезопасно. Даже если код доступен всем желающим на github.com. Ты должен создать заявку на добавление программы, затем она должна пройти аудит безопасников, еще несколько этапов согласований и вуаля, не заметишь как пройдет 60 дней. Да-да, при создании заявки тебя предупреждают, что заявка будет рассматриваться 60 дней +5 дней за то, что ты внешний сотрудник. Я решил попробовать поискать софт, который может мне понадобится при работе. Скромный список того, что я могу вспомнить из того, что я искал: WSL или docker, neovim, а еще microsoft terminal (Вообще я пользуюсь Alacritty и tmux, но тут на безрыбье и рак рыба). Ничего из перечисленного поставить нельзя, первые 3 из-за найденных уязвимостей службой безопасности, а терминал не совместим с версией windows, которая используется в ВАРМе. Обновить windows тоже нельзя. Можно поставить VSCode. К этому у меня есть вопрос: Там под капотом запускается браузер, потому что эта штука написана на electron, почему там не нашли уязвимостей? Даже не так. Там искать не надо. Просто загуглить надо «Google chrome known CVE», а neovim нельзя.

В-четвертых, сетевые задержки. Тут просто реальность, с которой надо смириться, но это все еще минус. Средняя задержка от меня до рабочего места 85ms. Это значит, что клавиша, которую я нажал только спустя 85ms появится у меня на экране. Но трафик-то udp, никто не гарантирует, что клавиша, которую я нажал будет доставлена до ВАРМа. Я натыкался на такое, когда нажимал комбинации клавиш. Кстати, иногда задержки возрастают до 7000ms и это уже становится заметно глазу. И да, символы на хосте отрисовываются куда быстрее. Думаю померить скорость между нажатием и отрисовкой и использовать это как причину того, почему задачи делаются не так быстро как хочет банк. По поводу задержек я писал в саппорт, но они ничего не смогли предложить кроме переезда поближе. Жаль, раз так решили мучить сотрудников, могли бы хотя бы в нескольких ДЦ по РФ арендовать железо, чтобы снизить эти задержки.

Ну и последнее, когда я поставил все пакеты, которые мог для работы. Было обнаружено, что проект локально, то есть, в ВАРМе, я запустить не смогу, для этого по ssh из ВАРМа надо заходить на сервер, где стоит Linux с docker, но без доступа в глобальную сеть. Туда клонировать свой проект, а затем все изменения, которые ты делаешь локально, ты должен копировать на этот сервер. PyCharm позволяет это автоматизировать, но я натыкался на поведение, когда локальная версия и удаленная разъезжались. На сервер, кстати, нельзя заходить по ключу, только по паролю. БЕЗОПАСНО. Зато neovim нельзя

Эпилог

Я не хотел бы, чтобы статья воспринималась как жалоба. Вместо этого может кто-то был в подобной ситуации и как-то решали проблему? Смена работы — это побег, а не решение. Или кто-то из службы безопасности увидит это и даст комментарии. Внутри банка у меня нет связи с этими людьми

© Habrahabr.ru