Русский
Русский
English
Статистика
Реклама

Электронная почта

Recovery mode Улучшение параметров безопасности SSL-соединения в Zimbra Collaboration Suite Open-Source Edition

26.06.2020 14:09:33 | Автор: admin
Надежность шифрования является одним из наиболее важных показателей при использовании информационных систем для бизнеса, ведь ежедневно они участвуют в передаче огромного количества конфиденциальной информации. Общепринятым средством оценки качества SSL-соединения является независимый тест от Qualys SSL Labs. Поскольку данный тест может запустить кто угодно, для SaaS-провайдеров особенно важно, чтобы оценка в этом тесте была максимальной. О качестве SSL-соединения заботятся не только SaaS-провайдеры, но и обычные предприятия. Для них данный тест является отличной возможностью выявить потенциально уязвимые места и заблаговременно закрыть все лазейки для киберпреступников.

image

В Zimbra OSE допустимо использовать два вида SSL-сертификатов. Первый это самоподписанный сертификат, который автоматически добавляется при установке. Этот сертификат бесплатен и не ограничен по времени использования, а значит идеально подойдет для тестирования Zimbra OSE или ее использования исключительно в рамках внутренней сети. Однако при входе в веб-клиент пользователи будут видеть предупреждение от браузера, что данный сертификат ненадежен, и тест от Qualys SSL Labs ваш сервер однозначно провалит.

Второй это коммерческий SSL-сертификат, подписанный удостоверяющим центром. Такие сертификаты без проблем воспринимается браузерами и обычно используются при коммерческой эксплуатации Zimbra OSE. Сразу после корректной установки коммерческого сертификата Zimbra OSE 8.8.15 показывает оценку A в тесте от Qualys SSL Labs. Это отличный результат, но наша цель достигнуть результата A+.





Для того, чтобы достичь максимальной оценки в тесте от Qualys SSL Labs при использовании Zimbra Collaboration Suite Open-Source Edition необходимо выполнить ряд шагов:

1. Увеличение параметров протокола Диффи-Хеллмана

По умолчанию во всех компонентах Zimbra OSE 8.8.15, которые используют OpenSSL, значение параметров протокола Диффи-Хеллмана составляет 2048 бит. В принципе, этого более чем достаточно для получения оценки А+ в тесте от Qualys SSL Labs. Однако, в том случае, если вы обновляетесь с более старых версий, значение параметров может оказаться ниже. Поэтому рекомендуется после завершения обновления выполнить команду zmdhparam set -new 2048, которая повысит параметры протокола Диффи-Хеллмана до приемлемых 2048 бит, а при желании при помощи этой же команды можно повысить значение параметров до 3072 или 4096 бит, что с одной стороны приведет к увеличению времени генерации, однако с другой стороны положительно скажется на уровне безопасности почтового сервера.

2. Включение рекомендованного списка используемых шифров

По умолчанию Zimbra Collaborataion Suite Open-Source Edition поддерживает широкий спектр сильных и слабых шифров, при помощи которых шифруются данные проходящие по защищенному соединению. Однако использвоание слабых шифров является серьезным минусом при проверке безопасности SSL-соединения. Для того, чтобы этого избежать, необходимо настроить список используемых шифров.

Для этого следует воспользоваться командой zmprov mcf zimbraReverseProxySSLCiphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4'.

В эту команду сразу включен набор рекомендованных шифров и благодаря ей команде можно сразу включить в список надежные шифры и исключить ненадежные. Теперь остается только перезагрузить узлы с обратными прокси с помощью команды zmproxyctl restart. После перезагрузки внесенные изменения вступят в силу.

В том случае, если этот список вас по тем или иным причинам не устраивает, можно удалить из него ряд слабых шифров с помощью команды zmprov mcf +zimbraSSLExcludeCipherSuites. Так, например, команда zmprov mcf +zimbraSSLExcludeCipherSuites TLS_RSA_WITH_RC4_128_MD5 +zimbraSSLExcludeCipherSuites TLS_RSA_WITH_RC4_128_SHA +zimbraSSLExcludeCipherSuites SSL_RSA_WITH_RC4_128_MD5 +zimbraSSLExcludeCipherSuites SSL_RSA_WITH_RC4_128_SHA +zimbraSSLExcludeCipherSuites TLS_ECDHE_RSA_WITH_RC4_128_SHA, которая полностью исключит использование шифров RC4. Так же можно поступить и с шифрами AES и 3DES.

3. Включение HSTS

Включенные механизмы принудительного включения шифрования соединения и восстановления сеанса TLS также являются обязательными условиями для получения высшего балла в тесте от Qualys SSL Labs. Для их включения необходимо ввести команду zmprov mcf +zimbraResponseHeader Strict-Transport-Security: max-age=31536000. Данная команда добавит необходимый заголовок в конфигурацию, а для вступления новых настроек в силу придется перезагрузить Zimbra OSE с помощью команды zmcontrol restart.

Уже на этом этапе тест от Qualys SSL Labs будет демонстрировать оценку A+, однако если вы захотите дополнительно улучшить безопасность вашего сервера, можно предпринять еще ряд мер.



Например, можно включить принудительное шифрование межпроцессных соединений, а также включить принудительное шифрование при подключении к службам Zimbra OSE. Для проверки межпроцессных соединений следует ввести следующие команды:

zmlocalconfig -e ldap_starttls_supported=1
zmlocalconfig -e zimbra_require_interprocess_security=1
zmlocalconfig -e ldap_starttls_required=true


Для включения принудительного шифрования нужно ввести:

zmprov gs `zmhostname` zimbraReverseProxyMailMode
zmprov ms `zmhostname` zimbraReverseProxyMailMode https

zmprov gs `zmhostname` zimbraMailMode
zmprov ms `zmhostname` zimbraMailMode https

zmprov gs `zmhostname` zimbraReverseProxySSLToUpstreamEnabled
zmprov ms `zmhostname` zimbraReverseProxySSLToUpstreamEnabled TRUE


Благодаря этим командам будут шифроваться все соединения с прокси-серверами и почтовыми серверами, а также будет осуществляться проксирование всех этих соединений.



Таким образом, следуя нашим рекомендациям можно не только добиться высочайшей оценки в тесте на безопасность SSL-соединения, но и значительно повысить безопасность работы всей инфраструктуры Zimbra OSE.

По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании Zextras Екатерине Триандафилиди по электронной почте katerina@zextras.com
Подробнее..

Немецкий суд заставил почтового провайдера Tutanota установить бэкдор

10.12.2020 02:18:51 | Автор: admin

Полнотекстовый поиск в зашифрованной почте

Для начала немного контекста. Tutanota один из немногих почтовых сервисов, которые шифруют входящую почту по умолчанию, как Protonmail, Posteo.de и Mailbox.org. То есть почта хранится на серверах в зашифрованном виде. Провайдер не может её расшифровать, даже если захочет.

Однако постановление Кёльнского областного суда потребовало внедрить функцию, с помощью которой можно отслеживать отдельные почтовые ящики и читать электронные письма в виде открытого текста.

Это нехороший прецедент для европейской правовой системы.

Tutanota хочет подать жалобу на это решение, но она не имеет приостанавливающего действия, то есть сам факт подачи жалобы не приостанавливает действие прежнего постановления, которое выполнить нужно обязательно.

Поэтому нам пришлось приступить к разработке функции мониторинга, сказала пресс-секретарь компании в комментарии для журнала c't. Если жалоба будет успешной, то функция будет удалена.

Решение Кёльнского областного суда опасный прецедент для европейской правовой системы. Это решение отличается от решений других судов. Например, летом Ганноверский окружной суд постановил, что Tutanota не предоставляет и не участвует в каких-либо телекоммуникационных услугах в юридическом смысле и, следовательно, не может быть обязана контролировать телекоммуникации. Судьи Ганновера сослались на знаменитое решение Gmail Европейского суда от 13 июня 2019 года (дело C-193/18). Согласно ему, услуги электронной почты не являются услугами связи. Следовательно, Google не обязана регистрировать для Gmail телекоммуникационный идентификатор и устанавливать какие-либо интерфейсы перехвата.

Тем не менее, кёльнский суд назвал Tutanota участником телекоммуникационных услуг, хотя компания считает это постановление абсурдным и будет бороться за его отмену.


Рабочий коллектив Tutanota

Так или иначе, до 31 декабря 2020 года Tutanota обязана запрограммировать функцию, которая даст Государственному управлению уголовной полиции Северной Рейн-Вестфалии доступ к почтовым ящикам пользователей, включая того конкретного пользователя, с которого началась эта история.

Речь идёт о расследовании одного уголовного дела, по которому подозреваемый отправил автомобильному дилеру письмо с угрозами, воспользовавшись услугами защищённого почтового сервиса.

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

Вот схема, как выполняется шифрование и хранение писем на сервере в случае использования сквозного шифрования (слева) и без него (справа):



В отличие от PGP, выполняется шифрование и некоторых метаданных, а не только тела письма.



Компания подчёркивает, что бэкдор позволит просмотреть содержимое только новых входящих незашифрованных писем. Он не может расшифровать данные, зашифрованные ранее, а также другие письма со сквозным шифрованием в Tutanota. Условно говоря, бэкдор представляет собой такой алгоритм:

 def encrypt_mail(email):if email.user=="badperson":store(email)else:store(encrypt(email))

Возможно, ганноверская Tutanota теперь жалеет, что не выбрала иную юрисдикцию. С другой стороны, эту историю можно рассматривать как своеобразный пиар для компании, которая старается сделать всё, что в её силах. В одном из интервью они говорят, что могут рассмотреть переезд в другую страну (Швейцарию), но это вряд ли случится: Правовая ситуация и конституция Германии в основном очень хорошие и защищают конфиденциальность людей. Общественная активность также помогает нам предотвратить или ослабить проблемные законы (слежку).

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



Шифрование единственная причина, по которой полиция вообще использовала судебную процедуру. Некоторые считают, что на открытых каналах они бы применяли прослушку более широко, не утруждая себя получением разрешений. И только криптография защищает общество от произвола правоохранительных органов.



Подробнее..

Как правильно зарегистрировать электронную почту

02.02.2021 14:17:42 | Автор: admin

Здравствуй, %юзернейм%, сегодня я расскажу тебе о том, как правильно зарегистрировать электронную почту

Наверное такого заголовка в ленте постов у вас ещё не было, да? :-) Если мы введём этот вопрос в поисковой системе, то узнаем, что для того чтобы зарегистрировать ящик электронной почты вам нужно зайти на выбранный вами сервис электронной почты, нажать кнопку Зарегистрировать, указать фамилию и имя, выбрать свободный логин, придумать надёжный пароль, указать контрольный вопрос и ответ на него, если есть телефон то привязать. Вроде бы всё. На самом деле Яндекс подсказывает что по этому запросу есть примерно 9 миллионов ответов и мои весьма ценные советы вроде бы никому не нужны, поскольку такая мелочь как регистрация электронной почты в наше время уже ни у кого не вызывает проблем, но, тем не менее, я всё же хочу поделиться с вами опытом о том, как правильно зарегистрировать электронную почту. К сожалению, описанный мною сценарий не избавит вас от дальнейших проблем на 100%, но поможет избавиться от самых очевидных.

