Сертификаты
АРХИВА предлагает инструменты для управления сертификатами, которые позволяют генерировать, устанавливать и управлять цифровыми сертификатами и ключами X509. Эти сертификаты и ключи широко используются в продукте для обеспечения безопасности соединений с использованием STARTTLS/SSL, взаимная аутентификация используется для доступа к консоли администрирования сервера через HTTPS. Кроме того, они используются для защиты слушающих портов SMTP-серверов и для защиты исходящих соединений клиентов (например, SMTP/IMAP/POP). Строгое требование о защите консоли администрирования означает, что главный пароль администратора может быть уязвим для программ взлома паролей.
Бесплатный сертификат Let's encrypt
Получите и установите бесплатный цифровой сертификат от Let's encrypt для обеспечения безопасности веб-консоли. Сертификаты Let's encrypt обычно принимаются всеми современными браузерами. Прежде чем Let's encrypt сможет выдать сертификат, он должен подтвердить право собственности на домен, на который выдан сертификат.
Для этого доступны два метода:
Метод проверки HTTP-запроса - Let's encrypt получает и проверяет запрос от АРХИВА на порту 80 извне вашей сети. Преимущество данного метода заключается в том, что при условии, что Let's encrypt может достичь сервера АРХИВА через порт 80, АРХИВА может автоматически запросить новый сертификат и получить его от Let's encrypt до истечения срока действия существующего. Автообновление сертифиата.
Метод проверки запроса DNS - Let's encrypt получает и проверяет запрос из текстовой записи в DNS вашего домена. DNS-записи вашего домена должна быть добавлена запись TXT. Поскольку срок действия сертификатов Let's encrypt истекает каждые три месяца, может оказаться непрактичным каждый раз обновлять запись DNS вручную.
Метод проверки HTTP-запроса
Для работы процесса автоматического получения сертификата сервер АРХИВА должен быть доступен по HTTP / порту 80 извне локальной сети. Полный набор шагов, необходимых для получения бесплатного сертификата, описан ниже:
Переключите сервер АРХИВА на прослушивание порта 80
Отредактируйте файл
server.xml
/var/opt/mailarchiva/tomcat/conf/server.xml
C:\ProgramData\MailArchiva\Tomcat\conf\server.xml
Найдите в файле фрагмент
<Connector port="8090" ...
, используя текстовый редактор, заменитеport="8090"
наport="80"
Перезапустите АРХИВА.
Выделите внешний IP-адрес АРХИВА на вашем брандмауэре
Перенаправьте порты 80 и 443 с внешнего IP-адреса на брандмауэре вашей компании на сервер АРХИВА
Создайте запись A в домене вашей компании, указывающую на IP-адрес (например, archiva.company.ru)
Убедитесь, что АРХИВА доступна по порту 80 извне вашей сети.
На вкладке
Настройка -> Сертификаты
нажмите кнопкуПолучить бесплатный сертификат
и выберитеHTTP
в качестве метода запроса.Выберите и введите псевдоним хранилища. Обычно, хотя и не обязательно, использовать псевдоним
tomcat
.Введите полное доменное имя сервера, указанное на шаге 4 выше.
Нажмите кнопку
Получить бесплатный сертификат
.После завершения процесса обновите страницу браузера в разделе
Настройка -> Сертификаты
, чтобы просмотреть установленные сертификаты.Если вы ввели псевдоним хранилища tomcat, псевдонимом хранилища сертификатов сервера будет
letsencrypt.org-server-tomcat
. Это псевдоним, который необходимо ввести вserver.xml
в настройках сертификата HTTP/S./var/opt/mailarchiva/tomcat/logs/catalina.out
C:\ProgramData\MailArchiva\Tomcat\logs\catalina.out
АРХИВА получит новый сертификат сервера и все сертификаты CA в доверенной цепочке из Let's encrypt и установит их. После установки сертификатов АРХИВА можно настроить для проверки подлинности HTTP/S.
Метод проверки запроса DNS
На вкладке
Настройка -> Сертификаты
нажмите кнопкуПолучить бесплатный сертификат
и выберитеHTTP
в качестве метода запроса.Введите псевдоним хранилища, который вы выбрали. Обычно используется псевдоним
tomcat
, но это не обязательно.Нажмите кнопку
Получить бесплатный сертификат
.В окне процесса будет выведено следующее сообщение.
Пожалуйста создайте запись вида **TXT** _acme-challenge.company.ru. OJ_D9JF-3ctIsL1c8FLgHU-xmgyv62eJFTqcY0zXC3QДобавьте данную
TXT
запись в ваш DNS ключь_acme-challenge.company.ru.
значениеOJ_D9JF-3ctIsL1c8FLgHU-xmgyv62eJFTqcY0zXC3Q
Нажмите кнопку
Получить бесплатный сертификат
.После завершения процесса обновите страницу браузера в разделе
Настройка -> Сертификаты
, чтобы просмотреть установленные сертификаты.Если вы указали псевдоним хранилища
tomcat
, псевдоним хранилища сертификатов сервера должен бытьletsencrypt.org-server-tomcat
. Этот псевдоним необходимо указать в файлеserver.xml
при настройке сертификата HTTP/S./var/opt/mailarchiva/tomcat/logs/catalina.out
C:\ProgramData\MailArchiva\Tomcat\logs\catalina.out
АРХИВА получит новый сертификат сервера и все сертификаты CA в доверенной цепочке из Let's encrypt и установит их. После установки сертификатов АРХИВА можно настроить для проверки подлинности HTTP/S.
Создание и установка серверных и доверенных сертификатов
Создайте и установите сертификат вручную, используя услуги стороннего центра сертификации, используя стандартный процесс запроса подписи сертификата (CSR). Сертификаты используются для защиты веб-консоли с помощью HTTP/S.
1 - Создайте запрос на подписание сертификата (CSR).
На вкладке
Настройка -> Сертификаты
нажмите кнопкуНовый сертификат сервера
.Введите псевдоним для хранилища. Этот псевдоним - произвольное имя (которое вы выбираете), и вы будете использовать его для ссылки на сертификат позже.
Введите общее название сертификата.
Заполните всю необходимую демографическую информацию.
Нажмите кнопку
Сгенерировать запрос сертификата
, чтобы сгенерировать запрос на подписание сертификата.Выберите и скопируйте запрос на подписание сертификата в буфер обмена. Закройте диалоговое окно
Новый сертификата сервера
.Вы должны увидеть запись вашего сертификата подписи, указанного в таблице
Сертификаты - Сертификаты сервера
.
2 - Получите сертификаты от Центра сертификации (CA)
Вы можете использовать любой центр сертификации для получения сертификата сервера и сертификата CA.
На рабочем столе создайте папку под названием
Сертификаты
.Скопируйте сертификат сервера в файл
server.cert
, сертификат промежуточного центра сертификации - в текстовый файлintermediate.cert
, а корневой сертификат CA - в текстовый файлroot.cert
.
3 - Импорт сертификата
АРХИВА поддерживает импорт сертификатов CA и сервера с использованием форматов файлов Pkcs 12(.p12, .pfx), Pkcs 7 ( .p7b), JKS ( .jks), PEM (.pem) и DER ( .cert). Приведенные ниже инструкции иллюстрируют, как импортировать сертификаты в формате DER (*.cert). Инструкции по импорту сертификатов могут незначительно отличаться в зависимости от формата сертификатов, предоставляемых вашим центром сертификации.
Нажмите кнопку
Импортировать CA сертификат
, выберите файлroot.cert
, выберите формат файлаDER
, введитеroot
в качестве псевдонима хранилища и нажмитеИмпорт
.Нажмите
Импортировать сертификат CA
, выберите файлintermediate.cert
, , выберите формат файлаDER
, введитеintermediatecert
в качестве хранилища и нажмитеИмпорт
.Нажмите
Импортировать сертификат сервера
, выберите файлserver.cert
и выберите формат файлаDER
. Выберите тот же псевдоним, который использовался на шаге создания CSR выше (например, tomcat).
Список сертификатов
Получение секрета хранилища ключей
Закрытый ключ и сертификаты хранятся в Хранилище ключей Java (Java Key Store, JKS) — это файл, который используется для хранения закрытых ключей и сертификатов. Он обеспечивает безопасное хранение и доступ к этим данным. По умолчанию этот файл называется mailarchivacerts
и находится в определенной директории:
/etc/opt/mailarchiva/ROOT/mailarchivacerts
C:\ProgramData\MailArchiva\ROOT\conf\mailarchivacerts
Поскольку хранилище сертификатов содержит конфиденциальные данные, обратите внимание на следующее:
Само хранилище ключей и приватный ключ сертификата сервера защищаются паролем отдельно, несмотря на использование одного и того же пароля.
Пароль, защищающий хранилище ключей и приватный ключ, генерируется на основе пароля для шифрования тома. Секретный пароль для хранилища ключей можно узнать, выполнив поиск по хранилищу ключей в консоли в разделе
Настройка -> Сертификаты
.
Есть две основные причины для получения пароля к хранилищу ключей:
настройка HTTPS Tomcat (server.xml)
Java keytool для выполнения различных функций обслуживания (обновление сертификата и т.д.).
Чтобы получить секрет хранилища ключей для любого из вышеперечисленных вариантов использования, выполните следующие действия: