Как установить самоподписанный сертификат https

Как выпустить самоподписанный SSL сертификат и заставить ваш браузер доверять ему

image loader

Все крупные сайты давно перешли на протокол https. Тенденция продолжается, и многие наши клиенты хотят, чтобы их сайт работал по защищенному протоколу. А если разрабатывается backend для мобильного приложения, то https обязателен. Например, Apple требует, чтобы обмен данными сервера с приложением велся по безопасному протоколу. Это требование введено с конца 2016 года.

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

Чтобы выпустить сертификат для вашего локального домена, понадобится корневой сертификат. На его основе будут выпускаться все остальные сертификаты. Да, для каждого нового top level домена нужно выпускать свой сертификат. Получить корневой сертификат достаточно просто.
Сначала сформируем закрытый ключ:

Затем сам сертификат:

Нужно будет ввести страну, город, компанию и т.д. В результате получаем два файла: rootCA.key и rootCA.pem

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

Первый параметр обязателен, выведем небольшую инструкцию для пользователя.

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

Запросим у пользователя название домена. Добавим возможность задания “общего имени” (оно используется при формировании сертификата):

Чтобы не отвечать на вопросы в интерактивном режиме, сформируем строку с ответами. И зададим время действия сертификата:

В переменной SUBJECT перечислены все те же вопросы, который задавались при создании корневого сертификата (страна, город, компания и т.д). Все значение, кроме CN можно поменять на свое усмотрение.

Сформируем csr файл (Certificate Signing Request) на основе ключа. Подробнее о файле запроса сертификата можно почитать в этой статье.

Формируем файл сертификата. Для этого нам понадобится вспомогательный файл с настройками. В этот файл мы запишем домены, для которых будет валиден сертификат и некоторые другие настройки. Назовем его v3.ext. Обращаю ваше внимание, что это отдельный файл, а не часть bash скрипта.

Да, верно, наш сертификат будет валидным для основного домена, а также для всех поддоменов. Сохраняем указанные выше строки в файл v3.ext

Возвращаемся в наш bash скрипт. На основе вспомогательного файла v3.ext создаем временный файл с указанием нашего домена:

Переименовываем сертификат и удаляем временный файл:

Скрипт готов. Запускаем его:

Получаем два файла: mysite.localhost.crt и device.key

Теперь нужно указать web серверу пути к этим файлам. На примере nginx это будет выглядеть так:

image loader

Запускаем браузер, открываем https://mysite.localhost и видим:

image loader

Браузер не доверяет этому сертификату. Как быть?

Нужно отметить выпущенный нами сертификат как Trusted. На Linux (Ubuntu и, наверное, остальных Debian-based дистрибутивах) это можно сделать через сам браузер. В Mac OS X это можно сделать через приложение Keychain Access. Запускаем приложение и перетаскиваем в окно файл mysite.localhost.crt. Затем открываем добавленный файл и выбираем Always Trust:

image loader

Обновляем страницу в браузере и:

image loader

Успех! Браузер доверяет нашему сертификату.

Сертификатом можно поделиться с другими разработчиками, чтобы они добавили его к себе. А если вы используете Docker, то сертификат можно сохранить там. Именно так это реализовано на всех наших проектах.

Делитесь в комментариях, используете ли вы https для локальной разработки?

Максим Ковтун,
Руководитель отдела разработки

Источник

Как создавать надежные SSL-сертификаты для локальной разработки

0*rMLC4Ew14zneFpfQ

Jul 23 · 6 min read

1*qhrekq TqBv y660i Dmzw

Есть некоторые различия в том, как браузеры работают с HTTP и HTTPS. Например, любые попытки загрузить JavaScript на HTTPS-странице по HTTP-ссылке будут заблокированы. Это значит, что если локальная разработка идет на HTTP, то добавленный тэг скрипта прекрасно будет работать на вашей машине, но сломается, как только вы развернете приложение на промежуточном или продакшен-окружении, где всё работает под HTTPS. Не очень вдохновляющая перспектива.

Ответ прост: создать собственный сертификат, либо подписывающий сам себя, либо заверенный локальным корневым сервером, и внести его в хранилище доверенных сертификатов операционной системы. Далее этим сертификатом можно пользоваться на локальном веб-сервере.

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

Важно отметить вот что: с 1 сентября 2020 года SSL-сертификаты не выдаются дольше, чем на тринадцать месяцев (397 дней). Поэтому для сертификатов, создаваемых в этой статье, мы ограничимся двенадцатью месяцами.

Создание сертификата

Источник сертификата (Certificate Authority)

1. Создайте закрытый ключ и самоподписанный сертификат

Опционально: если необходимо, можно заменить MY-CA в CN на что-нибудь другое.

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

Сертификат доменного имени

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

1. Создайте файл расширения x509 v3:

Следуя этому шаблону, можно добавить сколько угодно доменных имен.

Примечание: пожалуйста, обновите DNS.4, DNS.5 и DNS.6 или удалите их, если у вас не настроены никакие локальные доменные имена.

2. Создайте закрытый ключ и запрос на подпись сертификата:

Опционально: страну, штат, город и организацию можно изменять.

3. Создайте самоподписанный сертификат:

Использование сертификата

Приложениям, обслуживающим ваш контент, понадобится доступ к файлам сертификата и закрытого ключа. Это может быть локальный веб-сервер (Apache или NGINX), локальный сервис или какой-то другой локальный инструмент, допустим, сборщик модулей DevServer.

Вот несколько примеров:

Apache

NGINX

webpack DevServer

Express.js

Как только вы настроите обслуживающий ваше приложение инструмент на работу с вашим сертификатом, ваше приложение будет доступно по URL’у с HTTPS.

Следуя приведенному выше примеру с Express, вы можете открыть вкладку браузера по адресу https://localhost:8000 и увидеть ваш контент:

1*RAUKOvN93uKzZralmnh8bQ

Погодите секунду! Где же сообщение «это защищенный сервер»?

Вы рассчитывали увидеть кое-что другое, но именно этого и следовало ожидать — потому что источник сертификата еще не входит в число доверенных.

Доверие к сертификатам

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

macOS — Chrome и Safari

1. Дважды кликните на корневом сертификате ( ca.crt ).

3. Добавьте сертификат.

4. Откройте «Keychain Access» (если еще не открыт).

5. Выделите keychain, который выбрали раньше.

6. Вы должны увидеть сертификат MY-CA (это будет имя, которое вы, как CN, дали вашему источнику сертификата).

7. Дважды кликните по сертификату.

8. Разверните «Доверять» и выберите опцию «Доверять всегда» в пункте «При использовании этого сертификата».

9. Закройте окно сертификата и введите свой пользовательский пароль (если требуется).

Windows 10 — Chrome, IE11 и Edge

1. Дважды кликните на сертификате ( ca.crt ).

2. Кликните на кнопку «Установить сертификат».

3. Выберите, хотите ли вы хранить его на уровне пользователя или на уровне машины.

5. Выберите «Разместить все сертификаты в следующем хранилище».

7. Выберите «Доверенные корневые источники сертификатов».

10. Кликните «Завершить».

11. Если появится подсказка, кликните «Да».

Firefox

Даже после того, как вы установите доверенный источник сертификата в хранилище, Firefox все равно будет выдавать предупреждения. Этого может не случиться в Windows 10, но почти наверняка случится в macOS. Справиться с этим достаточно просто. Firefox демонстрирует вот такой экран:

Чтобы добавить разрешения сертификату, кликните «Дополнительно…». Сразу же после этого кликните на «Принять риск и продолжить», чтобы дать понять, что вы знаете о риске.

Это нужно сделать всего один раз, но для каждого локального домена.

Заключение

Теперь, когда сертификат создан и доверие к нему обеспечено, вы без проблем можете посещать свой локальный домен! Обслуживание приложений стало безопасным, и вы можете спокойно продолжать разработку. Возвращаясь к примеру с Express, результат на экране будет таким:

1*GU1Rm6s70uc

Сайт полностью загружен, и рядом с URL в Chrome теперь отображается символ безопасного соединения.

Надеюсь, эта статья помогла вам превозмочь трудности с HTTPS.