В разрезе современной реальности электронная почта это один из двух главных ключей ко всем вашим ресурсам (второй ключ мобильный телефон). Конечно у вас может быть регистрация через сервисы Гугла, Вконтакте, Фейсбук, СберID и т.п., но поскольку для регистрации в этих сервисах вам нужна электронная почта и/или телефон, то будем считать что почта и телефон самые главные.

В наше время чтобы начать бизнес нужно начать общаться с людьми и те предприниматели, кто уже набрался достаточно опыта в бизнесе, обычно для нового бизнеса сразу же заводят новую почту и новый телефон. Это как системные администраторы из анекдота о том, что сисадмины делятся на тех, кто не делает резервные копии и тех, кто уже делает, а, в свою очередь, те, кто делает резервные копии делятся на тех, кто пока ещё не проверяет возможность восстановления из них и уже проверяет. Если у вас ещё нет правила регистрировать новую почту и новый телефон для каждого нового крупного проекта (я имею ввиду бизнес-проекты), то давайте заведём это правило прямо сейчас. А что тут вообще может пойти не так, спросите вы? Раньше я говорил, что, мол, нет никакого смысла перебирать все, что может пойти не так, гораздо проще принять это как аксиому и поэтому предлагал не останавливаться на этом этапе, а сразу же пойти дальше к этапу создания электронной почты. Практика показала, что моё предложение не работает, поэтому приведу часть списка причин, по которым это нужно делать: личную почту и телефон никому не оставишь; при уходе с проекта вас будут донимать звонками и письмами; нужно будет заводить личную почту если хотите давать эту кому-то; будут закидывать спамом и заваливать звонками в любое время. И ещё 100 причин, поэтому давайте сделаем вид, что вы мне поверили, и будем считать, что теперь для каждого нового бизнеса вы будете заводить новую электронную почту.

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

Условно все ящики можно поделить на публичные, т.е. предназначенные для общения с контрагентами и технические, предназначенные для регистрации в различных сервисах. Если вы регистрируете ящик для бизнеса, то в дальнейшем, скорее всего, этот доступ вы начнете предоставлять или передавать, поэтому лучше сразу регистрировать пару ящиков, один технический, один публичный.

Этап первый: почта собственника

А как их, собственно, регистрировать, спросите вы? Давайте по порядку (тут и далее рассматривается вариант регистрации ящика на бесплатный сервисах):

1. Вам нужно определиться с сервисом (Мейл, Яндекс, Гугл или что-то еще) где вы будете регистрировать ваш ящик.

2. Заполните достоверную информацию о себе (как бы банально это не звучало).

3. Запишите все данные о регистрации: дата, время, браузер, IP адрес и другую важную информацию, это пригодится вам в том случае, если потребуется восстанавливать пароль.

4. Привяжите ящик к своему номеру телефона (желательно к тому, которым никто потом не сможет воспользоваться).

5. Установите пароль и запишите его.

6. После активации ящика СМЕНИТЕ ПАРОЛЬ, чтобы рабочий пароль отличался от первого пароля.

После этого у вас будет ящик электронной почты, ради которого и затевался этот квест, а так же все данные о регистрации. Я настоятельно рекомендую удалить из ящика все письма, отправленные в первую секунду его жизни почтовым сервисом, очистить корзину, установить двухфакторную авторизацию и т.п. Хуже не станет. А ещё, самое главное, уберите все данные о регистрации ящика далеко-далеко, но так, чтобы не забыть куда убрали и не потерять. Данные могут никогда не пригодиться, а может случиться так, что через 5 или 10 лет весь ваш бизнес будет зависеть от того, найдете вы эту бумажку или нет.

Этап второй: почта сотрудников

Каждому сотруднику нужна своя электронная почта и это факт. Самая большая ошибка, которую только можно допустить попросить сотрудника работать со своей почты. В этом случае вы в принципе не будете иметь к ней доступа (почта же личная, верно?), при увольнении или уходе в отпуск доступ вам так же не дадут. Обширная практика показывает, что это работает не только в том случае, когда сотрудник использует личную почту, но и в том, если он регистрирует почту специально для работы. Рано или поздно у него там появляется личная переписка, привязываются различные сервисы и т.п.

Разумное решение регистрировать все ящики самому по аналогии с ящиком для руководителя (т.е. скрупулезно сохраняя все данные о регистрации и привязывая к своему номеру телефона), а лучшее использовать почту на домене организации, для чего, кстати, можно использовать все те же Мейл, Яндекс и Гугл они предоставляют возможность подключать свой домен и работать из привычного интерфейса, а так же предлагают специфические плюшки для корпоративных пользователей (бесплатно или платно, в зависимости от потребностей). Тут все совсем просто: вы сами все регистрируете и раздаете пары логин/пароль сотрудникам, при необходимости в любой момент вы можете вернуть или передать доступ буквально одним нажатием кнопки.

Этап третий (и последний): наставления пользователям

Раздаем инструкции конечным пользователям, желательно подробные. По какому адресу заходить на почту, где скачать мобильное приложение, как поменять пароль и т.п. Я понимаю, что все эти данные можно взять в инструкциях почтового сервиса, но практика показывает, что для многих это запредельно и проще давать на бумаге подготовленный текст. Обычно там же я помещаю первых пароль от ящика с требованием сразу же сменить, хотя прекрасно понимаю, что вряд ли кто будет менять.

Не забывайте про то, что почти все сервисы позволяют пересылать все письма в никуда (т.е. когда отправитель ошибся в написании адреса почтового ящика) на конкретный ящик не забудьте настроить. Так же не забывайте отключать доступ к почте у уволенных сотрудников.

Вместо заключения

Напоминаю, что есть федеральный закон О рекламе (N 38-ФЗ) и закон О персональных данных (N 152-ФЗ), согласно этим законам если вдруг ваши менеджеры или кто-нибудь ещё решит скачать где-то базу e-mailов и начать просто так писать на них, то этот метод поиска клиентов может оказаться весьма затратным для вашей организации (постов на Хабре много почитайте). И вот не говорите что это всё паранойя и т.п.

А ещё я бы советовал создать приказ или регламент на тему того, в каких целях можно использовать корпоративную почту, в каких нельзя, можно ли самому регистрировать новую почту и т.п. А то сотрудник уйдёт, а проблемы останутся (это я по своему опыту знаю).

Подробнее..

Интеграция SAML в Zimbra OSE

16.06.2021 14:10:53 | Автор: admin
Технология единого входа обладает массой преимуществ по сравнению с классическими методами аутентификации, главное из которых заключается в том, что именно SSO обеспечивает наилучший баланс между удобством пользователя и информационной безопасностью предприятия. Ранее мы уже рассказывали о том, как реализовать SSO в Zimbra OSE при использовании аутентификации в Active Directory с помощью Kerberos. На этот раз мы расскажем о том, как внедрить Zimbra OSE другую технологию единого входа SAML на примере провайдера Okta.

image

Единый вход с помощью SAML в Zimbra OSE доступен только для пользователей Zextras Suite Pro.

Подготовка к интеграции

В первую очередь для включения интеграции в SAML, необходимо пропатчить NGINX. Для этого в папке /opt/zimbra/conf/nginx/templates/ отредактируйте поочередно файлы:

  • nginx.conf.web.http.default.template
  • nginx.conf.web.http.template
  • nginx.conf.web.https.default.template
  • nginx.conf.web.https.template

Во всех файлах в разделе location ^~ /zx/ замените содержимое на

location ^~ /zx/

{

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Forwarded-Port $server_port;

proxy_pass ${web.upstream.zx};

}


Эти изменения нужны для того, чтобы составлять полноценные URL-запросы Protocol X и X-Port.

Также необходимо активировать движок аутентификации от Zextras на уровне домена. Сделать это может администратор сервера, введя в командной строке команду zmprov modifyDomain example.ru zimbraAuthMech custom:zx.

Создание приложения в Okta

В том случае, если вы ранее не использовали SAML для доступа к ресурсам компании, вам придется создать собственное приложение для аутентификации пользователей. Для того, чтобы создать такое приложение в Okta:

1. Зарегистрируйтесь в качестве разработчика на сайте okta.com

2. В личном кабинете нажмите на кнопку Create App Integration



3. В открывшемся списке выберите SAML 2.0 и нажмите Next



4. В следующем окне укажите название своего приложения, выберите иконку и настройте его видимость и нажмите кнопку Next, когда всё будет готово



5. В следующем окне:

  1. В качестве SSO URL укажите адрес вашего сервера с аппендиксом /zx/auth/saml
  2. В качестве Audiend URI укажите адрес вашего сервера с аппендиксом /zx/auth/samlMetadata
  3. В качестве Name ID Format укажите EmailAddress
  4. Нажмите кнопку Next



6. В мини-опросе выберите первый вариант ответа и нажмите кнопку Finish



7. Скачайте метаданные своего приложения SAML



Если у вас уже есть приложение в Okta, просто скачайте файл с метаданными своего приложения.

Экспорт учетных записей из домена Zimbra OSE

Приложение SAML поддерживает как создание новых учетных записей, так и импортирование уже существующих из Zimbra. Для того, чтобы импортировать учетные записи, необходимо сперва экспортировать их из Zimbra в формате .csv.

Для экспорта учетных записей перейдите в консоль администратора Zimbra, перейдите во вкладку Поиск и осуществите поиск по пользователям с названием домена в поисковом запросе. Результатом поиска будет полный список пользователей домена, который можно выгрузить в формате CSV, нажав на иконку Дополнительные настройки в правом верхнем углу и выбрав раздел Загрузить



Импортируйте полученный CSV в приложение SAML с помощью соответствующего инструмента в личном кабинете разработчика.

Интеграция приложения в Zimbra OSE

Чтобы интегрировать приложение SAML в Zimbra OSE, вам потребуются данные из скачанного ранее файла с метаданными приложения.

Интеграцию можно провести в автоматическом режиме, просто указав в настройках расположение файла с метаданными, так и вручную, добавив все необходимые данные в файл конфигурации.

Для того, чтобы выполнить интеграцию в автоматическом режиме, введите команду zxsuite auth saml import example.ru url dev-3299935.okta.com/app/exkvjcggn7C7jrhc75d6/sso/saml/metadata. Если вы используете собственный сервер SAML с самоподписанными сертификатами, используйте параметр allow_insecure true для пропуска проверки подлинности SSL-сертификата.

Чтобы провести интеграцию в ручном режиме, экспортируйте настройки SAML по умолчанию при помощью команды zxsuite auth saml get example.ru export_to /tmp/saml.json. Откройте полученный файл /tmp/saml.json в любом редакторе и добавьте в него следующие данные, заменяя строки отмеченные знаками >> << данными из файла с метаданными. В нашем случае добавленные строки будут выглядеть следующим образом:

