"Контур Толк" - импортозамещение Zoom для параноика на OpenBSD
Опубликовано 13.08.2024 в OpenBSD
Здравствуйте, мои маленькие любители безопасности!
Сегодня мы поговорим о решении для видеоконференцсвязи - но не таком, которое вы выбрали бы для звонков любимой бабушке, а таком, которое выберут за вас не очень-то любимые вами люди - работодатели. То есть, о решении из мрачных подземелий кровавого ынтырпрайза.
До пандемии коронавируса, чудовищной прежде всего тем, что болели и умирали на этот раз не только бедняки и не только в странах Третьего мира, подобные решения, конечно, существовали, но были не то чтобы слишком востребованы. Эпоха Удалёнки, которую многие, я знаю, вспоминают с тихой ностальгией (а я так вовсе в этой эпохе и застрял, в офисе так и не появляюсь) кардинально изменила расклад и привела к тому, что всего за несколько месяцев число пользователей решения корпорации 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*
Ну и теперь можно запускать в любимом браузере "Контур Толк", но есть нюансы.
В Firefox благополучно заработает аудио- и видеосвязь, а вот при попытке включить демонстрацию экрана процесс firefox вылетит, ругаясь на "... pledge "", syscall ..."
. Ибо в сборке Firefox для OpenBSD давно уже реализована поддержка механизма изоляции системных вызовов Pledge. Как оное отключить, написано в /usr/local/share/doc/pkg-readmes/firefox
, но опять же, какой нормальный параноик станет это отключать?
Мы пойдем другим путем: установим браузер 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. Не забывайте также носить шапочку из фольги и прятать под подушкой назначенные врачами-отравителями таблетки.