Pull to refresh
76.03
Zextras
Цифровое рабочее место Zextras

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

Reading time6 min
Views3.2K
Надежность шифрования является одним из наиболее важных показателей при использовании информационных систем для бизнеса, ведь ежедневно они участвуют в передаче огромного количества конфиденциальной информации. Общепринятым средством оценки качества 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. Включение TLS 1.3

В актуальных версиях Zimbra 8.8.15 с патчем не ниже 20 и Zimbra 9 с патчем не ниже 8 появилась поддержка протокола TLS 1.3, однако по умолчанию его использование отключено. Для того, чтобы активировать TLS 1.3 в Zimbra Proxy, необходимо ввести команду zmprov mcf +zimbraReverseProxySSLProtocols TLSv1.3. Чтобы проверить активировался ли TLS 1.3, введите команду zmprov gcf zimbraReverseProxySSLProtocols. Также рекомендуется отключить на прокси-сервере поддержку TLS 1 и TLS 1.1 с помощью команд zmprov mcf -zimbraReverseProxySSLProtocols TLSv1 и zmprov mcf -zimbraReverseProxySSLProtocols TLSv1.1

Также необходимо добавить TLS_AES_256_GCM_SHA384 — шифры, используемые в TLS 1.3 в список используемых Zimbra Proxy. Для этого сперва получите список используемых шифров zmprov gcf zimbraReverseProxySSLCiphers, а затем введите дополненный список шифров командой вида 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:TLS_AES_256_GCM_SHA384:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4' После этого необходимо перезагрузить сервер прокси zmproxyctl restart

Поддержку TLS 1.3 также нужно включать для почтового хранилища и узла MTA. Для этого воспользуйтесь командами соответственно:

zmlocalconfig -e mailboxd_java_options='-server -Dhttps.protocols=TLSv1.2,TLSv1.3 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl} -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=info,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.net.preferIPv4Stack=true'

zmlocalconfig -e zmmtaconfig='-server -Dhttps.protocols=TLSv1.2,TLSv1.3 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl} -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=info,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.net.preferIPv4Stack=true'

После внесения изменений в настройки, перезагрузите MTA и почтовые хранилища.

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

По умолчанию 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:TLS_AES_256_GCM_SHA384: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.

4. Включение 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» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com
Tags:
Hubs:
0
Comments0

Articles

Information

Website
zextras.com
Registered
Founded
Employees
201–500 employees
Location
Италия
Representative
Триандафилиди Екатерина