Источник

🔐 Как создать самоподписанный сертификат SSL

Сертификаты SSL используются для облегчения аутентификации и шифрования в Интернете.

Обычно эти сертификаты выдаются доверенными сторонними центрами сертификации, такими как Let’s Encrypt.

Самоподписанный сертификат – это сертификат, который формируется без подтверждения стороннего центра сертификации.

TLS/SSL – это комбинация открытого сертификата и закрытого ключа.

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

В этом руководстве мы объясним, как создать самоподписанный сертификат SSL с помощью инструмента OpenSSL.

Предпосылки

Машина Linux и пользователь с привилегиями sudo.

Установка OpenSSL

OpenSSL доступен по умолчанию во всех основных дистрибутивах Linux.

Выполните приведенную ниже команду, чтобы убедиться, что OpenSSL уже установлен на вашем компьютере с Linux.

opnssl

На Ubuntu и Debian:

На Red Hat дистрибутивах:

Синтаксис команды openssl:

Создадим самоподписанный сертификат SSL с помощью OpenSSL

Убедившись, что инструмент OpenSSL установлен на вашем компьютере с Linux, вы можете приступить к созданию сертификата.

Информация CSR требуется для создания закрытого ключа.

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

Чтобы создать самоподписанный сертификат SSL, введите:

Эта команда создаст самоподписанный сертификат, который будет действителен в течение 365 дней.

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

Вот что обозначает каждый флаг:

Создадим самоподписанный сертификат, используя существующий закрытый ключ и CSR

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

Как создать закрытый ключ OpenSSL

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

Этот закрытый ключ необходим для подписи вашего SSL-сертификата.

Вы можете изменить my_key в приведенной ниже команде на свое собственное значение.

Вот что означают флаги команды:

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

Как создать запрос на подпись сертификата

Следующим шагом является создание запроса на подпись сертификата (CSR).

CSR – это то, что вы обычно отправляете в УЦ.

Но в этом случае вы собираетесь подписать его самостоятельно.

При создании CSR вас попросят предоставить некоторую информацию.

Некоторые поля можно оставить пустыми, нажав клавишу ETCD_CLIENT_CERT_AUTH

Теперь запустите команду, показанную ниже, чтобы начать создание CSR.

Вот что обозначает каждый флаг команды

Подпишем сертификат самостоятельно

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

Проверим сертификат

Вы можете проверить детали сертификата в текстовом формате с помощью команды:

Заключение

В этом руководстве мы описали, как создать самоподписанный сертификат SSL с помощью инструмента openssl.

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

Источник

Создание самоподписанных сертификатов SSL для Apache в Ubuntu 18.04

Published on January 7, 2020

Предыдущая версия данного обучающего руководства была написана Джастином Эллингвудом

Введение

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

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

В этом обучающем модуле мы покажем, как создать самоподписанный сертификат SSL для использования с веб-сервером Apache в Ubuntu 18.04.

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

Самоподписанный сертификат полезен в ситуациях, когда у вашего сервера нет доменного имени, а также в случаях, когда шифрованный веб-интерфейс не предназначен для взаимодействия с пользователями. Если у вас есть доменное имя, в большинстве случае будет полезнее использовать сертификат, подписанный центром сертификации. Вы можете узнать, как создать бесплатный доверенный сертификат с помощью проекта Let’s Encrypt, здесь.

Предварительные требования

Также вам потребуется установить веб-сервер Apache. Если вы хотите установить на сервере полный комплект LAMP (Linux, Apache, MySQL, PHP), следуйте указаниям обучающего модуля «Установка LAMP в Ubuntu 18.04». Если вы хотите просто установить веб-сервер Apache, пропустите шаги, относящиеся к установке PHP и MySQL.

Когда предварительные требования будут выполнены, переходите к приведенным ниже шагам.

Шаг 1 – Создание сертификата SSL

Протоколы TLS и SSL используют сочетание открытого сертификата и закрытого ключа. Секретный ключ SSL хранится на сервере. Он используется для шифрования отправляемых на клиентские системы данных. Сертификат SSL находится в открытом доступе для всех, кто запрашивает этот контент. Его можно использовать для расшифровки контента, подписанного соответствующим ключом SSL.

Мы можем создать самоподписанный ключ и пару сертификатов OpenSSL с помощью одной команды:

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

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

В целом диалоги выглядят примерно так:

Шаг 2 — Настройка Apache для использования SSL

Внесем несколько небольших изменений в нашу конфигурацию:

После завершения настройки мы получим защищенную конфигурацию SSL.

Создание сниппета конфигурации Apache с надежными настройками шифрования

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

Для безопасной настройки Apache SSL мы используем рекомендации Реми ван Эльста на сайте Cipherli.st. Этот сайт создан для предоставления удобных настроек шифрования для популярного программного обеспечения.

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

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

Для наших целей мы скопируем предоставленные настройки полностью. Мы внесем только одно небольшое изменение. Мы отключим заголовок Strict-Transport-Security (HSTS).

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

Вставьте конфигурацию в открытый нами файл ssl-params.conf :

Сохраните файл и закройте его после завершения.

Изменение файла виртуального хоста Apache SSL по умолчанию

Прежде чем продолжить, создадим резервную копию первоначального файла виртуального хоста SSL:

Теперь откройте файл виртуального хоста SSL для внесения изменений:

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

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

После внесения изменений ваш серверный блок должен выглядеть примерно так:

Сохраните файл и закройте его после завершения.

(Рекомендуется) Изменение файла хоста HTTP для перенаправления на HTTPS

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

Чтобы изменить файл нешифрованного виртуального хоста для перенаправления всего трафика для шифрования SSL, мы можем открыть файл /etc/apache2/sites-available/000-default.conf :

Сохраните файл и закройте его после завершения.

Шаг 3 — Настройка брандмауэра

Мы можем просмотреть доступные профили с помощью следующей команды:

Список должен выглядеть примерно так:

Вы можете просмотреть текущие настройки с помощью следующей команды:

Если вам разрешен только обычный трафик HTTP, результаты могут выглядеть следующий образ:

Чтобы разрешить дополнительный трафик HTTPS, мы разрешим профиль «Apache Full» и удалим избыточный профиль «Apache»:

Теперь ваш статус должен выглядеть примерно так:

Шаг 4 — Активация изменений в Apache

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

Теперь мы можем активировать виртуальный хост SSL с помощью команды a2ensite :

Также нам нужно будет активировать файл ssl-params.conf для считывания заданных значений:

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

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

Шаг 5 — Тестирование шифрования

Теперь мы готовы протестировать наш сервер SSL.

Откройте браузер и введите https:// и доменное имя или IP-адрес вашего сервера в адресную панель:

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

self signed warning

Такое предупреждение нормально, и его следует ожидать. Сертификат нам нужен только для шифрования, а не для подтверждения подлинности нашего хоста третьей стороной. Нажмите «Дополнительно», а затем нажмите на указанную ссылку, чтобы перейти к своему хосту:

warning override

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

Если вы настроили Apache для перенаправления HTTP на HTTPS, вы можете проверить правильность перенаправления функций:

Если при этом появляется такой же значок, перенаправление работает правильно.

Шаг 6 – Переключение на постоянное перенаправление

Если перенаправление работает правильно, и вы хотите разрешить только шифрованный трафик, вам следует снова изменить файл нешифрованного виртуального хоста Apache и сделать перенаправление постоянным.

Откройте файл конфигурации серверного блока еще раз:

Сохраните и закройте файл.

Проверьте конфигурацию на ошибки синтаксиса:

Когда вы будете готовы, перезапустите Apache, чтобы сделать перенаправление постоянным:

Заключение

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

Источник

Установка коммерческих и самоподписанных SSL-сертификатов в Zimbra OSE