sp.nameidformat:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress ,
sp.entityid: >>example.ru/zx/auth/samlMetadata?domain=example.ru<<,
sp.assertion_consumer_service.url: >>example.ru/zx/auth/saml<<,
idp.single_sign_on_service.url: >>dev-3299935.okta.com/app/dev-3299935_zextrassamlintegration_1/exkvjcggn7C7jrhc75d6/sso/saml<<,
idp.entityid: >>www.okta.com/exkvjcggn7C7jrhc75d6<<,
idp.x509cert: >>MIIDpjCCAo6gAwIBAgIGAXmC9e8bMA0GCSqGSIb3DQEBCwUAMIGTMQswCQYDVQQGEwJVUzETMBEG A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU MBIGA1UECwwLU1NPUHJvdmlkZXIxFDASBgNVBAMMC2Rldi0zMjk5OTM1MRwwGgYJKoZIhvcNAQkB Fg1pbmZvQG9rdGEuY29tMB4XDTIxMDUxOTA0NDkyNloXDTMxMDUxOTA0NTAyNlowgZMxCzAJBgNV BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQ0wCwYD VQQKDARPa3RhMRQwEgYDVQQLDAtTU09Qcm92aWRlcjEUMBIGA1UEAwwLZGV2LTMyOTk5MzUxHDAa BgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQCOJA7bhf/LO89VpuGTHur77RbwKlJg3Eni/P4JKowSVrQD6PghwprCdzThyTsKWcHwESZoYwEL WdrZ6CVzDZWAegWJnaJivfiFlFjsEZ15UHOGizMBM3VI0ePWjaWJ6O2DM9BID2mGULnXUDbQXbf6 rE1EHxzlxzCKIBWmT8ut/JsA/lmBm0YNi4BKfP06KXCLianxoH+fEETNd/NH2mXwgHdxMV1BS/mm TAHSJtkDfWxTM+dTGngrjMANKvmChGjSO1ZXFs/pm+vx0o6ffYcoeXnfgodBX3FZ7aTFBTk0s5Se Wms1utjfa8qhHbrolErqqIc1PPBngEFvzcLjFAfRAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAByU jjdAc5tdH+QFAHS0CJNYa9VNaapxuEFrlR3ZdAztIaczKUqYfHqHdXuDHYCjdHXhLFHwntBsnphk M2sk8D2zG0wpoYsEA3IrvbXoTwwqDzACpLF37S7Pfn0RjE5IvvJ9WP4DoZa9ikM/p0N+H7fpqkU2 xavoiNGOMqot9xpWrytM0P+luXereriOOzVaBS1+DuhA4INhze5luyc52X18T4HrJ3iGivfXR2os L8/PI4gZwR956Ju8tDEcmFVCelLN4FlN3ITogPK+SyKHhlTBuSGHidrGKQJBRmkLhk6lhKWTHjWP mI88ECqrA63+QvxU4KRUl1zzRgKVwrgzos4=<<

Сохраните внесенные в файл изменения и импортируйте его в Zimbra OSE с помощью команды zxsuite auth saml import example.ru /tmp/saml.json



После осуществления всех описанных действий на странице входа веб-клиента Zimbra OSE появится кнопка Вход SAML, при нажатии на которую сервер обратится к приложению SAML с запросом об аутентификации пользователя. В случае, если приложение подтвердит подлинность входа, пользователь попадет в свою учетную запись без ввода каких-либо аутентификационных данных. При этом оставляется возможность для входа пользователя по логину и паролю.

По всем вопросам, связанными c Zextras Suite Pro и Team Pro вы можете обратиться к Представителю компании Zextras Technology Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com
Подробнее..

Ведущий переговоры 2020

02.12.2020 12:23:30 | Автор: admin
2020 год надолго останется в нашей памяти. Мы буквально ходили по лезвию, отклоняясь то в одну, то в другую сторону. Выходили из каратина и возвращались в него. Вспоминали каково это видеть коллег и партнеров не в сети, видели их в уже привычных окошках Zoom'a.
Мы зависаем на видеовзонках и тонем в море электронной переписки. 2020й повлиял на наше общение и впору дописывать в резюме эффективно провожу переговоры в удаленном формате. А как это эффективно проводить переговоры и особенно не в live?

А вы знаете, что такое груминг?
Не в контексте гибкого подхода к разработке или стрижки собак. Грумингом также называют процесс взаимного вычесывания у обезьян. С его помощью приматы выстраивают отношения друг с другом, создают социальные связи и проходят процесс социальной адаптации. Результатами этого процесса являются условные единицы взаимного уважения, которые учитываются в иерархической системе стаи. Для общества людей, так же как и для приматов, инстинкт самосохранения группы, или иерархический инстинкт, тесно связан с индивидуальным инстинктом самосохранения. Поэтому нам столь важно уметь выстраивать отношения внутри группы. Нейроны, ответственные за размышления об отношениях в обществе, также отвечают и за другие мыслительные процессы.

Насколько наш мозг умеет думать о своих отношениях с людьми, настолько же хорошо мы способны думать обо всем прочем, включая, например, математическое мышление или построение других сложных интеллектуальных объектов.

Следовательно:

  1. Чем лучше мы умеем выстраивать отношения, тем выше сможем подняться по иерархической лестнице.
  2. Чем лучше мы умеем договариваться, тем эффективнее мы решаем другие умственные задачи, лучше думаем.

Переговоры это тот навык, который позволяет нам натренировать наш мозг и решить вышеописанные задачи. У эффективного ведения переговоров много плюсов: уверенность в себе, детальный подход к решению проблем, больший контроль над своей жизнью, больше денег, больше душевного равновесия.

Что такое переговоры?


Определений переговоров в современной литературе существует большое количество. Мне больше всего понравился многоуровневый взгляд на переговоры от Стюарта Даймонда из его книги Переговоры, которые работают. 12 стратегий, которые могут помочь вам получить большего в любой ситуации. Это определение переговоров отражает эволюцию переговорщика, который начинает выстраивать процесс с внимания, направленного на себя, и постепенно переводит фокус внимания вовне:

  1. Принуждение людей к выполнению вашей воли.
  2. Убеждение людей думать так, как вы хотите.
  3. Убеждение людей воспринимать то, что вы хотите, чтобы они воспринимали.
  4. Убеждение людей чувствовать то, что вы хотите, чтобы они чувствовали.

Обладая силой, проще своего принудить людей выполнить то, что мы хотим. Но насколько комфортно будет людям? Насколько пострадает ваш социальный капитал? Будет ли такая стратегия работать в долгосрочной перспективе?

Убедить людей в правильности своей точки зрения отличный подход, который основан на рациональности людей. Но не стоит забывать об эмоциях, которые характерны людям. По своей природе люди привыкли действовать иррационально.

Для того, чтобы убедить людей воспринимать то, что вы хотите, нужно попробовать посмотреть на предмет переговоров глазами ваших оппонентов. Что они думают? Как они представляют себе предмет переговоров?

Самое сложное подключиться к чувствам наших оппонентов. Наверняка вы видели или слышали о жестких переговорщиках, которые добиваются всего. Но какой след они оставляют за собой? Возможность понять чувства оппонента и донести свои в переговорном процессе можно назвать гуманным подходом к ведению переговоров.

С террористами переговоров не ведем


image

Вы не задумывались, почему дети это лучшие в мире переговорщики?

  1. У них есть четкая цель. Они всегда знают, чего хотят добиться в конкретной ситуации и не отвлекаются в переговорах.
  2. Они подробно изучили своих оппонентов и знают подход к каждому из них.
  3. Они знают, кто принимает окончательное решение в переговорах и сразу идут к этому человеку, а не проводят часы в пустых беседах с теми, кто ничего не решает.
  4. Они не готовы идти на уступки. Вступив в переговоры, мы порой сразу готовы уступить в надежде, что это даст нам какое-то преимущество. Дети не допускают этой глупой ошибки.
  5. Они готовы использовать в переговорах всевозможные приемы интриги, манипуляции и другие грязные трюки.
  6. Они не сдаются и предпринимают попытки добиться своего вновь и вновь.
  7. Если соглашение было достигнуто (а оно было достигнуто и я готов поспорить, что не в вашу пользу), они тщательно следят за исполнение достигнутых договоренностей.
  8. Они никогда не слышали о стратегиях переговоров win-win и тому подобное. Эта стратегия большой самообман, который может только навредить нам в переговорах. Для детей переговоры это возможность получить то, чего у них не было до начала этих переговоров.
  9. Дети умеют четко формировать чувство нужды у своего оппонента. То самое чувство, которое заставляет нас принимать необдуманные решения. Вспомните те последние 5 минут перед выходом из дома, когда ребенок вспоминает о том, что сегодня одеться нужно было совсем по другому.
  10. Они умеют вам отказать и готовы использовать самый сильный инструмент переговорщика слово Нет.

Все это делает детей лучшими переговорщиками в мире, с которыми так трудно договориться.

Что же мешает нам быть такими же?


Каждый из нас считает себя хорошим переговорщиком. Этот навык нам дан с рождения и кто-то использует его регулярно. Большинству из нас, живущих в странах с западной культурой, он не нужен до начала осознанной трудовой деятельности. Ведь мы живем в тепличных условиях, в которых нам особо-то и договариваться не с кем и не о чем. По этому, попав в какую-то непривычную для нас переговорную ситуацию с опытным переговорщиком, мы соглашаемся на все, что нам навязывают.

Однажды мне довелось побывать на рынке в одной африканской стране. На этом рынке продавались великолепные изделия ручного труда местных ремесленников. Жирафы, слоны, носороги, вырезанные из цельных кусков дерева так искусно, что можно было разглядеть складки на их коже. Неимоверное количество различных товаров. На рынке пахло деревом, экзотическими фруктами, отовсюду раздавались крики и ругательства между покупающими и продающими. Этот рынок не был запланирован в нашей программе и попали мы туда в последний день нашего тура. Денег оставалось буквально на последний ужин. Именно на этом рынке я почувствовал насколько я слаб в переговорах. Местные продавцы были гораздо опытнее меня, и когда, вывернув все карманы, я показал им, что у меня не осталось ни одного цента, мне было предложено расстаться со своей футболкой в качестве доплаты за интересующего меня деревянного слона.

Переговорам нужно учиться, а главное тренироваться. Если прочесть 40 книг о том, как играть в большой теннис, то все равно не получиться обыграть Рафаэля Надаля.

Как учиться переговорам


Здесь возможен только один ответ: на практике. По-другому не получится. Я призываю вас делать это с умом, для этого можно изучить минимальный набор материалов на эту тему, вести отчетность и адаптировать свои подходы для последующих переговоров. В этой серии статей мы рассмотрим с вами основные этапы ведения переговоров и сформируем чек-лист переговорщика, который поможет нам самосовершенствоваться.

Где учиться


Поле для отработки своих навыков у нас огромное. Тренироваться можно на работе, дома, торгуясь в на рынке. Свои навыки можно тренировать в переговорных клубах, организовать которые можно в каждой компании. Это прекрасное место, где в безопасной среде вы можете попробовать различные навыки, тактики, стратегии и роли в переговорах. На тренировочных переговорах можно посмотреть со стороны на других и получить обратную связь от участников. Существуют и внекорпоративные клубы по оттачиванию переговорных навыков. Одними из самых популярных в нашей стране являются Переговорные поединки, которые проводятся по технологии Владимира Тарасова.

2020 год цифровых переговоров


В этом году произошли серьезные сдвиги в том, как мы производим наши коммуникации. У нас появилась возможность их оцифровать. Не только в смысле того, что они перешли в чаты или того, что мы стали записывать наши встречи при помощи современных инструментов. У нас появилась реальная возможность посчитать сколько времени у нас уходит на различные виды коммуникаций. Каждый из вас может сделать это, взглянув на свой календарь. Уверен, что для каждой профессии, компании цифры будут отличаться. Приведу вам свои, в качестве примера.

