Сертификаты
АРХИВА предоставляет инструменты для управления цифровыми сертификатами и ключами стандарта 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, система может автоматически запрашивать и обновлять сертификат до истечения срока его действия.
Метод проверки запроса 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 в DNS вашего домена, указывающую на IP-адрес сервера (например, archiva.company.ru).
Убедитесь, что АРХИВА доступен по адресу http://archiva.company.ru из внешней сети.
В разделе
Настройка -> Сертификатынажмите кнопкуПолучить бесплатный сертификати выберите методHTTP.
Укажите псевдоним для хранилища. Рекомендуется использовать псевдоним
tomcat.Введите полное доменное имя (FQDN) сервера, указанное на шаге 4.
Нажмите кнопку
Получить бесплатный сертификат.После завершения процесса обновите страницу в разделе
Настройка -> Сертификаты, чтобы проверить установленные сертификаты.Если вы использовали псевдоним
tomcat, псевдоним хранилища сертификатов сервера будетletsencrypt.org-server-tomcat. Именно его необходимо указать вserver.xmlдля настройки HTTPS./var/opt/mailarchiva/tomcat/logs/catalina.out
C:\ProgramData\MailArchiva\Tomcat\logs\catalina.out
После установки сертификатов АРХИВА можно настроить для проверки подлинности по протоколу HTTP/S.
Метод проверки запроса DNS
В разделе
Настройка -> Сертификатынажмите кнопкуПолучить бесплатный сертификати выберите методDNS.
Укажите псевдоним хранилища (например,
tomcat).Нажмите кнопку
Получить бесплатный сертификат.В окне процесса появится сообщение с данными для DNS-записи:
Пожалуйста создайте запись вида **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при настройке HTTPS./var/opt/mailarchiva/tomcat/logs/catalina.out
C:\ProgramData\MailArchiva\Tomcat\logs\catalina.out
После установки сертификатов АРХИВА можно настроить для проверки подлинности по протоколу HTTP/S.
Создание и установка серверных и доверенных сертификатов
Вы можете создать и установить сертификат вручную, воспользовавшись услугами стороннего центра сертификации (CA) через стандартный процесс запроса подписи сертификата (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 для обслуживания сертификатов (например, при их обновлении).
Чтобы получить секрет хранилища ключей, выполните следующие действия:
