При установке системы DirectumRX инсталлятором пользователю предлагается сделать выбор:
В случае настройки системы для работы по протоколу TCP, данные от клиента к серверу передаются в открытом виде по сети, что является небезопасным, такой вариант работы крайне не рекомендуется использовать для удаленного доступа к системе DirectumRX. Работа по протоколу TCP предназначена для работы в локальной сети компании.
В случае, если требуется предоставить доступ к системе DirectumRX через Интернет, необходимо использовать протокол HTTPS.
HTTPS – это фактически расширение протокола HTTP, работающее через шифровальные транспортные механизмы SSL и TLS.
Поскольку SSL-сертификаты в настоящий момент наиболее распространены, в данной статье рассмотрим только работу с механизмом SSL. Подробнее по TLS можно почитать в статье http://club.directum.ru/post/Bezopasnost-Tjuning-HTTPS.aspx.
Доступ к DirectumRX через Интернет настраивается преимущественно для предоставления доступа к системе удаленных или мобильных сотрудников.
Для того, чтобы система DirectumRX была доступна через интернет, необходимо:
1. Получить у текущего Интернет провайдера выделенный внешний IP-адрес, доступный из Интернет, либо использовать один из существующих, чтобы впоследствии настроить на маршрутизаторе перенаправление необходимых портов с этого IP адреса к серверу DirectumRX.
2. Настроить доступ к серверу с развернутыми сервисами DirectumRX по протоколам HTTP (по умолчанию, порт 80) и HTTPS (по умолчанию, порт 443).
HTTP необходим для обеспечения работы гиперссылок на объекты системы (документы, задачи, задания, уведомления).
HTTPS необходим для обмена данными между клиентом и сервером через зашифрованный канал.
3. Получить доменное имя, по которому может быть определен IP-адрес сервера c развернутыми сервисами DirectumRX. Можно использовать уже существующее доменное имя, либо приобрести у какого-либо регистратора доменных имен.
4. Приобрести SSL сертификат, для полученного на 3м шаге доменного имени.
SSL (Secure Socket Layer) – технология безопасности, которая используется для обеспечения зашифрованного соединения между веб-сервером и браузером. При использовании SSL-протокола информация между сервером и клиентом передается в зашифрованном виде по протоколу HTTPS. Данные шифруются одним ключом из пары ключей, а расшифровываются другим (подробнее об алгоритме RSA).
Клиент DirectumRX, в случае настройки работы сервисов DirectumRX по HTTPS, проверяет валидность SSL сертификата HTTPS соединения.
Если сертификат отсутствует или поврежден, либо не подписан и/или подпись не действительна, то клиент при подключении завершит работу с ошибкой, сообщив о недействительном SSL-сертификате.
Принцип установки зашифрованного соединения представлен на рисунке ниже:
Сертификат может быть приобретен в любом официальном удостоверяющем центре, либо у партнеров этих удостоверяющих центров. Обычно SSL-сертификат можно приобрести на сайте любого регистратора доменных имен.
SSL-сертификаты могут быть нескольких типов:
SSL-сертификаты с проверкой домена (Domain Validation) – это сертификаты начального уровня, являются самыми распространенными в мире, а скорость выдачи таких сертификатов варьируется от 2 до 10 минут, зависит от поставщика. Чтобы получить такой сертификат, не требуется специальных документов. Для получения сертификата необходимо подтвердить владение доменом одним из двух способов:
SSL-сертификаты с проверкой компании (Business Validation) – архитектурно такие сертификаты ничем не отличаются от сертификатов начального уровня, но выдаются после более тщательной проверки. Для получения сертификата необходимо выслать документы компании, принять звонок специалиста центра сертификации на корпоративный телефон.
SSL-сертификаты с расширенной проверкой (Extended Validation) – архитектурно такие сертификаты также ничем не отличаются от двух предыдущих, единственное отличие: при входе на сайт, где используется этот сертификат, строка поиска браузера будет подсвечена зеленым цветом. Чаще всего такие сертификаты используются онлайн сервисами банков, чтобы пользователь смог убедиться, что работает в рамках защищенного соединения.
Для настройки удаленного доступа к системе DirectumRX достаточно использовать SSL-сертификат с проверкой домена. Стоимость таких сертификатов в 2016 году колеблется от 2000 до 3000 рублей в год. Ежегодно потребуется повторение процедуры запроса SSL сертификата.
Существует два варианта приобретения сертификатов (справедливо для любого типа сертификата):
Сертификат на один домен может, соответственно, подтвердить достоверность только одного конкретного домена.
Wildcard сертификат обеспечивает защиту всех прямых поддоменов, указываемого при заказе домена. Например, если сертификат приобретен для домена mycompany.ru, то SSL-сертификат будет защищать все поддомены вида *.mycompany.ru (directum.mycompany.ru, shop.mycompany.ru, office.mycompany.ru и т.д.), но не будет защищать домены 4 уровня, к примеру, *.directum.mycompany.ru.
Если у Вас уже есть Wildcard сертификат, то новый сертификат приобретать не потребуется, достаточно зарегистрировать для существующего защищенного домена необходимый поддомен.
На первом шаге регистратор запросит какой тип и вариант SSL-сертификата будет приобретаться и запросит имя домена, которое необходимо защитить.
CSR (Certificate Signing Request) – это зашифрованный запрос на создание и удостоверение сертификата, в котором содержится подробная информация о домене и организации.
Запрос сертификата можно сформировать на сайте регистратора, либо можно сформировать запрос в IIS.
При создании запроса на удостоверение сертификата потребуется указать достоверную информацию об организации или частном лице, от имени которых сертификат запрашивается.
К примеру, запрос на выпуск сертификата в панели управления IIS выглядит следующим образом:
Длину ключа желательно задавать от 2048 бит и выше. Ключи с длиной до 1024 бит в настоящее время не считаются криптостойкими.
После того, как запрос ключа (CSR) сгенерирован, можно приступать к оформлению заявки на выпуск сертификата.
Главное отличие от генерации CSR в IIS от генерации CSR на сайте регистратора в том, что при генерации запроса в IIS, закрытый ключ будет сохранен в хранилище IIS.
При генерации CSR на сайте регистратора, будет предложено сохранить файл запроса и текстовый файл с закрытым ключом, в этом случае при импорте сертификата и закрытого ключа в IIS потребуется создать PFX контейнер, об этом расскажем подробнее на пятом шаге.
Подтверждение домена зависит от типа SSL-сертификата. О способах подтверждения домена подробно написано в разделе «Какие бывают SSL-сертификаты?».
Создание и удостоверение сертификата – это платная услуга. Цены на сертификат базового уровня колеблются от 2 000 до 3 000 руб в год. Ежегодно, если не указано других условий, потребуется повторение процедуры генерации SSL-сертификата.
После того, как удостоверяющий центр проверит достоверность доменного имени и выпустит сертификат, на указанный при подтверждении почтовый адрес будет выслан комплект файлов из открытого ключа, сертификата и файла, содержащего цепочку сертификатов, которые подписывают сертификат.
В случае, если запрос сертификата (CSR) был выполнен в IIS, то необходимо выполнить импорт полученного файла с сертификатом (расширение *.cer) через панель управления IIS:
В результате в IIS будет размещен SSL-сертификат, в котором будет храниться следующая информация:
Если же CSR сбыл сформирован на сайте регистратора, то чтобы импортировать набор сертификатов в IIS потребуется сформировать файл в формате PFX.
PFX – это один из стандартов семейства PKCS, который определяет формат файла, с котором будет храниться закрытый ключ, сертификат, открытый ключ и цепочка доверия от сертификата пользователя до корневого сертификата. PFX-файл может быть импортирован в IIS.
Сформировать PFX файл можно, к примеру, с помощью утилиты OpenSSL:
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
, где certificate.cer – файл сертификата
privateKey.key – файл с закрытым ключом
CACert.cer – файл с цепочкой сертификатов удостоверяющего центра.
сertificate.pfx – Новый PFX файл с комплектом сертификатов и ключей.
Полученный PFX файл может быть импортирован через панель управления IIS:
Под самоподписанным сертификатом понимают сертификат, изданный и подписанный тем же лицом, которое он идентифицирует.
Преимущества самоподписанного сертификата:
Недостатки самопописанного сертификата:
Рассмотрим пример получения самоподписанного сертификата с помощью утилиты OpenSSL:
1. Подготовка закрытого ключа корневого центра сертификации:
openssl genrsa -out rootCA.key 2048
На данном этапе генерируется закрытый ключ корневого сертификата. Какие-либо данные, запрашиваемые при создании сертификата, не являются обязательными.
Полученный закрытый ключ необходимо хранить в недоступном месте, иначе ключ и SSL-сертификат будет скомпрометирован.
2. Создание публичного сертификата корневого центра сертификации:
openssl req -x509 -new -key rootCA.key -days 10000 -out rootCA.crt
При выполенении скрипта, параметр [Common Name] указывать не следует.
В данном случае будет создан корневой сертификат на срок 10000 дней (более 27 лет).
3. Создание закрытого ключа SSL сертификата:
openssl genrsa -out ssl.key 2048
На данном этапе генерируется закрытый ключ SSL-сертификата.
4. Создание запроса на генерацию SSL-сертификата:
openssl req -new -key ssl.key -out ssl.csr
На данном шаге, на основании подготовленного закрытого ключа, генерируется запрос SSL-сертификата.
При создании запроса сертификата будет запрошен параметр [Common Name], в котором нужно указать имя домена, для которого запрашивается сертификат. Это обязательный параметр, без заполнения которого полученный сертификат бесполезен.
5. Создание SSL-сертификата с одновременным подписанием сертификата корневым центром сертификации:
openssl x509 -req -in ssl.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out ssl.crt -days 10000
В результате выполнения данной операции, на основании запроса ключа и корневого сертификата готовится сертификат на 10000 дней (более 27 лет).
6. Создание PFX файла, который содержит SSL-сертификат и закрытый ключ, для импортирования в IIS:
openssl pkcs12 -export -in ssl.crt -inkey ssl.key -out ssl.pfx
Для импортирования в IIS внешнего сертификата требуется подготовить файл в формате PFX.
В результате выполнения вышеуказанных шагов получим два файла, необходимых для дальнейшей настройки:
rootCA.crt - сертификат корневого центра сертификации. Данный сертификат необходимо импортировать в хранилище сертификатов локального компьютера «Доверенные корневые центры сертификации» на всех рабочих местах, на которых будет запущен клиент DirectumRX, а также на сервере DirectumRX.
ssl.pfx – комплект, в котором находится закрытый ключ, SSL-сертификат, открытый ключ и цепочка доверия от сертификата пользователя до корневого сертификата. Данный файл необходимо импортировать в IIS перед установкой DirectumRX на сервере.
В случае повторной генерации SSL-сертификата, либо в случае изменения доменного имени потребуется обновление SSL сертификата.
Замена сертификата для DirectumRX состоит из двух шагов:
Отпечаток сертификата можно узнать, открыв содержимое сертификата на вкладке «Состав», в поле «Отпечаток».
Строку с отпечатком сертификата (без пробелов) необходимо скопировать в конфигурационный файл _ConfigSettings.xml (находится по умолчанию в каталоге c:\inetpub\wwwroot\DirectumRX\) в параметр:
<var name="CERTIFICATE_FIND_VALUE" value="XXXXXXXXXXXXXXXXXXXXXXXXX" />
В случае, если используется сервис NOMAD, потребуется также актуализировать параметр CERTIFICATE_FIND_VALUE в конфигурационном файле _ConfigSettings.xml, который находится в папке сервиса NOMAD.
После изменения конфигурационных файлов необходимо перезапустить пулы приложений DirectumRX, чтобы внесенные изменения применились.
Настройка доступа к DirectumRX из Интернет вызывает много вопросов со стороны заказчиков.
В данной статье были представлены ответы на самые часто задаваемые вопросы.
Надеюсь, что статья была вам полезной.
Поделиться своим опытом настройки вы можете в комментариях к этой статье.
Задавайте вопросы в комментариях – буду рад ответить.
https://www.startssl.com/ - the 6th biggest CA in the world
Абсолютно бесплатно и более чем достаточно для RX.
А то по тексту статьи создается впечатление, что сертификаты это обязательно платно и как будто платные чем то отличаются в плане защиты от бесплатных.
з.ы. добавьте возможность редактировать комменты...
В скором времени появится такая возможность
Вы можете использовать любой сертификат для домена, подтвержденный официальным удостоверяющим центром.
Бесплатные сертификаты имеют свои недостатки, в том числе отсутствие каких-либо гарантий и поддержки со стороны удостоверяющего центра.
Авторизуйтесь, чтобы написать комментарий