Я работаю руководителем проекта в разработке. У меня в работе 1 проект и также несколько активностей по внутренним процессам компании. В среднем на 40 часовой рабочей неделе у меня запланировано от 15 до 20 часов различных звонков, плюс появляются дополнительные внеплановые встречи. Получается, в период с апреля по октябрь (а это порядка 30 недель) у меня было проведено более 600 часов встреч, и эта цифра будет неуклонно расти. За это время нам пришлось учиться встречаться онлайн.

По данным 2020 года американских исследователей Барбары Пиз и Алана Пиз, более 65 процентов информации считывается нами невербально и только 35 передается через слова. Какие средства невербальной коммуникации мы знаем:

  • позы
  • жесты
  • внешний вид, в том числе наша одежда
  • дистанция
  • контакт глаз
  • тактильные движения (рукопожатия, любые прикосновения)
  • движения в пространстве

Переход в онлайн лишил нас части этой важной коммуникации. Используемые средства связи весьма скудно передают жесты и позы собеседника, затрудняют контакт глаз, вообще не передают дистанцию, тактильные движения и движения в пространстве. Но еще хуже становится, если камера выключена. Представьте, мы лишаем наш мозг более половины всей информации, которая для него так важна.

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

Как вести переговоры онлайн


  • Подготовьтесь сами и подготовьте ваших оппонентов. Каков план встречи? Какие вопросы будем обсуждать? Сколько будет длиться встреча? Следуйте плану и установленным правилам.
  • Включите камеру.
  • Обеспечьте себя хорошими средствами связи камера, микрофон, хороший интернет.
  • Отключите уведомления на компьютере и телефоне, они отвлекают.
  • Подготовьте собеседника к разговору. Проведите Small talk обсудите положительные новости, погоду, любую близкую всем тему.
  • Если вас смущает как вы выглядите и вы постоянно поправляете свой внешний вид, это может мешать переговорам. Либо смиритесь, либо отключите опцию вывода собственного изображения на экран.
  • Устраивайте регулярные перерывы. Внесите в план встречи, которая длится более одного часа, 5-10-минутные перерывы каждый час. Особенно если устраиваете встречи на иностранном языке.

Если вы участвуете в переговорах командой


  • Распределите роли наиболее прозрачно и ясно: кто что будет говорить, на какие вопросы отвечать.
  • Как вы будете переговариваться с командой во время переговоров: используйте отдельный чат для переговоров.
  • Общаться с командой во время звонков важно. Делайте это кратко и ясно.

Как вести переговоры по электронной почте


Если вы чувствуете неуверенность в своих силах переговорщика, переписка по электронной почте это отличный способ вести переговоры. Такой формат общения дает возможность обдумать и дать взвешенный ответ. Однако будьте осторожны: электронная почта имеет ряд особенностей, которые необходимо учитывать. Стоит помнить, что письмо электронной почты не несет в себе эмоциональной окраски и может быть воспринято с теми эмоциями, в которых пребывает на данный момент читающий. Например, получатель вашего письма только что вышел из кабинета руководителя после тяжелого разговора. Вероятно, во время прочтения вашего письма его эмоции будут негативными и восприятие письма будет негативным.

Советы по написанию электронной почты


  1. Добавьте в письмо тон. Начните письмо с фразы Пожалуйста, рассматривайте это письмо как выражение дружбы (конструктивной критики, печали и т.д). Таким образом мы просим собеседника прочесть письмо в заданном тоне.
  2. Никогда не отправляйте ответ на письмо сразу, руководствуясь первой реакцией на него. Отложите на полчаса, таким образом вы сэкономите время.
  3. Прежде чем отправлять письмо, прочтите его так, будто читающий человек прочтёт его в худшем настроении. Большинство писем кажутся более агрессивными, чем они есть. Подумайте об образах, которые возникнут у читающего.
  4. Попробуйте поменяться ролями. Вначале напишите то, что важно для получателя. Таким образом появится версия ничего не обязывающего разговора на общие темы. Я надеюсь, что вы выздоровели или Я слышал, что у вас выпало много снега или I hope you are doing well. Это позволит сделать письмо более личным и послужит началом беседы как в жизни.
  5. Старайтесь никогда не отправлять письмо, когда вы расстроены или сердиты.
  6. Старайтесь делать так, чтобы ваши письма были короткими. Указывайте в письме ожидаемые временные рамки ответа: Когда вам будет удобно/ Ждём ответа в течении пары дней. Так вы дадите людям понимание, что цените их время.
  7. Если пишите чрезвычайно важное письмо, дайте его кому-нибудь перечитать.
  8. Пользуйтесь визуальными выделителями текста. Используйте бледно-зеленый/желтый/красный для выделения информации.

Вывод


Задумывались ли вы о том, какого количества сложностей можно было бы избежать, если бы мы применяли навыки эффективного ведения переговоров? Переговоров, которые ориентированы не только на победу, а на сохранение взаимоотношений и сотрудничество. Переговоров, которые позволяют сохранить отношения с деловыми партнерами, коллегами на работе, друзьями, близкими и самим собой. В современном мире избежать переговоров невозможно, вы будете их участником. Весь вопрос в том, готовы ли вы в них умело участвовать? Или быть как тот парень на африканском рынке с деревянным сувениром в руках?

Материалы, использованные при подготовке:


Андрей Курпатов Чертоги разума
Даймонд Стюарт Переговоры, которые работают. 12 стратегий, которые помогут вам получить больше в любой ситуации
Джим Кэмп Cначала скажите Нет
Allan and Barbara Pease The Definitive Book of Body Language

"Виртуальные переговоры: 5 советов, как вести их успешнее"
Подробнее..

Recovery mode Управление несколькими адресными книгами в Zimbra Collaboration Suite Open-Source Edition

15.06.2020 14:21:28 | Автор: admin
Глобальная книга адресов в Zimbra OSE реализована с помощью отдельной системной учетной записи galsync, которая имеется на каждом почтовом домене Zimbra OSE. В список контактов этой учетной записи добавлена информация о каждом пользователе в домене, а пользователи домена при этом имеют доступ к данному списку адресов и могут использовать его для поиска пользователей и автозаполнения при наборе адреса электронной почты.

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

image

Для того, чтобы объединить списки контактов учетных записей galsync с разных почтовых доменов, необходимо настроить их синхронизацию. На примере доменов msk.company.ru и spb.company.ru настроим общую адресную книгу для филиалов компании в Москве и Санкт-Петербурге.

По умолчанию учетная запись galsync в доменах Zimbra OSE имеет некий суффикс, представляющий из себя случайный набор цифр и букв. Это в дальнейшем может затруднить нам работу с ней, и поэтому сперва удалим учетную запись galsync.kf9song4@msk.company.ru, а затем создадим новую galsync@msk company.ru с помощью следующих команд:

zmgsautil deleteAccount -a galsync.kf9song4@msk.company.ru
zmgsautil createAccount -a galsync@msk.company.ru -n GAL --domain msk.company.ru -t zimbra -s mail.company.ru -f GAL

Обращаем ваше внимание на то, что учетную запись galsync ни в коем случае нельзя удалять так же, как и обычную учетную запись. Это приведет к тому, что Zimbra OSE постоянно будет сообщать об ошибке при попытке обращения к домену, который остался без учетной записи galsync.

После этого добавим в учетную запись galsync московского домена новый источник данных SPB, контакты из которого будут автоматически добавляться в папку контактов_SPB. Делается это при помощи команды zmgsautil addDataSource -a galsync@msk.company.ru -n SPB --domain msk.company.ru -t ldap -f _SPB -p 1d.

В качестве источника информации укажем домен spb.company.ru и зададим фильтр для поиска контактов: zmprov mds galsync@msk.company.ru SPB zimbraGalSyncLdapBindDn $zimbra_ldap_userdn zimbraGalSyncLdapBindPassword $zimbra_ldap_password zimbraGalSyncLdapFilter '(|(&(mail=*)(zimbraAccountStatus=active)(!(zimbraHideInGAL=TRUE)))(&(mail=*)(objectClass=zimbraDistributionList)(!(zimbraHideInGAL=TRUE))))' zimbraGalSyncLdapSearchBasedc=spb,dc=company,dc=ru zimbraGalSyncLdapURL ldap://192.168.0.15:389.

Теперь останется лишь включить добавленный нами источник контактов zmprov mds galsync@msk.company.ru SPBzimbraDataSourceEnabled TRUE и принудительно провести первую синхронизацию с помощью команды zmgsautil forceSync -a galsync@msk.company.ru -n SPB.

Убедиться в том, что синхронизация контактов между глобальными адресными книгами работает, можно проверить содержимое папки _SPB, которую мы только что создалиzmmailbox -z -m galsync@msk.company.ru gaf. Если все в порядке, останется только ввести командуzmprov md msk.company.ru zimbraGALMode bothи проверить, как работает автозаполнение при наборе контактов из петербургского домена.

В том случае, если вам необходимо, чтобы пользователи домена spb.company.ru также могли видеть пользователей домена msk.company.ru, потребуется сделать то же самое, но поменяв местами домены:

  1. zmgsautil addDataSource -a galsync@spb.company.ru -n MSK --domain spb.company.ru -t ldap -f _MSK -p1d
  2. zmprov mds galsync@spb.company.ru SPB zimbraGalSyncLdapBindDn $zimbra_ldap_userdn zimbraGalSyncLdapBindPassword $zimbra_ldap_password zimbraGalSyncLdapFilter '(|(&(mail=*)(zimbraAccountStatus=active)(!(zimbraHideInGAL=TRUE)))(&(mail=*)(objectClass=zimbraDistributionList)(!(zimbraHideInGAL=TRUE))))' zimbraGalSyncLdapSearchBasedc=msk,dc=company,dc=ru zimbraGalSyncLdapURL ldap://192.168.0.15:389
  3. zmprov mds galsync@spb.company.ru MSK zimbraDataSourceEnabled TRUE
  4. zmgsautil forceSync -a galsync@spb.company.ru -n MSKzmmailbox -z -m galsync@spb.company.ru gaf
  5. zmprov md spb.company.ru zimbraGALMode both

Количество источников данных в учетной записи galsync неограничено.

Добавлять новые источники контактов для учетной записи galsync можно и в консоли администрирования. Однако для того, чтобы это сделать, все равно сперва придется поработать в командной строке. Для того, чтобы, например, добавить в galsync московского домена контакты из филиала в Калуге, необходимо с помощью командыzmgsautil addDataSource -a galsync@msk.company.ru -n KLG --domain msk.company.ru -t ldap -f _KLG -p 1d добавить источник данных KLG и папку для них под названием _KLG.



После этого в администраторской консоли переходим вНастройка Домены настроить GAL, в открывшемся мастере настройки глобальной адресной книги выбираем источник KLG и вводим в него все необходимые параметры, аналогичные тем, что использовались в прошлых примерах.



Также в качестве внешнего источника контактов можно подключить Active Directory. Делается это точно так же, как и в случае с обычным LDAP:cоздается источник данных AD zmgsautil addDataSource -a galsync@msk.company.ru -n AD --domain msk.company.ru -t ldap -f _AD -p 1d, а затем в консоли администрирования указывается фильтр поиска и данные для автозаполнения.

По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании Zextras Екатерине Триандафилиди по электронной почте katerina@zextras.com
Подробнее..

Recovery mode Zextras запускает собственную версию почтового сервера Zimbra 9 Open Source

14.07.2020 18:11:56 | Автор: admin
14 июля 2020 года, Виченца, Италия Ведущий мировой разработчик расширений для СПО Zextras выпустил собственную версию популярного почтового сервера Zimbra с загрузкой из собственного репозитория и поддержкой. Решения Zextras добавляют в почтовый сервер Zimbra возможности совместной работы, коммуникаций, поддержку хранилищ, мобильных устройств, резервирования и восстановления в реальном времени, администрирования мультитенантной инфраструктуры.

image

Zimbra это широко известный почтовый сервер с открытым кодом, используемый миллионами пользователей во всех отраслях экономики, государственных и образовательных учреждениях, сервис-провайдерах по всему миру. Торговая марка Zimbra принадлежит американской компании Synacor. В апреле 2020 года Synacor изменил политику в области публикации открытого кода. Начиная с выпуска Zimbra 9 проект перестал публиковать Zimbra Open Source Edition и ограничился выпуском только коммерческой версии продукта. Это вызвало негативную реакцию сообщества пользователей Zimbra с открытым кодом, и под их давлением Synacor открыл коды Zimbra 9 для создания собственных сборок и самостоятельной их поддержки.

В создавшейся ситуации на помощь пользователям Zimbra OSE пришла компания Zextras, которая благодаря многолетнему опыту разработки для этого сервера создала собственную сборку Zimbra 9 Open Source от Zextras и решила независимо поддерживать ее в дальнейшем. Сборка Zextras, создана на основе исходного кода, предоставленного Synacor без каких-либо существенных изменений. Благодаря позиции Zextras пользователи во всем мире смогли отстоять свое право использования актуальных версий популярного продукта с поддержкой на экспертном уровне.

Помимо поддержки собственной ветки Zimbra 9 Open Source компания Zextras порадовала пользователей новыми возможностями продукта: представлением нескольких писем каскадом в веб-клиенте, расширенными функциями календаря и задач, чатом Zimbra и многим другим.

Генеральный директор Zextras Паоло Сторти прокомментировал свое решение поддержать Zimbra Open Source: В конце 90-х я начал работать системным администратором Linux. Позже, сосредоточился на предоставлении почтовых решений с открытым исходным кодом. Это было время напряженной работы. Интеграция и поддержка множества разнородных компонентов была постоянной проблемой, ночи и дни были потрачены на то, чтобы найти подходящее решение. Потом появилась Zimbra, и это стало для меня поворотным моментом: мне сразу понравилась возможность предложить комплексное решение, в котором все части идеально сочетаются друг с другом. Как поклонник коммуникационных систем и сторонник Open Source, я нашел в Zimbra все, о чем мечтал. Это причина, по которой я предоставил свою сборку Zimbra 9, чтобы продолжить проект, в который я твердо верю.

Вы можете скачать Zimbra 9 Open Source от Zextras на нашем сайте

Zextras ведущий мировой разработчик для почтового сервера Zimbra OSE. Это компания с десятилетним опытом работы и присутствием во всех регионах мира. Zextras Suite добавляет в Zimbra OSE текстовый и видеочат, резервирование, совместную работу с документами, поддержку мобильных устройств и дисковых хранилищ с высокой степенью надежности и экономным использованием вычислительных ресурсов. Решение используется в крупнейших компаниях, операторах связи и провайдерах облачных услуг более чем 20 миллионами пользователей.

По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании Zextras Екатерине Триандафилиди по электронной почте katerina@zextras.com
Подробнее..

Миграция с Zimbra OSE 8.8.15 на Zimbra 9 Open Source от Zextras

11.08.2020 14:11:07 | Автор: admin
После того как компания Zextras опубликовала собственные сборки Zimbra Collaboration Open-Source Edition 9, многие администраторы решили обновить свои почтовые серверы до новой версии и обратились в техническую поддержку Zextras с вопросом о том, как это можно сделать, не ставя под угрозу работоспособность одной из ключевых систем предприятия.

Перейти на Zimbra OSE 9 от Zextras можно двумя способами. Первый, он же самый простой и быстрый обновление Zimbra 8.8.15 OSE на сервере до новой версии. Минусов у такого подхода ровно два. Первый вам потребуется достаточно длительный технический перерыв для осуществления обновления, второй в случае, если что-то пойдет не по плану, вы рискуете остаться без работоспособной системы и можете потратить массу времени на то, чтобы она вновь начала функционировать.Вторым способом перехода на Zimbra OSE 9 является миграция с сервера на базе Zimbra OSE 8.8.15 на сервер с Zimbra OSE 9. Этот подход немного более сложен в исполнении, однако при этом не требует длительного технического перерыва, а в случае возникновения проблем на одном сервере, у вас под рукой всегда будет другой сервер с полностью работоспособной Zimbra OSE.

image

Для того, чтобы выполнить обновление, необходимо скачать дистрибутив Zimbra 9 OSE с сайта Zextras и запустить установщик, который самостоятельно обнаружит установленную Zimbra OSE 8.8.15 и предложит обновить почтовый сервер до новой версии. Процесс обновления схож с процессом установки Zimbra OSE 9, который детально описан в нашей предыдущей статье.

Процесс миграции мы рассмотрим на примере домена company.ru. Zimbra OSE 8.8.15 работает на узле mail.company.ru, а Zimbra OSE 9 будет установлена на узле zimbra9.company.ru. При этом MX-запись в DNS указывает именно на узел mail.company.ru. Нашей задачей будет перенести учетные записи сотрудников предприятия с почтовой системы на узлеmail.company.ru в систему, развернутую на узле zimbra9.company.ru.



Первым шагом на пути к её выполнению будет создание резервной копии на одном сервере и ее развертывание на другом. Выполняется эта задача с помощью расширения Zextras Backup, входящий в состав Zextras Suite Pro. Обращаем ваше внимание на то, что для успешного переноса резервной копии, на обоих серверах должна быть установлена одинаковая версия Zextras Suite Pro. Также обращаем ваше внимание на то, что минимальной версией, совместимой с Zimbra OSE 9 является Zextras Suite Pro 3.1, поэтому не стоит пытаться выполнить перенос данных с версией ниже, чем обозначенная.



Для выполнения миграции рекомендуется использовать внешний жесткий диск или сетевое запоминающее устройство, смонтированное в папку /opt/zimbra/backup/zextras/, в которую по умолчанию сохраняется резервная копия почтового сервера. Это делается для того, чтобы создание резервной копии не создавало дополнительную нагрузку на работающую систему.



Начнем миграцию с того, что отключим на обоих серверах функцию сканирования в реальном времени при помощи команды zxsuite backup setProperty ZxBackup_RealTimeScanner false. Затем на исходном сервере запустим SmartScan при помощи команды zxsuite backup doSmartScan. Благодаря этому все наши данные экспортируются в папку /opt/zimbra/backup/zextras/, то есть окажутся на внешнем носителе. После окончания операции смонтируйте носитель на целевом сервере. Также, если скорость внутренней сети позволяет, можно использовать для переноса резервной копии утилиту rsync.

После этого можно приступать к развертыванию резервной копии на целевой инфраструктуре. Делается это при помощи команды zxsuite backup doExternalRestore /opt/zimbra/backup/zextras/. По окончании развертываниявы получите работоспособную копию старого сервера, который можно вводить в работу. для этого нужно сразу внести изменения в MX-запись DNS-сервера и переключить поток писем на целевую инфраструктуру. Кроме того, необходимо внести изменения в имя хоста и DNS-запись узла zimbra9.company.ru, чтобы пользователи, входя в веб-клиент, попадали именно в Zimbra OSE 9.



Однако работа ещё не завершена. Дело в том, что письма, которые пришли после окончания резервного копирования и до переключения потока писем на новый сервер, пока что хранятся в Zimbra OSE 8.8.15, поэтому сразу после того как письма перестанут приходить на сервер с Zimbra OSE 8.8.15, необходимо будет снова сделать его резервную копию. Благодаря Смарт-сканированию, в нее попадут только те данные, которые отсутствовали в предыдущей резервной копии. Поэтому процесс переноса свежих данных не будет длиться долго.



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

Очевидным следствием такого подхода к обновлению сервера является то, что пользователи Zimbra некоторое время не будут иметь доступа к части полученных и отправленных писем, однако при этом смогут нормально получать и отправлять электронную почту. Кроме того, во время непосредственного восстановления содержимого почтового ящика возможны падения производительности и отзывчивости сервера, однако все эти нюансы гораздо лучше, чем длительный технический перерыв и сопряженная с ним временная недоступность сервиса.

По всем вопросам, связанными c Zextras Suite вы можете обратиться к Представителю компании Zextras Екатерине Триандафилиди по электронной почте katerina@zextras.com
Подробнее..

Делегирование почтовых папок и отправки писем в Zimbra OSE

18.05.2021 14:13:42 | Автор: admin
Делегирование почтовых ящиков одна из ключевых функций почтовых серверов корпоративного класса. Эта функция позволяет пользователю на время отпуска предоставлять доступ к своему почтовому ящику коллеге, а руководителю дает возможность переложить на секретаря обязанность по чтению почты и ответу на нее. Также эта функция позволяет сотрудникам отдела совместно использовать единый почтовый ящик, на который поступают заявки от клиентов или различные обращения. В Zimbra OSE данная функция реализована не совсем стандартным способом. Возможности делегировать права на весь почтовый ящик сразу здесь не предусмотрено. Вместо этого имеется возможность предоставления доступа к почтовым папкам, а также делегирования отправки писем. Вместе две этих функции полностью повторяют функцию делегирования почтового ящика. Разберемся в том, как пользователь Zimbra OSE может настроить делегирование почтовых папок и отправку писем.

image

Самый простой и самый распространенный сценарий использования общих почтовых папок в Zimbra OSE является общий почтовый ящик для целого отдела. Возьмем, к примеру, предприятие, которое имеет отдел продаж в количестве трех человек и единый почтовый ящик sales@example.ru, на который поступают заявки и вопросы от клиентов. Задача состоит в том, чтобы обеспечить доступ всех работников отдела к входящим письмам на данном почтовом ящике.

Чтобы это осуществить, необходимо предоставить каждому работнику общий доступ к папке Входящие на почтовом ящике sales@example.ru. Для этого в веб-клиенте необходимо войти под учетной записью sales@example.ru и предоставить права доступа к папке Входящие каждому из работников отдела продаж.



При предоставлении доступа можно выбрать права, которые пользователь будет иметь на данную папку. Доступны 4 варианта:

  • Нет Настройка используется для отзыва прав на почтовую папку у пользователя
  • Наблюдатель Настройка используется для предоставления прав на просмотр содержимого почтовой папки
  • Менеджер Настройка используется для предоставления прав на просмотр, редактирование, удаление и добавление нового содержимого почтовой папки
  • Админ Настройка используется для менеджерских прав на содержимое почтовой папки. Пользователь с этим уровнем доступа сможет самостоятельно предоставлять доступ к почтовой папке другим пользователям

