Ruzzz
04 октября, 2014
Настройка Jitsi
Jitsi — клиент для защищенного текстового и голосового чата с поддержкой Jabber и SIP.
- Введение
- Словарь терминов
- Добавление Jabber-аккаунта
- Настройки Jabber-аккаунта
- Дополнительные настройки
- Настройки защищенного текстового чата
- Защищенный текстовый чат
- Настройка ZRTP
- Защищенный голосовой чат
Введение
При выборе защищенного клиента я рассматривал только открытые и не новые протоколы и реализации. Т.е. протоколы связи с публичной спецификацией и клиенты с открытым исходным кодом, которые эти спецификации реализуют. Новые решения должны пройти период тестирования, поэтому были мной исключены. В процессе поиска я решил использовать Jabber, отбросив SIP из-за многочисленных нестыковок и мелких проблем. В конце концов решение на базе Jabber было приемлемым и я не стал терять время на дальнейшее тестирование SIP.
Из многих открытых клиентов, лишь некоторые дают возможность помимо защищенного текстового чата устанавливать также и защищенное голосовое соединение. Протестировав наиболее популярные, оставил свой выбор на Jitsi.
Словарь терминов
Небольшой список терминов, используемых при настройке Jitsi:
| SIP | Базовый протокол связи. |
| XMPP | Базовый протокол связи. Cтарое название Jabber. |
| Jingle | Расширение протокола XMPP для голосовых и видео звонков. |
| SRTP | Протокол безопасной передачи данных в реальном времени, используемый в XMPP/Jingle и SIP для передачи голосовой и видео информации. |
| ZRTP | Протокол обеспечивающий начальную инициализацию зашифрованного канала в SRTP. |
| SAS | Реализованный в ZRTP способ противодействия атаке «Человек посередине» на зашифрованный канал при голосовой связи. |
| OTR | Протокол защищенного текстового чата. |
Добавление Jabber-аккаунта
Рекомендую не запоминать пароль для вашего аккаунта. Хотя удалить введенные пароли можно позже через «Инструменты → Опции → Безопасность → Пароли → Сохраненные пароли»:
Не пользуйтесь Jabber-сервером с не валидными сертификатом. При соединении с таким сервером может быть показано сообщение об ошибке типа:
Настройки Jabber-аккаунта
Настройки Jabber-аккаунта можно установить при добавлении новой учетной записи, или позже через «Инструменты → Опции → Аккаунты → Правка»:
Дополнительные настройки
Не записывайте голосовые вызовы:
Не сохраняйте отладочные пакеты:
Настройки защищенного текстового чата
В клиенте Jitsi для защиты текстовых сообщений используется протокол OTR. Основные настройки текстового чата «Инструменты → Опции → Безопасность → Чат» включают в себя возможности:
- Изменить ключ своего аккаунта. Но вашим собеседникам придется заново провести процедуру проверки для вас (смотри об этом ниже). Если этого ключа у вас еще нет, то он будет создан автоматически при первом защищенном разговоре.
- Подтвердить или отклонить ключи своих собеседников.
- Вообще отключить возможность шифрования сообщений.
- Указать клиенту автоматически переходить на зашифрованное общение.
- Требовать от вас включать приватный (зашифрованный) разговор, перед тем как отправлять сообщение собеседнику. Если эта опция включена, то вы не сможете отправлять не зашифрованные сообщения.
Последние три опции продублированы внутри окна текстового чата с собеседником:
Также я бы рекомендовал указать клиенту не хранить историю текстовых сообщений:
Защищенный текстовый чат
При установке связи с собеседником в первый раз, необходимо подтвердить его подлинность, кликнув по соответствующей ссылке:
В открывшемся окне будет предложен один из трех способов проверки подлинности собеседника:
- Вопрос и ответ (Question) — Собеседник должен будет правильно ответить на ваш вопрос;
- Общий секрет (Shared secret) — Собеседник должен будет ввести фразу указанную вами. Нужно будет договориться об этой фразе по другому каналу связи, например по мобильному.
- Проверка ключа (Fingerprint) — Будут показаны ключи шифрования, ваш ключ и ключ собеседника. Используя другой канал связи (тот же мобильный) вы можете сверить с собеседником ваши ключи. И подтвердить что ключи правильные.
После подтверждения текущий собеседник будет считаться доверенным, что отразиться на иконке «Замок». Собеседник перестанет быть доверенным если вы отклоните его ключ в настройках «Инструменты → Опции → Безопасность → Чат» (смотри скриншот выше), или он поменяет свой ключ.
Настройка ZRTP
Основные настройки «Инструменты → Опции → Безопасность → Телефония → Настройка ZRTP». Далее список вкладок и нужная опция:
Вкладка [ Открытые ключи | List of available public key algorithms ]
| EC25 | NIST ECDH-256 — 256 bit Diffie-Helman elliptic curve |
| EC38 | NIST ECDH-384 — 384 bit Diffie-Helman elliptic curve |
| DH2K | DH-2048 — 2048 bit Diffie-Helman values |
| DH3K | DH-3072 — 3072 bit Diffie-Helman values |
| MULT | Multi-stream |
Вкладка [ Хэши | List of available hash algorithms ]
| S256 | SHA-256 |
| S384 | SHA-384 |
Вкладка [ Симметричные шифры | List of available symmetric cipher algorithms ]
| AES1 | AES-128 — AES Counter Mode with 128 bit key length |
| AES3 | AES-256 — AES Counter Mode with 256 bit key length |
| TWO1 | TwoFish-128 — Twofish Counter Mode with 128 bit key length |
| TWO3 | Twofish-256 — Twofish Counter Mode with 256 bit key length |
Вкладка [ SAS типы | List of SAS ]
| B256 | 16 bit as 2 words from PGP word list |
| B32 | 20 bit as 4 characters |
Вкладка [ Длина SRTP.. | List of available SRTP authentications ]
| HS32 | HMAC-SHA1 32 bit |
| HS80 | HMAC-SHA1 32 bit |
| SK32 | Skein-MAC 32 bit |
| SK64 | Skein-MAC 64 bit |
Защищенный голосовой чат
После того как мы установили связь с собеседником первый раз, появиться окно:
Здесь используется механизм SAS. Нужно сверить с собеседником, одинаковое ли слово вы видите? Если нет, то скорее всего на ваш защищенный канал произведена успешная атака «Человек посередине» и на данный момент вас прослушивают. Если же слово одно и то же, то каждый должен нажать «Подтвердить». После чего замок станет зеленым:
Можно закрыт нижнюю панель крестиком справа. Эта полупрозрачная панель снизу видна только при первом голосовом чате с собеседником. Чтобы увидеть ее при следующем звонке, нужно нажать на замок. Кнопка «Очистить» позволяет указать Jitsi о необходимости задействовать механизм SAS заново. Или же вы просто можете проверить с собеседником совпадают ли слова. Окно при последующем вызове будет иметь вид:
Информацию о защищенном канале можно получить, если во время разговора нажать внизу кнопку «i». Появиться окно:
Если же канал не защищен, то помимо иконки красного замка, можно увидеть, что используется протокол RTP вместо SRTP:
Метка: Jitsi
Настройка звонилки Jitsi для пользования услугой Мультифон
Jitsi (Жици) позволяет с помощью компьютера через интернет общаться с владельцами обычных телефонов. Это свободная программа, обладающая большим функционалом, который в других программах предоставляется за деньги.
- русский интерфейс,
- переадресация вызовов,
- организация конференций,
- запись разговора.
Программу можно свободно скачать с официального сайта. Доступны сборки для множества операционных систем.
Мультифон — это услуга Мегафона, через которую проходят звонки.
Основные настройки при установке Жици:
После установки и запуска программы появится окно, в котором надо заполнить поля в разделе SIP и нажать Войти:
Основное окно программы.
Важные настройки
Если вы правильно ввели имя пользователя и пароль, то программа покажет ваш статус «В сети«, но, чтобы вы могли совершать и принимать вызовы, надо кое-что настроить.
- Выберите Инструменты ->Опции.
- В появившемся окне выберите аккаунт и нажмите правка. Появится окно настроек.
- Перейдите на вкладку Соединение.
- Настройте поля, отмеченные на картинке красными точками, так, как показано (кликните на изображение, чтобы увеличить):
- Перейдите на вкладку Кодеки.
- Настройте, как показано на картинке красными точками:
- Нажмите Следующий, а затем Войти.
Звонки
Чтобы позвонить, надо в основном окне в поле с лупой ввести номер телефона. Номер телефона можно вводить в различных видах:
- 79261234567
- +79261234567
- 89261234567
- +7 926 123-45-67
- 8-9-2-6-1-2-3-4-5-6-7
Установка и обзор мультиплатформенной видеоконференции jitsi-meet. Интеграция с Asterisk
Jitsi Meet — гибкое решение для проведения видеоконференций с открытым исходным кодом. Возможности Jitsi Meet. Характеристики платформы: 1) Презентация рабочего стола участникам видеоконференции2) Приглашение к участию в видеоконференции посредством рассылки ссылки доступа3) Встроенный чат для обмена сообщениями между участниками видеоконференции Инструкция. Чем стоит руководствоваться: 1. Выполним подключение по SSH к серверу IP АТС Asterisk. В […]
Jitsi Meet — гибкое решение для проведения видеоконференций с открытым исходным кодом.
Возможности Jitsi Meet.
1) Презентация рабочего стола участникам видеоконференции
2) Приглашение к участию в видеоконференции посредством рассылки ссылки доступа
3) Встроенный чат для обмена сообщениями между участниками видеоконференции
Инструкция.
Чем стоит руководствоваться:
1. Выполним подключение по SSH к серверу IP АТС Asterisk. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.
2. Подключим Epel репозиторий для установки ряда зависимостей
3. Прежде чем приступить к установке Jitsi-Meet, необходимо установить ряд зависимостей дополнительных утилит:
4. После успешного завершения установки зависимостей, приступим к разворачиванию и конфигурированию Docker контейнеров Jitsi-Meet:
Создадим конфигурационный файл на основе имеющегося образца и выполним редактирование основных параметров:
HTTP_PORT=80 – порт доступа к WEB интерфейсу Jitsi-Meet по HTTP
HTTPS_PORT=443 – порт доступа к WEB интерфейсу Jitsi-Meet по HTTPS
TZ=Europe/Moscow – часовой пояс
PUBLIC_URL=https://meet-voxlink.ddns.net – доменное имя
DOCKER_HOST_ADDRESS=192.168.1.78 – локальный IP сервера на котором производтся установка Jitsi-Meet
ENABLE_LETSENCRYPT=1 – автоматическая генерация бесплатного SSL LetsEncrypt сертификата
LETSENCRYPT_DOMAIN=meet-voxlink.ddns.net – доменное имя
LETSENCRYPT_EMAIL=722@voxlink.ru – email адрес администратора
JIGASI_SIP_URI=101@192.168.1.231 – URI ссылка для обращения к Asterisk(101 – внутренний номер, 192.168.1.231 – IP Asterisk)
JIGASI_SIP_PASSWORD=password – пароль для регистрации внутреннего номера 101
JIGASI_SIP_SERVER=192.168.1.231 – IP Asterisk
JIGASI_SIP_PORT=5060 – порт сигнализации который слушает Asterisk
JIGASI_SIP_TRANSPORT=UDP
Сгенерируем пароли для XMPP сервера Prosody:
Создадим директории для конфигурационных файлов Jitsi-Meet после установки Docker контейнеров:
5. Приступим к развертыванию Docker контейнеров, для этого в консоли выполним команду вида:
6. Для возможности звонка с внутренних номеров Asterisk в конференц-комнату Jitsi-Meet необходимо передавать в SIPAddHeader информацию о созданной конференц комнате. Рассмотрим несложный пример, создадим дополнительный кастом exten:
exten => 912,1,SIPAddHeader(X-Room-Name: voxlink@muc.meet.jitsi)
;exten => 912,n,SIPAddHeader(Jitsi-Conference-Room-Pass: 12345)
exten => 912,n,Dial(SIP/101,30,tr)
exten => 912,n,Hangup
voxlink – наименование конференц-комнаты(voxlink@muc.meet.jitsi)
12345 – пароль для входа в конференц-комнату
101 – внутренний номер который настраивался на стороне Jigasi(SIP/101)
Приступим к управлению конференц комнатой, для этого в интернет обозревателе (Yandex Browser, Google Chrome, Opera, Firefox…) перейдем по по адресу вида https://IP_сервера_Jitsi-Meet/ (в рамках данной статьи https://192.168.1.78), введем желаемое наименование конференц комнаты и нажмем клавишу «Ок»
Для приглашения внутреннего номера или мобильного, необходимо нажать клавишу приглашения дополнительного участника, ввести его номер и нажать «Пригласить»






