SSL-сертификат является обязательным элементом информационной защиты почтового сервера Zimbra OSE. Он позволяет устанавливать защищенное соединение с сервером и обеспечить шифрование данных, чтобы исключить возможность перехвата электронных писем и аутентификационных данных злоумышленниками. По умолчанию к Zimbra отключена возможность установки незащищенного соединения. К примеру, если сразу после установки ввести в строку браузера в качестве адреса почтового сервера http://example.ru, то у вас либо отобразится сообщение об ошибке, так как сервер просто не примет ваше подключение, либо браузер автоматически перенаправит вас на адрес https://example.ru, где вместо ошибки вы получите от браузера предупреждение о подозрительном SSL-сертификате. Если проигнорируете его, попадете в веб-клиент Zimbra OSE. Подобное предупреждение связано с тем, что по умолчанию в Zimbra используется так называемый «самоподписанный» SSL-сертификат, то есть выпущенный самим почтовым сервером и не содержащий упоминаний о доверенных центрах выдачи SSL-сертификатов. Для того, чтобы пользователи не сталкивались с таким предупреждением при заходе на сервер, необходимо установить коммерческий сертификат с не истекшим сроком действия. В данной статье мы расскажем о том, как выпустить, установить и обновить коммерческий SSL-сертификат, а также о том, как использовать во внутренней сети сервер Zimbra OSE с самоподписанным сертификатом.

image loader

Пользователь устанавливает SSL-соединение с сервером при каждом подключении. Этот процесс называется «рукопожатием» и происходит прямо во время загрузки страницы. При установке соединения браузер или иное приложение запрашивает у сервера информацию об установленном SSL-сертификате. В ответ сервер отправляет общую информацию об SSL-сертификате и публичный ключ. На стороне пользователя предоставленная информация сверяется со списком авторизованных и доверенных центров сертификации. Если всё в порядке, то в ответ генерируется сеансовый ключ, который шифруется ранее предоставленным публичным ключом и отправляется на сервер. Сервер, в свою очередь, расшифровывает сообщение и сохраняет сеансовый ключ. После этого между пользователем и сервером устанавливается безопасное соединение по протоколу HTTPS и начинается обмен данными. Передающиеся таким образом данные надежно шифруются и не могут быть перехвачены злоумышленниками.

image loaderОшибка при использовании самоподписанного сертификата

В случае если сервер использует самоподписанный сертификат, на этапе его проверки пользовательское приложение не обнаружит выпустивший его Центр сертификации в базе и признает такое соединение потенциально опасным. Обычно, если соединение устанавливается в браузере, пользователю предлагается самому принять решение о подключении к такому серверу. Если же речь о приложениях или консольных программах, от пользователя могут потребоваться дополнительные действия, чтобы отключить проверку или игнорировать ошибки, которые возникают при проверке сертификата SSL. Также при использовании самоподписанного сертификата часть функций Zimbra может оказаться недоступными. Например коммерческий сертификат требуется для подключения Адресной книги Zextras и получения данных Free/Busy в MS Outlook, а также для подключения мобильных приложений Zextras Drive и Zextras Team к серверу Zimbra OSE.

image loaderОшибка при подключении к консоли администратора по HTTP

Коммерческие сертификаты выпускаются и подписываются Центрами сертификации. Они, в свою очередь, делятся на корневые и промежуточные. Корневыми называются центры сертификации, чьи данные содержатся в хранилищах доверенных сертификатов браузеров. К ним, например, относятся такие разработчики популярных браузеров, как Google, Microsoft, Mozilla, Apple, а также Comodo, Thawte, Geotrust, GlobalSign и другие. Промежуточными центрами сертификации называются те центры сертификации, которые подписываются корневыми центрами сертификации и после этого становятся доверенными. Их наличие необходимо для повышения безопасности. Выдача сертификатов осуществляется исключительно промежуточными центрами аутентификации, так как в случае возникновения ошибки выпуска сертификатов или их компрометации не приходилось удалять корневые сертификаты из хранилища браузеров, а можно было просто отозвать сертификаты выданные промежуточными центрами сертификации, которые допустили такую ошибку.

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

Еще одной характеристикой SSL-сертификата является его ограниченный срок годности. Спустя определенный период времени, действие любого сертификата, будь самоподписанный или коммерческий, заканчивается. В случае окончания срока действия сертификата необходимо выпустить и установить новый.

Создание CSR

image loaderПереход к Мастеру установки сертификата

В открывшемся окне «Мастер установки сертификата» выберите домен, для которого будете выпускать CSR, и заполните появившуюся анкету:

Дайджест: Для дайджеста выберите безопасный алгоритм шифрования, например sha256

Длина Ключа: Доступны два значения: 1024 и 2048. Рекомендуется использовать 2048

Обращение: Здесь укажите имя своего домена. Поставьте галочку в «Использовать подстановочное обращение», чтобы заказать подстановочный сертификат, действие которого распространяется на поддомены

Страна: Здесь укажите двухсимвольное обозначение своей страны. России соответствует обозначение RU.

Регион/Область: Укажите имя региона, в котором вы находитесь. Вместо русских букв используйте транслит. Например Tverskaya Oblast.

Город: Укажите город, в котором вы находитесь. Например Tver.

Название организации: Укажите полное название своей организации на английском языке. Например My Company Inc

Подразделение: Укажите отдел компании, который выступает заказчиком сертификата. Например IT

Дополнительное имя субъекта: Рекомендуется оставить это поле пустым.

image loaderimage loaderimage loader

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

После того как все данные корректно введены, в Мастере установки сертификатов появится окно, в котором можно будет загрузить CSR для получения коммерческого сертификата. Для этого нажмите на кнопку «Загрузить CSR» и сохраните полученный файл commercial.csr. Нажмите «Готово», чтобы закрыть Мастер установки сертификатов.

image loader

Установка коммерческого сертификата

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

Для их установки необходимо воспользоваться тем же мастером установки сертификатов, который использовался для получения CSR, но после выбора домена необходимо отметить «Установить коммерчески подписываемый сертификат» и нажать на кнопку «Далее».

image loader

Сертификат: соответствует сертификату вашего домена your_domain_name.crt

Корневой центр сертификации: соответствует сертификату корневого удостоверяющего центра TrustedRoot.crt

Промежуточный центр сертификации: соответствует сертификату удостоверяющего центра DigiCertCA.crt.

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

image loaderОкно выбора файлов сертификата

image loader

Установить сертификат можно и в командной строке. Для этого:

1. Перейдите в папку с распакованными файлами из архива, полученного от Центра сертификации и объедините сертификаты от Центров сертификации в единый файл

cat TrustedRoot.crt DigiCertCA.crt > /tmp/commercial_ca.crt

2. Скопируйте сертификат домена в ту же папку

cp my_domain_com.crt /tmp/commercial.crt

3. Проверьте на целостность сертификат сервера, файл с данными о Центре сертификации, а также приватный ключ

/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /tmp/commercial.crt /tmp/commercial_ca.crt

4. Установите полученные и проверенные сертификаты:

/opt/zimbra/bin/zmcertmgr deploycrt comm /tmp/commercial.crt /tmp/commercial_ca.crt

5. Перезагрузите сервер Zimbra, чтобы изменения вступили в силу

zmcontrol restart

После того как сертификат будет корректно получен, можно установить его в Zimbra OSE от имени Root, введя команды вида:

/opt/zimbra/bin/zmcertmgr verifycrt comm /opt/zimbra/ssl/zimbra/commercial/commercial.key /etc/letsencrypt/live/example.ru/cert.pem /etc/letsencrypt/live/example.ru/chain.pem

/opt/zimbra/bin/zmcertmgr deploycrt comm /etc/letsencrypt/live/exaample.ru/cert.pem /etc/letsencrypt/live/example.ru.tk/chain.pem

Установка самоподписанного сертификата

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

image loader

В первом случае вам потребуется открыть Мастер установки сертификата и выбрать в нем раздел «Установить самозаверяющий сертификат». При нажатии кнопки далее откроется анкета для создания CSR. После ее заполнения вам будет предложено настроить срок действия сертификата. В отличие от выпускаемого при установке сертификата, срок действия этого по умолчанию составляет всего 1 год. После того как укажете желаемый срок действия сертификата, нажмите на кнопку «Установить», чтобы сертификат установился.

image loader

В командной строке выполните команды:

/opt/zimbra/bin/zmcertmgr deploycrt self

/opt/zimbra/bin/zmcertmgr viewdeployedcrt

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

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

Источник

Adblock
detector