Также необходимо ввести электронные адреса сотрудников, которым будет предоставляться общий доступ к почтовой папке Входящие. Разумно будет обычному сотруднику дать доступ только к чтению данных из папки, а руководителю отдела на ее полное администрирование.



После предоставления доступа к почтовой папке, пользователю придет письмо с информацией о почтовой папке, к которой он теперь имеет доступ. Прямо из письма пользователь может примонтировать папку в веб-клиенте Zimbra. В процессе монтирования он может переименовать её и изменить цвет ее иконки, чтобы сделать общую папку более заметной в структуре почтовых папок веб-клиента.

Чтобы сотрудники могли отвечать на письма не указывая своей личной почты, а используя в качестве адреса От: sales@example.ru, необходимо делегировать им права на отправку. Делается это в настройках веб-клиента. Для этого в настройках перейдите в раздел Учетные записи и найдите настройку Делегаты. При нажатии на кнопку Добавить делегата откроется диалог добавления учетной записи с правами на отправку сообщений. Здесь необходимо указать имя учетной записи, которая сможет отправлять письма от имени данной учетной записи, а также вид делегирования, который бывает двух видов

  • Отправить как Получатель письма, отправленного сотрудником как sales@example.ru увидит в поле От: только почтовый адрес sales@example.ru
  • Отправить от имени Получатель письма, отправленного сотрудником от имени sales@example.ru увидит в поле От: почтовый адрес sales@example.ru и адрес сотрудника, который является реальным отправителем.

Можно предоставлять пользователям оба варианта делегирования отправки писем.



То же самое можно выполнить административно без участия пользователей. С помощью команд необходимо будет предоставить пользователям доступ к папке почтового ящика sales@example.ru, смонтировать эту папку в их веб-клиенте, а также предоставить права на отправку писем от имени данного почтового ящика.

  1. Предоставим доступ к почтовой папке: zmmailbox -z -m sales@example.ru mfg '/Inbox' account ivanov@example.ru r
  2. Смонтируем папку в веб-клиенте пользователя: zmmailbox -z -m ivanov@example.ru cm '/sales@example.ru' sales@example.ru '/Inbox'
  3. Делегируем право отправления писем от имени sales@example.ru: zmprov grr account sales@example.ru usr ivanov@example.ru sendOnBehalfOf
  4. Делегируем право отправления писем как sales@example.ru: zmprov grr account sales@example.ru usr ivanov@example.ru sendAs

Проверить, корректно ли настроены права отправки писем можно с помощью команды zmprov ckr account sales@example.ru ivanov@example.ru sendAs. В ее выводе должно значиться ALLOWED



Для назначения расширенных прав на почтовую папку начальнику отдела продаж, следует воспользоваться командой предоставления прав на папку с расширенным набором атрибутов, например zmmailbox -z -m sales@example.ru mfg "/Inbox" account SalesBoss@example.ru rwixda. Добавленные атрибуты означают следующее:

  • w права на запись данных в почтовую папку
  • i права на создание подпапок в почтовой папке
  • x права на принятие приглашений
  • d права на удаление данных из почтового ящика
  • a права на администрирование почтовой папки

Для отзыва прав на папку используется команда предоставления прав на папку с атрибутом none, например zmmailbox -z -m sales@example.ru mfg '/Inbox' account ivanov@example.ru none. Для отзыва прав на отправку писем используется команда zmprov grr account sales@example.ru usr ivanov@example.ru -sendAs. Проверить, были ли отозваны права отправки писем можно с помощью команды zmprov ckr account sales@example.ru ivanov@example.ru sendAs. В ее выводе должно значиться DENIED.

Также на предприятии может возникнуть необходимость отправки почтовых сообщений от имени списка рассылки. Для того, чтобы добавить пользователю возможность отправки писем от имени списка рассылки введите команду zmprov grr dl DistList@example.ru usr ivanov@example.ru sendAsDistList. Чтобы отозвать права на отправку писем от имени списка рассылки, введите команду zmprov grr dl DistList@example.ru usr ivanov@example.ru -sendAsDistList.

По всем вопросам, связанными c Zextras Suite Pro и Team Pro вы можете обратиться к Представителю компании Zextras Technology Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com
Подробнее..

Почтовая система Mailion как нам удалось создать эффективное объектное хранилище для электронной почты

11.12.2020 16:14:18 | Автор: admin

Недавно на Хабре вышли две статьи про новую корпоративную почтовую систему Mailion от МойОфис (1, 2) уникальную российскую разработку, которая отличается беспрецедентными возможностями масштабирования и способна работать в системах с более чем 1 миллионом пользователей.

Несложно подсчитать, что для обслуживания такого числа пользователей потребуется колоссальный объем дискового пространства вплоть до десятков петабайт. При этом почтовая система должна уметь быстро обрабатывать эту информацию и надежно хранить её. Сегодня мы объясним общие принципы организации хранения данных внутри почтовой системы Mailion и расскажем, к каким оптимизациям мы прибегли, чтобы значительно снизить количество операций ввода/вывода и сократить требования к инфраструктуре.


Хабр, привет! Меня зовут Виталий Исаев, я занимаюсь разработкой объектного хранилища почтовой системы Mailion. Этой статьёй мы открываем цикл публикаций, посвящённых архитектуре нашего хранилища, его масштабированию, отказоустойчивости и устройству его внутренних подсистем.

Немного истории

Структура электронного письма формировалась в течение последних пятидесяти лет. Этапы её развития зафиксированы несколькими стандартами. Первое электронное письмо было отправлено между компьютерами системы ARPANET ещё в 1971 г. Но разработчикам стандартов потребовалось ещё 11 лет на разработку RFC 822, который стал прообразом современного представления электронной почты. В нём был описан общий коммуникационный фреймворк текстовых сообщений. В это время электронное письмо рассматривалось просто как набор текстовых строк, а передача структурированных данных (изображений, видео, звука) не подразумевалась и никак не регламентировалась.

Примерно в середине 1990-х родилась концепция специальных расширений MIME (RFC 2045, RFC 2046, RFC 2047), которые позволили включать в состав электронного письма бинарные форматы данных в закодированном виде.

В 2001 году новый стандарт RFC 2822 отменил некоторые устаревшие положения RFC 822, и ввёл понятие частей сообщения message parts, или, проще говоря, "партов". А благодаря MIME появилась возможность создавать multipart-письма, которые могли бы состоять из множества частей различных типов. Наиболее актуальным стандартом электронной почты является RFC 5322, он был разработан в 2008 году.

Структура электронного письма

На сегодняшний день типичное почтовое сообщение состоит из заголовка и "партов". В заголовке в структурированном виде хранятся метаданные, такие как идентификатор письма, электронные адреса отправителя и получателя, дата отправки и другие служебные поля. К "партам", которые составляют само тело письма, относятся основной и альтернативный текст, изображения, прикреплённые файлы. Объём заголовочной части письма редко превышает 1 килобайт текста, тогда как размер тела письма ограничен лишь лимитами почтовой системы и может достигать десятков и даже сотен мегабайт.

Когда письма поступают в Mailion по любому из транспортных каналов (SMTP, IMAP, API), они не сохраняются как единое целое, а разбиваются на составные части. В Mailion мы извлекаем информацию о структуре письма и некоторые другие служебные данные, и затем сохраняем их в хранилище метаинформации. "Парты" писем, которые составляют основной объем данных, направляются в объектное хранилище.

Рис. 1. Разбиение электронного письма на фрагменты и сохранение по частям в хранилище метаданных и объектном хранилище.

Поток данных, который проходит через почтовую систему, отличается следующими важными особенностями:

  • Письма часто пишутся и ещё чаще читаются. Работа пользователей с почтовой системой порождает огромное количество операций ввода-вывода в хранилище.

  • Письма иммутабельны однажды отправленное или полученное письмо хранится в почтовой системе в неизменном виде на протяжении всего своего жизненного цикла. Черновики писем могут редактироваться, но сами письма никогда.

  • Многие письма частично совпадают по содержимому. Например, в длинной цепочке писем могут встречаться взаимные цитирования. Это порождает совпадающие фрагменты текста. Пересылка писем со вложениями приводит к дублированию вложенных файлов. Кроме того, всеми сотрудниками одной компании используется в подписи идентичная картинка с логотипом. В корпоративной среде помимо этих совпадений бывают и другие, которые создаются информационными системами предприятия, например, шаблонными письмами с ответами календаря или системы управления задачами.

  • В корпоративной среде часто встречаются полные дубликаты писем. Это связано как с широким применением рассылок (например, отправка новостей компании всем сотрудникам), так и с практикой использования копий и скрытых копий. Наконец, у каждого письма всегда есть минимум две копии для отправителя и получателя, и в случае внутрикорпоративной переписки обе копии хранятся в одной и той же почтовой системе.

Дедупликация

После детального анализа особенностей потока данных мы сформулировали основной принцип проектирования хранилища: оно должно эффективно проводить дедупликацию почтовых сообщений. Правильная работа с дубликатами позволяет экономить не только дисковое пространство, но и операции ввода-вывода за счёт кэширования наиболее часто встречающихся фрагментов данных. Недорогие, но ёмкие HDD-накопители не отличаются высокой пропускной способностью, их показатели IOPS часто являются лимитирующим фактором для производительности всей системы. Благодаря дедупликации данных увеличивается не только экономическая эффективность хранилища, но и его производительность.

Пример расчета ресурсов системы хранения

Представьте, что вам необходимо выполнить массовую рассылку письма по компании с 1000 сотрудников. В подписи отправителя письма находится картинка с логотипом компании, её размер составляет 256 Кб. Давайте оценим затраты ресурсов на чтение рассылки всеми сотрудниками компаниями.

В классических почтовых системах mbox-формата, в которых копии писем разных пользователей хранятся в разных файлах, данная операция будет порождать поток произвольных чтений (random read) с диска. Стандартные HDD в этом режиме работы выдают производительность около 100 IOPS. При размере блока в 4 Кб чтение картинки в худшем случае, когда блоки файла при записи не были размещены последовательно, потребует 64 операции чтения. Следовательно, для чтения всех писем с картинками будет необходимо выполнить 64000 операции (64 операции * 1000 пользователей). Для того, чтобы обработать данную операцию за 1 секунду, потребуется 640 HDD одновременно. Если же в системе присутствует только один накопитель, то он будет работать со 100% утилизацией более 10 минут.

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

Накладные расходы дедупликации

Безусловно, дедупликация не бесплатна и сильно усложняет процесс записи и чтения, налагает дополнительные расходы на CPU и RAM. Однако иммутабельность данных частично компенсирует этот рост сложности. Благодаря неизменности писем, можно не поддерживать операцию записи по смещению (при необходимости его можно реализовать по принципу copy-on-write) и сохранять интерфейс хранилища максимально простым. На данный момент он состоит из записи, чтения, удаления данных и ещё пары вспомогательных методов.

Известные решения с дедупликацией

На момент старта проекта Mailion ни в одном из известных нам объектных хранилищ с открытым кодом подобные оптимизации не были реализованы. Например, в Minio отказались от реализации дедупликации ещё в 2017 г. Попытки доработки других готовых решений, таких, как Elliptics, Riak или Swift, при очевидных и значительных трудозатратах также не гарантировали успеха. ZFS в течение долгих лет не поддерживалась в Linux и по причине лицензионных разногласий официально не может поставляться в дистрибутивах, отличных от Oracle, да и к производительности дедупликации в этой файловой системе есть вопросы.

