"Контур Толк" - импортозамещение Zoom для параноика на OpenBSD

Кровавый ынтырпрайз поневоле и как его параноидально употреблять.

Опубликовано: 2024-08-13

Категория: OpenBSD

Теги: хауту openbsd контуртолк firefox chromium iridium zoom

Здравствуйте, мои маленькие любители безопасности!

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

До пандемии коронавируса, чудовищной прежде всего тем, что болели и умирали на этот раз не только бедняки и не только в странах Третьего мира, подобные решения, конечно, существовали, но были не то чтобы слишком востребованы. Эпоха Удалёнки, которую многие, я знаю, вспоминают с тихой ностальгией (а я так вовсе в этой эпохе и застрял, в офисе так и не появляюсь) кардинально изменила расклад и привела к тому, что всего за несколько месяцев число пользователей решения корпорации Zoom Video Communications Inc. подскочило с 10 до более чем 200 миллионов человек по всему миру (а потом и еще больше), и Zoom стал практически стандартом де-факто в этой отрасли.

Но мир меняется. В связи с вероломным нападением Израиля и военной аннексией им территорий соседнего суверенного государства - Голанских высот, решительно осужденной Совбезом ООН и вызвавшей беспрецедентные экономические санкции всего Западного мира против страны-агрессора... А. Ну да. Вечно я путаю, это же совсем, совсем другое! В общем, в связи с сами знаете чем, в России потребовалось импортозамещение решения корпорации, чья штаб-квартира расположена в городе Сан-Хосе, штат Калифорния. И таких решений есть изрядно - здесь не будет перечня и сравнения, потому что выбирать обычно не приходится, чем работодатель импортозаместится - то и будешь использовать.

Речь сегодня пойдет об одном из таких решений - "Контур Толк" от СКБ Контур. Решении по функциональности своей вполне ынтырпрайзно-типовым, настолько, что на подробностях я останавливаться не буду (мне забыли приплатить за пиар), сосредоточусь лишь на функциях, значимых для "конченого пользователя".

Итак, нативного клиента под *BSD у СКБ Контур нет в принципе (достаточно традиционно поддерживают только Windows, MacOS, Linux и мобилки) но есть web-интерфейс, достаточно удобоваримый в браузере - умеет в аудио- и видеосозвоны, шэринг экрана... да что еще нужно-то? Всякие там разные способы аутентификации и интеграции с календарями-планировщиками тоже в наличии, конечно, в общем, скукота.

Но как пользоваться этой скукотой под OpenBSD не привлекая внимание санитаров?

Прежде всего, в опёнке по умолчанию на уровне ядра запрещен доступ к устройствам аудио-видеозахвата. Так что можете не заклеивать синей изолентой вебкамеру (я, кстати, реально наблюдал опытного iOS-разработчика, сидящего в офисе (!) с макбуком, камера которого была заклеена синей изолентой - вероятно, он знал что-то такое...). Но вы можете не заклеивать. Поверили? Зря! Есть ведь еще аппаратные закладки от злобного АНБ и доброго ФСБ, есть возможность подглядеть, как вы ковыряетесь в носу через анализ похрустывания клавиш и резонанс в оконных стёклах от случайного попукивания... Боже, как страшно жить!

В общем, снять запрет на доступ к аудио-видеозахвату в OpenBSD можно однократно, введя:

doas sysctl kern.video.record=1
doas sysctl kern.audio.record=1

а можно и на постоянной основе, добавив это же самое в `/etc/sysctl.conf` - но какой же *нормальный параноик* будет так делать?

Далее, как пишет Таймс^W FAQ, по умолчанию доступ к вебкамере предоставляется только root, поэтому (ну не сидеть же в браузере под рутом, свят-свят-свят!) имеет смысл сделать:

doas chown $USER /dev/video*
FAQ тут, если что

Ну и теперь можно запускать в любимом браузере "Контур Толк", но есть нюансы.

В Firefox благополучно заработает аудио- и видеосвязь, а вот при попытке включить демонстрацию экрана процесс firefox вылетит, ругаясь на `"... pledge "", syscall ..."`. Ибо в сборке Firefox для OpenBSD давно уже реализована поддержка механизма изоляции системных вызовов Pledge. Как оное отключить, написано в `/usr/local/share/doc/pkg-readmes/firefox`, но опять же, какой *нормальный параноик* станет это отключать?

про Pledge подробнее можно почитать тут

Мы пойдем другим путем: установим браузер Chromium, который сдаст вас с телеметрией и всеми потрохами корпорации Google, это ведь не ФСБ, корпорации они не хотят вам зла! Шучу (хотя и в Chromuim это будет работать). Лучше поставим Iridium (`doas pkg_add iridium`), который тоже сдаст вас с потрохами, но чуть-чуть поменьше:

Ну и для пущей параноидальности, создадим скрипт для запуска оного Iridium сугубо в целях использования с сервисом видеоконференций "Контур Толк" следующим образом. Во-первых, добавим в `/etc/doas.conf` следующие строчки для обеспечения возможности установки/снятия ядрёного запрета на доступ к аудио-видеозахвату (оцените, кстати, простоту и лаконичность конфигурации doas в сравнении с sudo):

permit nopass нашюзер as root cmd sysctl args kern.audio.record=0
permit nopass нашюзер as root cmd sysctl args kern.audio.record=1
permit nopass нашюзер as root cmd sysctl args kern.video.record=0
permit nopass нашюзер as root cmd sysctl args kern.video.record=1

во-вторых, собственно, сам скрипт:

#!/bin/sh

doas sysctl kern.video.record=1
doas sysctl kern.audio.record=1

iridium --incognito --user-data-dir="/tmp" ;

doas sysctl kern.video.record=0
doas sysctl kern.audio.record=0

ну и не забываем `chmod +x` на файлик со скриптом сделать.

Результат: в Iridium (даром, что там тоже поддерживается pledge), корректно работает и аудио, и видео, и демонстрация экрана (отдельной вкладки браузера, окна отдельного приложения или экрана целиком - поддерживается любой из вариантов). Теперь вы можете участвовать в унылых рабочих конфколлах не покидая зоны параноидального комфорта!

P.S. Не забывайте также носить шапочку из фольги и прятать под подушкой назначенные врачами-отравителями таблетки.