Многие пользователи последовали нашему совету, который мы давали после обнаружения вторжения, и установили веб-приложение PWA вместо десктопного приложения. И мы получили определенный опыт развертывания клиентов 3CX в этом режиме. В этой статье мы хотели бы поделиться этим опытом, а также дать рекомендации, какой клиент выбрать в той или иной ситуации.
Приложение PWA (Progressive Web App)
Что такое приложение PWA?
PWA (Progressive Web Apps) – приложения, созданные с использованием веб-технологий. Они создаются для всех устройств с использованием общей кодовой базы. В данном случае используется код нашего веб-клиента. Из него компилируется как десктопное приложение, так и приложение PWA. PWA-приложение по функциональности приближается к десктопному приложению, адаптируясь к возможностям каждого устройства. Особенности PWA-приложения:
- Работает в Chrome и Microsoft Edge Chromium.
- Запускается безопасно внутри “движка” браузера, используя его библиотеки в функции безопасности.
- Нулевое администрирование и автоматическое обновление с сервера.
- Не требуется локальная установка и удаление.
- Приложение работает в фоновом режиме и поддерживает Push-уведомления.
Возможности приложения PWA 3CX
- Полнофункциональный клиент 3CX, который выглядит и работает как нативное приложение.
- Запускается автоматически при запуске браузера.
- Уведомляет пользователя о входящих звонках с помощью PUSH-уведомлений.
- Не нужно заходить в клиент 3CX и даже держать открытую вкладку.
- В случае Edge браузер будет запущен автоматически, если он не активен.
- В случае Chrome браузер должен быть запущен на ПК.
- Звонки из CRM или веб-сайта через расширение Click2Call.
- Поддержка автоответа на вызов.
- Поддержка технологии SSO.
- Полная поддержка гарнитур Yealink, Jabra и, вскоре, Plantronics.
- PWA хорошо работает на Microsoft Terminal Server (подробнее о групповой установке).
- Ожидается в Update 7a: Панель BLF в номеронабирателе.
- Ожидается в Update 8: возможность запуска сторонних приложений с поддержкой протокола tel:.
Требования для приложений PWA
- PWA будет работать только в инсталляциях с действительным FQDN и SSL сертификатом.
- Если вы размещаете АТС в облаке используя сертификат 3CX, настройка FQDN происходит автоматически.
- Если у вас локальная инсталляция, следует настроить разделенную DNS (Split DNS) с действующим сертификатом 3CX / собственным сертификатом. Рано или поздно такая конфигурация все равно потребуется для нормальной работы!
- Необходимо настроить Google или Edge на автоматический запуск при входе в ОС.
Ограничения для приложений PWA
- Не работает захват фокуса при входящих звонках (пока мы не нашли решение этой задачи).
- Использование Microsoft TAPI для некоторых старых CRM и бухгалтерских приложений (например, Datev).
- Запуск внешнего приложения при входящем вызове.
Десктопное приложение
Что представляет собой десктопное приложение, также называемое приложением Electron? Десктопное приложение 3CX – это перекомпилированный веб-клиент 3CX, использующий фреймворк Electron. Оно реализует контроль версии браузера и может иметь доступ к функциям ОС.
Именно это десктопное приложение было скомпрометировано при атаке на цепочку поставок 3CX. Атака не имеет отношения к фреймворку Electron или другим компонентам, которые включены в десктопное приложение. Это приложение было скомпрометировано, потому что наша локальная сеть была атакована злоумышленниками. Расследующая инцидент компания Mandiant с высокой степенью вероятности связывает кластер злоумышленников UNC4736 с Северной Кореей. Подробнее об этом инциденте.
На сегодня десктопное приложение полностью проверено, очищено и может считаться безопасным. Мы внедрили средства контроля и разработали определенные процедуры, чтобы подобные атаки на цепочку поставок больше не повторились.
Возможности десктопного приложения, отсутствующие в PWA
- Захват фокуса при входящих звонках.
- Запуск внешних приложений при получении вызова.
- Выполнение или перевод вызова с помощью горячих клавиш.
- Перемещение панели номеронабирателя по экрану независимо от интерфейса основного приложения.
Ограничения десктопного приложения
- Поддержка TAPI – невозможно работать с приложениями, использующими TAPI.
- Если полностью закрыть приложение, уведомления о входящих вызовах поступать не будут.
Требования для десктопного приложения
- Права локального администратора для установки приложения.
- Сетевой антивирус и другие средства контроля в случае чрезвычайной ситуации.
Нативное приложение
У 3CX есть нативные (“родные”) приложения для основных операционных систем – iOS, Android и Windows. Эти приложения используют для вызовов протокол SIP, а не WebRTC. Они работают независимо от сервера АТС, подключаясь к нему с учетными данными SIP (а не через веб-аутентификацию). В этом случае, если злоумышленник получит доступ к приложению, максимум, что он сможет сделать – совершать и принимать звонки.
Приложения для iOS и Android распространяются через соответствующие магазины приложений, а приложение для Windows скачивается непосредственно с сервера АТС. Сейчас нативное приложение для Windows также называется 3CX Legacy App. И тем не менее, оно отлично работает, вполне безопасно, однако уже давно не обновлялось. Во время атаки на 3CX мы всем рекомендовали его использовать, и нам это очень помогло. Но все же архитектура приложения уже весьма устарела и нуждается в переработке.
Сейчас мы рассматриваем возможность выпуска нового нативного приложения для Windows, которое будет выглядеть как приложения для iOS и Android и распространяться через магазин приложений Microsoft. Это сделает его еще более безопасным, поскольку маркетплейс проверяет безопасность приложений в процессе сертификации, а также автоматически помещает их в карантин при подозрении на угрозу.
Дополнительные возможности нативного приложения
- Захват фокуса при входящих звонках.
- Запуск внешних приложений при получении вызова.
- Поддержка TAPI – приложение может запускаться или быть запущенным из приложений, работающих с TAPI.
Требования для нативных приложений
- Права локального администратора для установки приложения.
- Автонастройка конфигурации по технологии PNP в локальной сети, либо скачивание файла конфигурации (в Update 8).