В Ceph дедупликация появилась в 2019 г., но Ceph имеет репутацию сложного для эксплуатации хранилища с большим количеством историй неуспеха. Многим известны истории отказа Ceph в Росреестре и DigitalOcean и даже потеря бизнеса компанией DataMouse. В багтрекере Ceph можно найти большое количество тикетов с зависаниями, сегфолтами и другими ошибками. Причем некоторые баги, даже в статусе Immediate, могут не устраняться по полгода и больше. Это наводит на мысли о том, что Ceph дорог не только с точки зрения эксплуатации, но и с точки зрения разработки: ресурсы разработчиков будут уходить на стабилизацию самого Ceph, а не на разработку собственного продукта.

Что такое DOS и как это работает

Мы убедились в отсутствии подходящих для наших задач продуктов с открытым исходным кодом, и решили разработать собственное хранилище с поддержкой дедупликации в самом ядре системы. Мы вдохновились программной статьей аналитиков из компании Storage Switzerland, в которой кратко описываются принципы проектирования современных программно-ориентированных хранилищ, и решили назвать наш продукт Dispersed Object Store (DOS). Код DOS написан на языках Go (95%), C и C++ (5%).

Модель данных и метаданных

Иерархия сущностей DOS включает в себя четыре уровня:

  • документы;

  • версии документов;

  • чанки (chunks);

  • сегменты.

Версия документа является синонимом традиционного понятия объект. Каждый успешный запрос на запись в DOS порождает новую версию определённого документа. В зависимости от бизнес-логики клиента каждый документ может обладать либо единственной версией, либо целой коллекцией версий. При этом версии одного документа могут быть упорядочены, например, по значению логического времени создания версии.

Каждый документ со стороны публичного API адресуется идентификатором, который состоит из пространства имён (namespace) и собственно ключа (key). В рамках одного пространства имён все ключи являются уникальными. Непосредственно в хранилище из внешнего идентификатора и с помощью криптографической хеш-функции генерируется внутренний ключ (storekey), который обладает свойством глобальной уникальности. Во внутренних API все документы адресуются уже через storekey.

В DOS применяется стриминговая запись. В рамках обработки одного запроса на запись поток данных, который поступает на сервер, частично буферизуется в оперативной памяти и только по накоплению определенного объёма сохраняется в персистентном хранилище. Полной буферизации крупных файлов не происходит никогда, поскольку это привело бы к чрезмерным расходам RAM. Частичная буферизация данных (но не только она) предопределяет в модели данных DOS появление чанков крупных байтовых последовательностей. Каждая версия документа может состоять из одного или нескольких чанков.

Чанки, в свою очередь, с помощью специальных алгоритмов разделяются на сегменты более короткие байтовые последовательности. Они выступают в роли элементарных единиц хранения в DOS. У сегментов тоже есть свои идентификаторы, ими являются хеши от их содержимого. В каком-то смысле, внутренним адресом данных в DOS являются сами данные (эта идея не нова и используется, например, в P2P-файловом хранилище IPFS).

Все документы, версии, чанки и сегменты в совокупности формируют внутренние метаданные DOS. Для персистентного хранения метаданных (документов и сегментов) вводятся индексы. В качестве хранилища индексов используется широко известная встраиваемая key-value база данных RocksDB. Индексы с метаданными должны размещаться на быстрых SSD дисках.

В свою очередь раздробленные на сегменты данные размещаются в бэкендах хранения на медленных HDD дисках. На ранних этапах разработки для этого использовался простой файловый бэкенд, в котором каждое тело сегмента хранилось в отдельном файле. Впоследствии был разработан более совершенный блобовый бэкенд, в котором сегменты объединяются в крупные файлы (блобы), тем самым экономятся файловые дескрипторы и снижается количество переключений контекста между пространством пользователя и пространством ядра.

Рис. 2. Иерархия внутренних сущностей DOS.

Дедупликация в DOS

В нашей системе дедупликация реализована на двух разных уровнях: на уровне сегментов (блочная дедупликация); на уровне версий документов.

Каждый из этих подходов имеет свои плюсы и минусы. Дедупликация на уровне сегментов достигается за счёт совместного использования одних и тех же сегментов различными версиями документов. Каждый сегмент поддерживает внутри себя счётчик ссылок (reference counter) со стороны версий документов. В момент записи новой версии документа поток входящих данных разбивается на сегменты. Для каждого из них по индексу выполняется проверка существования. Если подобный сегмент встречается впервые, то выполняется его запись в бэкенд. Если же сегмент уже сохранялся ранее, то он просто получает новую ссылку со стороны только что созданной версии документа. Тем самым обеспечивается хранение каждого сегмента в единственном экземпляре.

Этот способ дедупликации работает постоянно и позволяет обнаруживать совпадения между разными версиями документов, которые могут отличаться по размеру, времени создания, типу данных и другим параметрам. Он вносит значительный вклад в оптимизацию дискового пространства и операций ввода-вывода. Популярные сегменты, постоянно использующиеся при обработках запроса на чтение, почти наверняка окажутся в кешах.

Однако есть и минусы: существенные накладные расходы на поддержание счётчиков ссылок. Например, одна ссылка потребует от 8 до 40 байт, поэтому для очень популярных сегментов с сотнями тысяч ссылок такие счётчики могут достигать размера в несколько десятков мегабайт. Индекс сегментов раздувается, тяжёлые сегменты становятся слишком большими для пересылки по сети, в результате начинает возрастать время отклика. Для решения этой проблемы приходится вводить сложную систему шардирования счётчика ссылок.

В результате хеширования содержимого сегмента создается идентификатор, обладающий свойством глобальной уникальности. Коллизии идентификаторов сегментов неизбежно приведут к повреждению данных, поэтому для хеширования используется криптографическая функция BLAKE3. Она вносит весомый вклад в потребление CPU при обработке запроса на запись. В случае, если клиент готов ради экономии CPU пожертвовать глобальной уникальностью (например, для короткоживущих данных в небольших инсталляциях хранилища), он может выбрать более быстрые хеш-функции, не обладающие свойством криптографической стойкости.

Второй способ дедупликации несёт значительно меньше накладных расходов, но требует более глубокого вовлечения клиента. Внутрь версии документа встроена очень компактная структура счётчика копий (copy counter). Клиенту DOS предоставляются методы для проверки наличия версии документа и модификации её счётчика копий. Если бизнес-логика клиента позволяет выявить ранее записанную версию, то её повторная запись сводится лишь к дешёвой операции инкремента счётчика копий. В почтовой системе именно так реализовано сохранение партов письма: клиент использует хеш от содержимого парта для построения идентификатора документа, проверяет наличие документа с таким идентификатором и при его наличии просто увеличивает счётчик копий нужной версии на единицу. Иммутабельность данных версии документа даёт гарантию того, что все накопленные инкременты счётчика копий версии относились к одним и тем же данным.

Дедупликация на уровне версий документов фактически обеспечивает ещё один (очень экономичный) вариант записи, при котором оптимизируется не только дисковое пространство и операции ввода-вывода, но ещё и CPU и RAM, а также снижается нагрузка на сеть за счёт облегчения запросов.

Рис. 3. Два уровня дедупликации данных в DOS.

Отказоустойчивость

Если сегмент существует в единственном экземпляре, то что произойдёт в случае его потери? Если диск, на котором хранится популярный сегмент выйдет из строя, будет ли это означать невозможность чтения всех ссылающихся на него версий?

Для борьбы с этой проблемой в хранилищах самых разных классов (компакт-диски, RAID-массивы, промышленные СХД) традиционно используются коды коррекции ошибок. Наибольшую популярность получили коды Рида-Соломона (Подробнее в статьях на Хабре: 1, 2, 3).

В DOS во время записи чанк разбивается на заданное количество сегментов равного размера (data segments, d). С помощью кодирования Рида-Соломона из сегментов данных генерируются избыточные сегменты (parity segments, p). При потере любые p из d + p сегментов могут быть восстановлены из имеющихся d с помощью обратной операции. Таким образом, отказоустойчивость приобретается путём дополнительных расходов дискового пространства. Конкретные значения параметров определяются на этапах внедрения и эксплуатации системы. Исходя из потребностей в отказоустойчивости инсталляции, пользователи могут выбирать между стоимостью хранения и возможностью восстановления (часто встречаются комбинации d + p = 2 + 1 и d + p = 5 + 2).

Для гарантии восстановления каждого чанка DOS размещает все входящие в его состав сегменты на бэкенды, которые находятся на независимых HDD. Таким образом, при выходе из строя одного диска не произойдет повреждение сразу нескольких сегментов одного чанка.

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

Конечно, коды Рида-Соломона могут спасти далеко не всегда. Поэтому в DOS имплементирован ещё один способ восстановления данных: при запросе на инкремент счётчика копий клиент может получить ответ о том, что версия была повреждена и что надо заново записать точно такую же. В этом случае вновь записанная версия восстановит старые поврежденные.

Отдельного рассмотрения требует тема отказоустойчивости метаданных. Мы вернёмся к ней позже в публикациях, посвящённых кластеру DOS.

Конвейерная обработка данных

Во время обработки запроса на запись DOS буферизует первые несколько килобайт из входящего потока и отправляет их в библиотеку сигнатурного анализа файлов. Оттуда хранилище получает вычисленный MIME-тип данных. В контексте DOS все возможные MIME-типы подразделяются на группы форматов. Для каждой из групп в DOS организован отдельный конвейер преобразований (pipeline) и разные оптимизации.

Текстовые данные хорошо сжимаются. Для некоторых текстов с помощью алгоритмов ZSTD, Snappy, Brotli удаётся добиться более чем двукратного сжатия. Это существенная экономия дискового пространства и операций ввода-вывода, и она стоит дополнительных затрат CPU на компрессию и декомпрессию.

Для текстовых данных также можно повысить вероятность обнаружения дубликатов с помощью алгоритма content-defined chunking (CDC). Сущность алгоритма заключается в вычислении хеша Рабина в небольшом окне, скользящем по входящему потоку данных. В позициях, на которых вычисленный хеш принимает определённое значение, ставится граница между чанками. В результате поток разбивается на небольшие чанки разных размеров, однако при этом повышается вероятность обнаружения аналогичных чанков в других версиях с частично совпадающим содержимым.

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

Рис. 4. Различия в конвейерной обработке бинарных и текстовых данных в DOS.

Таким образом, конвейер для бинарных данных настроен на повышение пропускной способности сервера и на снижение времени отклика. А конвейер текстовых данных оптимизирует уровень потребления дискового пространства и IOPS ценой повышенного потребления CPU. Насколько же эффективны эти оптимизации?

Производительность конвейерной обработки данных

Мы выполнили эксперименты с помощью генератора текстов, созданного коллегами из отдела разработки поискового ядра, и показали, что для характерного в корпоративной среде потока данных можно достичь примерно двукратного сокращения потребления дискового пространства.

Параметры эксперимента

