- Интересно, dukgo тоже переведет свои сервера на сие нововведение?
- Cisco jabber сертефикаты — trunk allowed vlan without add
- Вы не поверите…
- Инструменты
- Какие сервера участвуют в тестовых днях и поддерживают манифест?
- Какую выбрать связку jabber-сервер ios клиент с поддержкой сертификатов и push-notification?
- Мотивация
- Немного теории
- Получаем бесплатный ssl сертификат / comments / habr
- Принять манифест
- Шаг второй, добавление своего ключа в psi и импорт открытых ключей контактов
- Шаг первый, загрузка по и генерация закрытого и открытого ключей
- Шаг третьий. обмениваемся шифрованными сообщениями
- Ejabber и сертификат | памятка на будущее
- Заключение
Интересно, dukgo тоже переведет свои сервера на сие нововведение?
Действительно интересно, но неизвестно.
Cisco jabber сертефикаты — trunk allowed vlan without add
По поводу процесса подкидывания сертификатов у Cisco есть хорошая документация, а так же готовые howto’шки. Поэтому сам процесс я повторять не буду, лучше просто в конце поста добавлю хорошее видео с канала Cisco Support Community. В этой небольшой заметке я аккумулирую ответ на вопрос «как не сделать всё без прерывания сервиса, если у меня неудачная ситуация», потому что узнавать мне их пришлось на форумах поддержки и моей лаборатории. Рассматриваться будет самый тяжёлый случай: нам надо подтянуть сертификаты, «что бы Jabber не ругался на самоподписанные», а у нас кластер CUCM c Presence Redundancy Group, так ещё и все ноды (>4) забиты IP адресами.
- Убедитесь, что на всех нодах прописан актуальный DNS сервер
- Убедитесь, что дата и время на всех нодах верное и синхронизируется с актуального NTP сервера.
- Внесите А и PTR записи для всех нод в DNS сервер, если таковой ещё нет.
- Убедитесь, что Hostname на каждой ноде в Cisco Unified OS AdministrationSettingsIPEthernetHost InformationHostname соответствует DNS записи. Если соответствия нет — измените Hostname, либо DNS запись.
- Сгенерируйте CSR-запрос на любой из нод CUCM для SAN сертификата для сервиса tomcat. Загрузите SAN-сертификат как tomcat, root CA сертификат как tomcat-trust (если выпускающий центр сертификации является подчинённым, то необходимо загрузить всю цепочку сертификатов до корневого как tomcat-trust). Проверьте, что все сертификаты присутствуют на всех нодах (судя по жалобам на форумах поддержки — от версии к версии стреляет по разному). В моём случае (CUCM 10.5.2.13900-12 и IM&P 10.5.2.24900-8) SAN сертификат автоматически не загрузился на IM&P, а так же не подтянулся корневой сертификат из PKCS7 цепочки ни на одну из нод (сертификат подчинённого центра сертификации загрузился нормально).
- Перезапустите Cisco Tomcat на каждой ноде.
- Убедитесь, что на ваших телефонах прописан актуальный DNS сервер.
- Замените IP на FQDN в Cisco Unified CM AdministrationServer для всех нод. После проверьте состояние репликации БД.
- Теперь загрузите корневой сертификат (опять же, если у вас подчинённый центр сертификации, то всю цепочку) только на ноды IM&P как cup-trust и cup-xmpp-trust.
- Сгенерируйте cup CSR для каждой ноды и cup-xmpp CSR SAN.
- Выпустите сертификаты и загрузите их как cup (на каждую ноду — свой) и как cup-xmpp.
- Перезапустите сервисы SIP Proxy, Presence Engine и XCP Router.
Не спешите. Внимательно выполняйте каждый шаг и, конечно же, в случаях где необходим перезапуск какого-либо сервиса, дожидайтесь полного запуска перезапущеного сервиса, прежде чем перезапускать его на следующей ноде.
Вы не поверите…

Инструменты
В качестве системы шифрования мы будем использовать пакет с открытым кодом GnuPG (эй, не убегайте, это под Windiows тоже есть и очень даже юзерфрендли :)) и клиент Psi. Уверен, что в других клиентах процедура схожая. Я взял реализацию под windows, так как всё-таки её использует большинство пользователей, а юниксоиды, думаю, и сами разбирутся. В *nix в качестве удобного средства управления ключами можно посоветовать kgpg.
Предполагаю что у вас уже стоит jabber клиент, он настроен и соединение с сетью есть.
Какие сервера участвуют в тестовых днях и поддерживают манифест?
Jabber.org – главный сервер всея XMPP,
jabber.ccc.de – крупный немецкий сервер,
jabber.at — чуваки, которые сделали опенсорсную панель для регистрации на джаббер-серверах,
Какую выбрать связку jabber-сервер ios клиент с поддержкой сертификатов и push-notification?
Добрый день!
Нужно развернуть корпоративный jabber-сервис. Клиенты в основном мобильные под iOS.
Обязательные условия:
– аутентификация по сертификатам,
– работающие push-уведомления,
– осмысленное содержимое сообщений проходит только через наш сервер и только в зашифрованном виде.
Важно, чтобы после прерывания связи на устройстве человеку доходили offline-сообщения, и он об этом узнавал.
Желательно: возможность управлять контакт-листами пользователей, roster groups.
В данный момент в качестве сервера рассматриваю Openfire и ejabberd. Можно и что-то проприетарное, если есть вариант попробовать trial.
Кто что пробовал? Какие результаты?
Как реализовать собственный IM-сервер для общения текстовыми сообщениями с клиентом для iPhone (push-уведомления обязательны)? – тут добрые люди подробно описали суть проблемы и возможную архитектуру решения, но конкретного ПО никто не рекомендовал.
С Openfire – пока непонятно, как к нему прикрутить push-notification. Готового плагина не нашел. Может кто-то знает решение?
C ejabberd не очень хочется связываться, но если есть положительные отзывы по работе с каким-то iOS клиентом, поделитесь.
Мотивация
Для чего может понадобится шифрование сообщений?
- Так как сеть XMPP федеративная и каждый может основать свой узел, то ставится вопрос доверия администратору данного сервера. Сервер могут сломать, сам админ может подбарижить данными и т.д.
- XMPP набирает популярность в качестве внутрикорпоративного обмена. Может быть сервер и не имеет выхода в Интернет, но никто не застрахован от приезда Party-van с маски-шоу внутри
- Цифровая подпись повышает надёжность идентификации. То есть вы точно знаете что в данный момент за компьютером сидит именно тот человек, который вам дал ключ, а не тот кто ломанул его аккаунт или воспользовался его отсутсвием его за компьютером
Немного теории
Сообщения шифруются с помощью криптосистемы с открытым ключом. Если не вдаваться в подробности, суть системы шифрования состоит в том, что существует пара ключей и некая процедура, которая может с помощью одного ключа преобразовать сообщение так, что обратное преобразование можно будет выполнить только с помощью другого ключа. Один из этих ключей называется закрытым и держится в тайне, другой же, напротив, называется открытым, и распространяется свободно. Таким образом, зашифровав сообщение открытым ключом можно быть уверенным, что его прочитает только владелец закрытого ключа, напротив, подписав что-то своим ключом автор даёт уверенность получателю сообщения в своём авторстве.
Можно объединить эти две процедуры и тогда содержимое будет известно только двум лицам, обладающими соответсвующими ключами. Наглядно это изображено на картинке:
На данный момент невозможно за обозримое время из открытого ключа восстановить закрытый.
Получаем бесплатный ssl сертификат / comments / habr
Сейчас ради интереса проверил на нескольких системах, куда имею доступ — где-то есть, где-то нет. Показательно нет на Ubuntu, что отдельно смешно 🙂
Я уже довольно давно не слежу за тем, как cacert.org прогрессирует в плане включения себя в основные ОС и браузеры, но сейчас поискал немножко какие-то списки и совместимости — всё действительно относительно грустно — видимо, с момента bugzilla.mozilla.org/show_bug.cgi?id=215243#c158 толком ничего не изменилось.
Принять манифест
Манифест может подписать любой разработчик/администратор джаббер-сервера. Чтобы подписать, просто добавьте своё имя и должность в список подписантов через пулл-реквест:
Шаг второй, добавление своего ключа в psi и импорт открытых ключей контактов
Итак, теперь надо сказать Psi, что нужно использовать ключ. Запускаем Psi, идём в настройки аккаунта, там во вкладке подробности нажимаем «выбрать openPGP ключ» и указываем наш ключ.

После выбора ключа и переподключения к сети, Psi затребует пароль от закрытого ключа:
Теперь вы подключены к сети и ваш статус подписан. То есть те, кто имеют ваш открытый ключ, знают, что за компьютером именно вы.
Допустим, вы обменялись с кем-то ключами, по есть отдали свой открытый ключ и получили чей-то открытый. Теперь нужно привязать ключ к конкретному аккаунту. Для этого заходим в WinPT, заходим в key->import, далее выбираем файл с ключом нужного человека.
Всё, открытый ключ импортирован в систему. Стоит сказать, что Psi считывает состояние ключей только при запуске, так что после того как мы добавили новый ключ надо перезапустить Psi. Кликаем правой кнопкой мыши на нужный контакт и выбираем «Присвоить ключ OpenPGP», присваиваем контакту его ключ. Теперь мы можем проверить электронную подпись нашего контакта:
Выделенная зелёным строчка означает, что контакт вошёл в сеть с правильным ключом и у вас есть его открытый ключ. Если строчка чёрная это означает, что статус клиента подписан, но у вас нет его ключа или ключ неверен, так что неизвестно кто там за компом.
Шаг первый, загрузка по и генерация закрытого и открытого ключей
Для пользователей Windows специально создан пакет программ
, который существенно облегчает работу с GPG.
, выбираем необходимые компоненты и устанавливаем.

После установки, запускаем менеджер ключей WinPT. При первом запуске утилита предложит создать ключевую пару. Это очень важный шаг. Ключ это ваш паспорт в сети интернет, проверье внимательно имя и адрес, очень желательно его не терять и не забывать от него пароль.
Восстановить закрытый ключ будет уже не возможно, придётся генерить новый. Каждый закрытый ключ шифруется паролем. Это нужно для того что бы даже если кто-то завладеет вашим ключом, злоумышленник не смог бы им воспользоваться, без пароля он бесполезен. Программа предожить забекапить ключ и это правильно.
Шаг третьий. обмениваемся шифрованными сообщениями
Теперь всё что требуется это отрыть новое окно с чатом и нажать иконку с замочком. Произойдёт сверка ключей и, если всё в порядке, система выдаст сообщение о том, что разговор зашифрован. После этого можно общатся спокойно, не беспокоясь что разговор будет перехвачен в пути.
Последнее сообщение в шифрованном виде выглядит так:
Ejabber и сертификат | памятка на будущее
В связи с внедрением шифрования в xmpp , я озаботился поменять шифровальную пару, сертификат и проверить свой сервак на соответствие “текущему моменту” так сказать.
Важно: в поле Subject DN значение CN должно равняться домену, а не имени сервака. Что принципиально отличается от https, например. Этот так, на память.
Забавно, но у меня создалось впечатление, что возможная суть происходящего:
- заставить людей покупать сертификаты. Не, конечно, пока можно удовольствоваться бесплатным, но принуждение завязываться на чью-то сертификацию… Чего-то попахивает кидаловом.
- получить возможность отключить любой кусок xmpp пространства. У кого CA, тот ведь может и отозвать сертификат. И временно заблокировать. Счета ведь блокируют, а почему бы не отключить тех кто не согласен с единственно верными, скажем, демократическими ценностями.
Что меня смущает:
- IM Observatory спокойно относится к алгоритмам шифрования, длине ключа. А вот за самоподписанный сертификат сразу следует “кидок” с “A” на “F” по их шкале
европейскихценностей: “Certificate is not trusted, grade capped to F. Ignoring trust: A.” На алгоритмы наплевать, а вот пользоваться “правильным” CA это суперважно, да, да. - принуждение пользоваться сервисом (в данном случае – сертификацией) от “правильных” CA напрягает.
- хорошо, сейчас “зачистят” xmpp-пространство от “неправильных” сертификатов. Кто мешает потом также зачистить и от бесплатных? Или по какому ещё признаку. Какого … кучка коммерсантов решает, кто может передавать xmpp сообщения, а кто нет. Почту тоже отдадим “эффективным” менеджерам?
- спешка. Ну, куда гнать?
- зачем отключать тех, кто не перешел на шифрование? Ну, сделайте пометку на сообщения, которые проходили нешифрованным каналом.
- сервера не готовы, клиенты не готовы, инструкций “кот наплакал”.
- Нафига всё это? Не, модно, все дела. А кроме “пальцев”?
- представьте – завтра запретили http. Остался только https…
Конспирология какая-то. Но, скажем, в ssmtp обошлись ведь без диктата производителей сертификатов. Что, теперь, вместо твиттерных, будут делать джабберные революции? В общем, что-то мне не нравится этот процесс…

Прикольно, да?…
Заключение
Итак, как видно, шифровать сообщения на лету очень просто, для конечного юзера не меняется практически ничего, а надёжность системы возрастает. Может быть это и сподвигнет кого-то перейти на xmpp/jabber.
Но всегда нужно помнить:
- Шифрование не отменяет голову. Храните пароль от ключей в секрете, сделите за кейлоггерами, вирусами и прочим.
- Это
Спасибо за внимание, надеюсь было интересно. 🙂