В систему сохраняется 10000 писем. Письма состоят только из текста и не включают в себя какие-либо бинарные объекты. Медианный размер письма около 500 Кб. При этом 70% писем имеют 50% совпадающих данных, остальные полностью уникальны. Полностью эквивалентные письма отсутствуют, поскольку они дедуплицировались бы на уровне счётчиков копий и сильно завысили бы итоговый результат. Настройки кодирования Рида-Соломона d + p = 2 + 1, избыточность данных составляет 50%.

Результат эксперимента

При прохождении через текстовый конвейер объем данных изменяется следующим образом: Входящий поток разделяется на чанки и компрессируется со средним коэффициентом сжатия 2.3. Затем кодирование Рида-Соломона увеличивает количество данных в 1.5 раза. Дедупликация cегментов (блочная дедупликация) снижает полученный с учётом избыточности объем данных в 1.17 раза.

Итоговое отношение записанных данных к хранимым данным составляет 2.3 * 1.17 / 1.5 = 1.79. При этом в нашей модели количество метаданных составляет 0.2% от количества данных, однако этот показатель очень вариативен и сильно зависит как от настроек конвейера, так и от характера и количества самих данных.

Удаление данных

В условиях совместного владения сегментами удаление версии документа становится нетривиальной операцией. Её нужно проводить очень аккуратно, чтобы, с одной стороны, не удалить данные, которые ещё кому-то нужны, а с другой не допустить утечек дискового пространства. Связи между всеми сущностями в DOS можно представить в виде большого ациклического ориентированного графа, в котором начальными вершинами являются документы, а конечными вершинами - сегменты. Также есть и промежуточный уровень версий документов. Для каждой из сущностей действуют свои правила удаления: Документ удаляется, если не содержит версий. Версия документа удаляется, если её счетчик копий равен нулю либо истекло время её жизни (TTL). Сегмент удаляется, если не имеет ссылок со стороны версий документов.

Клиент напрямую работает лишь с версиями документов; доступный клиенту метод удаления позволяет декрементировать счётчик копий у конкретной версии. Далее в действие приходят два асинхронных сборщика мусора (GC), один из которых проходит по индексу документов, а другой по индексу сегментов. GC документов удаляет версии с обнулённым счётчиком копий или истекшим TTL, собирает пустые документы и очищает счётчики ссылок сегментов от идентификаторов удаляемых версий. GC сегментов удаляет сегменты с пустыми счётчиками ссылок. Оба GC запускаются в фоновом режиме в периоды, свободные от пользовательской нагрузки.

Рис. 5. Иллюстрация работы сборщиков мусора (1 - граф связей в исходном состоянии; 2 - клиент декрементирует до нуля счётчик копий у одной из версий; 3 - GC документов удаляет версию и владеющий ей документ, GC сегментов удаляет сегмент без ссылок; 4 - граф связей в итоговом состоянии).

Заключение

Хранение больших объёмов электронной почты - крайне непростая и ресурсоёмкая задача. Однако производительность и экономическую эффективность почтовой системы можно значительно увеличить, если реализовать дедупликацию и компрессию электронных писем. Если вам близка эта тема, и вы тоже хотите создавать уникальные российские программные продукты, то приходите на работу в МойОфис. Прямо сейчас нашей команде требуется разработчик бэкенда откликайтесь, возможно, это именно вы.

В этой статье мы рассмотрели ключевые оптимизации, которые реализованы в объектном хранилище DOS. В дальнейших публикациях мы продолжим описание его архитектуры, а сейчас будем рады обсудить с вами возникшие вопросы в комментариях.

Подробнее..

Почта для домена от Mail.ru и от Яндекса выбираем из двух хороших сервисов

16.07.2020 20:13:21 | Автор: admin
image

Всем привет. По долгу службы мне приходится сейчас искать сервисы почты для домена, т.е. нужна хорошая и надежная корпоративная почта, причем внешняя. Раньше я искал сервисы для видеозвонков с корпоративными возможностями, теперь вот настал черед почты.

Могу сказать, что сервисов вроде бы и много, но в ходе работы с большинством из них возникают какие-то проблемы. Где-то поддержки практически нет, и приходится разбираться с проблемами своими силами, где-то функций не хватает, еще где-то периодически вылезают баги. В итоге было решено остановиться на двух вариантах Корпоративной почте от Mail.ru и Яндекс.Почте для бизнеса.

Яндекс.Почта для бизнеса


Это отдельный сервис компании, который сейчас входит в состав платформы Яндекс.Коннект. Она включает сервисы для управления проектами внутри компании, и предназначена, по большей части, для корпоративных пользователей. Ну или для фрилансеров, которые работают в команде.

Сначала немного о самом Коннекте. В его состав входят такие инструменты, как:

  • Почта это корпоративная почта на домене.
  • Диск общее файловое пространство.
  • Календарь здесь можно как создавать события, так и вести учет дел.
  • Вики база знаний компании, с общим доступом для сотрудников.
  • Трекер управление задачами и проектами с возможностью распределять таски, назначать исполнителей и т.п.
  • Формы создание опросов, сбор фидбеков.
  • Чаты корпоративный внутренний мессенджер, который работает как в браузере, так и в качестве десктопного или мобильного приложения.

В Коннект была перенесена именно бизнес-почта, т.е. корпоративная почта на домене. Обычная же Яндекс.Почта осталась независимым и полностью бесплатным для своих пользователей сервисом.

После переноса каждый домен из ПДД (почта для домена) стал отдельной организацией в Коннекте. Если есть другие организации, можно добавить и их. Для этого нужно зайти в Коннект с главного аккаунта, выбрать соответствующий список и добавить новую организацию. После этого необходимо подтвердить факт доступа к домену. Собственно, эта процедура почти не отличается от того, что было в Почте для домена.

Работа с почтовыми ящиками


Здесь все немного иначе, чем раньше (если, конечно, вы застали это раньше). Чтобы использовать почту, нужно зайти в раздел Админка с главной страницы сервиса. После этого пользователь попадает в подраздел Оргструктура.

image

Здесь и выполняется основная работа с новыми ящиками их можно создавать, редактировать и удалять. Каждому сотруднику обычно выделяется по отдельному языку/аккаунту. Добавлять сотрудников нужно через кнопку Добавить. Еще есть возможность создавать отделы со своей собственной почтой и сотрудниками.

image

Администратор может добавлять и редактировать информацию о сотрудниках из администраторской панели. Раньше эта операция была более запутанной, поскольку в Почте для домена нужно было создать ящик, авторизоваться, добавить данные пользователя, а затем повторить все снова если, конечно, пользователей больше, чем один.

image

С каждым ящиком нужно было работать как с отдельным аккаунтом, включая все вытекающие задачи. Например, для смены аватарки пользователей (например, в корпоративном стиле) нужно было по очереди логиниться в каждый, и по очереди же менять аватарки, на что требовалось немало времени. В Коннекте все проще администратору не нужно заново логиниться под каждым из пользователей (а представьте, если их десятки или даже сотни). Он управляет учетной записью каждого сотрудника из своего аккаунта.

Возможности корпоративной почты от Яндекса


Есть платный и бесплатный тарифы. Что касается бесплатного, то количество пользователей ограничено тысячей человек и 10 ГБ файлового хранилища. Причем в бесплатной версии у каждого из пользователей свой собственный Диск, тоже бесплатно, а вот в платной файловое хранилище общее, и объем его начинается с 1 ТБ. Чем более продвинутый тариф, тем больше файлового пространства.

Компания пользователь сервиса может получить и больше 1000 ящиков, но каждая заявка рассматривается отдельно. Для того, чтобы повысить свой лимит, активность пользователей должна быть высокой и стабильной. Платить за это не нужно, насколько можно судить, компания монетизирует сервис за счет показа рекламы для пользователей почты.

Личные впечатления


В целом, все хорошо, но я бы сказал, что корпоративная почта от Яндекса больше подходит небольшим компаниям, которым нужно не более 10-15 адресов. Корпоративную почту Яндекса могут использовать и более крупные компании, но это будет уже чуть сложнее.

Не очень хорошее впечатление оставляет реклама в корпоративных ящиках. Понятно, что бесплатного ничего не бывает, более того, Яндекс уже предлагает почту без рекламы, но это пока что тестовый проект.

Почта для домена Mail.ru


Mail.ru представила свою почту как облачный сервис для компаний 7 лет назад. Это проверенный временем и пользователями продукт. Принцип работы с ней примерно такой же, как и у обычной почты Mail.ru, но функций здесь больше. В этом году Почта для домена Mail.ru эколюционировала в новых продукт для крупного бизнеса и госсектора. Это уже не облачное решение, а коробочный продукт, который устанавливается на сервера компании-заказчика и он вошел в Реестр отечественного ПО. Этот фактор может быть крайне важным для отечественных организаций, в особенности государственных.

Как и в предыдущем случае, почта для домена Mail.ru входит в состав мультисервисной платформы, включающей сервисы для корпоративных коммуникаций. Это файловое хранилище, мессенджер, календарь и т.п. Но у почты от Mail.ru есть еще одна возможность это групповые звонки полностью бесплатные и без ограничения по времени.

В состав почты для домена Mail.ru входит непосредственно почтовый сервис, а также календарь и адресная книга. Для управления функциями почты компании предусмотрена административная панель, которая дает возможность настраивать и модифицировать возможности по каждому пользователю на домене.

Среди прочих возможностей почты поддержка протоколов SMTP и IMAP с популярными почтовиками вроде Outlook, Gmail, Thunderbird, The Bat и Почта на Mac.

Возможности корпоративной почты от Mail.ru


Кроме обычной работы с письмами, сервис предлагает такие функции, как управление рассылками, группами контактов, есть также возможность общего доступа к отдельным папкам пользователей. Прямо из почты можно назначить видеовстречу и разослать приглашения участникам. Последним не нужно ничего, кроме ссылки загружать приложение не нужно.



Компания может пересылать по почте файлы любого размера даже в бесплатной версии почты для домена Mail.ru нет ограничения на размер почтовых ящиков и пересылаемых аттачей. Если файл превышает 25 МБ он будет загружен в облако и отправлен как ссылка в письме.

Административная панель позволяет управлять правами доступа, логиниться под любым пользователем, плюс восстанавливать удаленные каким-либо пользователем письма. Ведется логирование действий пользователей и подключения разных устройств. Для удобства добавлена возможность синхронизации с Active Directory для работы с данными пользователей.



Бизнес-почта Mail.ru подключена к программе Bug Bounty HackerOne, согласно условиям которой Mail.ru выплачивает от $10 000 до $35 000 тем, кто находит уязвимость.

И еще есть русскоязычная поддержка, которая весьма оперативно работает. Этого нет у большинства других почтовых сервисов, так что кому это важно имейте в виду. Саппорт делится на базовый, когда вопросы решаются по e-mail в рабочее время и премиальный, с режимом работы 24/7 не только по e-mail, но и по телефону.



Личные впечатления


В целом, почта производит положительное впечатление возможностей много, плюс саппорт, плюс гибкое управление. Как мне показалось, это чуть более взрослый сервис, чем Яндекс. Больше функций, есть видезвонки, система доступов и вот это все. Конечно, мнение субъективное, так что если не прав давайте обсудим в комментариях.

Что же, по этой теме все. Ну а в следующий раз постараюсь описать пару зарубежных сервисов корпоративной почты.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru