версия 8.5 TrustedBitrixLogin: Руководство администратора

advertisement
TrustedBitrixLogin: версия 8.5
Руководство администратора
Содержание
Введение ....................................................................................................................... 3
Раздел 1.
Технология аутентификации по протоколу TLS ............................... 4
ПРИНЦИПЫ АУТЕНТИФИКАЦИИ ПО ПРОТОКОЛУ TLS ...................................................................4
НЕОБХОДИМЫЕ ЭЛЕМЕНТЫ АУТЕНТИФИКАЦИИ ПО TLS ..............................................................5
ИСПОЛЬЗОВАНИЕ ГОСТ-АЛГОРИТМОВ И ПРОДУКТ TRUSTEDTLS ................................................6
АЛГОРИТМ АУТЕНТИФИКАЦИИ....................................................................................................6
Раздел 2.
Установка модуля TrustedBitrixLogin .................................................. 8
АВТОМАТИЧЕСКАЯ УСТАНОВКА МОДУЛЯ.....................................................................................8
УСТАНОВКА ОБНОВЛЕНИЙ МОДУЛЯ ............................................................................................9
УСТАНОВКА МОДУЛЯ ВРУЧНУЮ ..................................................................................................9
ВВОД ЛИЦЕНЗИИ НА ИСПОЛЬЗОВАНИЕ МОДУЛЯ ........................................................................ 10
УДАЛЕНИЕ МОДУЛЯ ................................................................................................................. 11
НАСТРОЙКА ПАРАМЕТРОВ АУТЕНТИФИКАЦИИ ........................................................................... 12
Раздел 3.
Визуальные компоненты модуля ...................................................... 15
УСТАНОВКА ШАБЛОНА ФОРМЫ АУТЕНТИФИКАЦИИ .................................................................... 15
УДАЛЕНИЕ ШАБЛОНА ФОРМЫ АУТЕНТИФИКАЦИИ ...................................................................... 16
НАСТРОЙКА ОБНОВЛЕНИЯ СПИСКОВ ОТОЗВАННЫХ СЕРТИФИКАТОВ (СОС) ............................... 16
2
Введение
Руководство предназначено для пользователей, администраторов и редакторов сайта на
базе систем "1С-Битрикс: Управление сайтом", "1С-Битрикс: Корпоративный
портал", "1С-Битрикс: Портал органов государственной власти". В руководстве
описаны основные действия по установке и настройке модуля TrustedBitrixLogin для
взаимодействия с ПО TrustedTLS.
Решение с использованием модуля TrustedBitrixLogin рекомендуется для компаний,
имеющих широкую локальную сеть и не использующих сертифицированные средства
криптографической защиты, в то время как сотрудники должны иметь доступ к удаленным
веб-ресурсам (например, порталам 1С Битрикс), вход на которые выполняется строго по
ГОСТ-сертификатам.
Важно! Работа с модулем аутентификации требует установки на клиентском
рабочем месте дополнительного ПО – криптопровайдера КриптоПро CSP в случае
необходимости использования ГОСТ алгоритмов. На сервере должны быть
установлены продукты КриптоАРМ, КриптоПро CSP и TrustedTLS.
3
Раздел 1. Технология аутентификации по протоколу TLS
Принципы аутентификации по протоколу TLS
TLS (что есть Transport Layer Security), он же ранее известный как SSL (Secure Sockets
Layer), на данный момент является стандартом де-факто для защиты протоколов
транспортного уровня от различных методов вмешательства извне.
Функционирует TLS поверх транспортного протокола, например (и зачастую) TCP. Он
работает с двумя потоками данных, вне зависимости от их природы, - входящим и
исходящим, и каждый из них преобразует соответствующим образом в зашифрованный
поток (точнее в «измененный», поскольку TLS разрешает и отсутствие шифрования
передаваемых данных).
Работа протокола разделяется на два этапа: обмен ключами, и дальнейший обмен
данными.
Первый этап проходит без каких-либо «полезных» данных, передаваемых от клиента к
серверу и обратно, и служит для идентификации клиента и сервера, а также выбора
алгоритмов и инициализации ключей для дальнейшего шифрования. На втором этапе
идет просто обмен данными через установленное логическое соединение, где каждый
пакет полезных данных шифруется (если шифрование включено), защищается при
помощи MAC, и передается другой стороне через нижележащий протокол (TCP).
Инициализируется общение между клиентом и сервером сообщением ClientHello, которое
посылается клиентом серверу. В этом сообщении клиент перечисляет поддерживаемые
им «алгоритмы защиты» (в порядке предпочтения), а также передает некоторые другие
параметры (поддерживаемые алгоритмы сжатия данных, 28 байт случайных данных,
которое потом будут использованы для генерации общего секрета, идентификатор сессии
при желании ее восстановления). Каждый «алгоритм защиты», вернее Сipher Suite
(«набор алгоритмов»), на самом деле идентифицирует три алгоритма:
1) алгоритм обмена ключами, благодаря которому у клиента и сервера после
преобразований появляются общие 48 байт разделенного секрета, которые позже
используются для генерации ключей ко всем остальным алгоритмами (шифрования и
MAC);
2) блочный или поточный алгоритм шифрования, используемые для шифрования данных;
3) MAC - алгоритм, используемый для подсчета MAC-кода сообщения (идентифицируется
хеш-алгоритмом, поскольку в стандарте RFC 5246 описан только HMAC).
Получив это сообщение, сервер выбирает набор шифров, который будет использоваться,
согласно своей таблице предпочитаемых Сipher Suites, и отсылает клиенту в сообщении
ServerHello. Кроме выбранного набора, сервер также посылает свои сгенерированные
случайные данные и идентификатор сессии. Сразу после этого сообщения сервер, в
зависимости от выбранного набор алгоритмов, посылает (или не посылает) следующие
сообщения: Certificate, ServerKeyExchange, CertificateRequest.
4
В сообщении Certificate сервер посылает свой X.509 сертификат, который удостоверяет
аутентичность сервера, а в CertificateRequest - сервер требует от клиента также прислать
свой сертификат, чтобы доверить его аутентичность.
Кроме сертификата, сервер также (в пакете ServerKeyExchange) присылает цифровую
подпись данных, посылаемых в этом пакете, что позволяет убедиться, что данный пакет
действительно прислан сервером, который владеет секретным ключом к присланному
сертификату.
Cертификат x.509 - есть привязка некоторого открытого ключа к некоторой сущности
(человеку, организации, или, как в данном случае - серверу), которая владеет секретным
ключом, соответствующим этому открытому. Сертификаты бывают самозаверенные (selfsigned), когда человек сам его подписывает, и заверенные центром сертификации.
Основной вопрос, который возникает при встрече с таким сертификатом — доверие к
нему, и тут можно полагаться или на свои личные данные (как в случае самозаверенными сертификатами - кто угодно может генерировать такой сертификат), или на
доверенные центры, которые налагают свою подпись на сертификат, тем самым как бы
доказывая, что они проверили, и этот сертификат действительно соответствует тому-то и
тому-то.
Cервер присылает свой сертификат, и клиент проверяет, действительно ли он доверяет
этому сертификату, и в случае отрицательного ответа прерывает сеанс связи. Если
сервер потребовал сертификат у клиента, клиент обязан предъявить свой сертификат,
иначе связь уже будет прервана сервером.
После получения этого всего клиент посылает свой пакет Certificate (при надобности),
ClientKeyExchange, CertificateVerify (цифровая подпись, сгенерированная сертификатом
клиента).
После этого, при прошедших взаимных проверках, считается, что клиент и сервер
обладают общим секретом, размерностью в 48 байт. Из этого разделенного секрета, при
помощи переданных перед этим случайных данных, и некоторых констант, по некоторым
правилам, генерируются ключи для алгоритмов шифрования и проверки MAC-кода (это
стоило написать раньше, в общем MAC-код это что-то вроде хеша, но который успешно
можно проверить только обладая дополнительно некоторым ключом), и далее идет
обмен данным как предусмотрено протоколом уровня приложения.
Необходимые элементы аутентификации по TLS
Что необходимо настроить для использования TLS:
1. Обмен сертификатами. Если сервер присылает сертификат, который не заверен
корневым центром сертификации, известным вашему компьютеру, ваше устройство, в
зависимости от настроек, как правило, спросит «а доверяете ли вы такому-то
сертификату?», если бездумно ответить «да!», то можно перечеркнуть всю безопасность,
предлагаемую протоколом TLS.
5
2. Сертификат сервера. Как узнать, что сертификат соответствует этому сайту? Это
можно определить, потому как для TLS сертификатов в поле common name (CN=)
прописывается имя сайта, которому он соответствует, и которое браузер должен
проверять, и в результате несоответствия говорить про ошибку проверки.
3. Сертификат клиента. Этот сертификат каким-то образом должен быть сохранен на
сервер в списке доверяемых, или authority, выписавшая этот сертификат, должна быть
доверяемой на сервере.
Важно! Быстродействие установления TLS соединения значительно отличается
от обычного входа. Инициализация протокола требует трех посылок данных туда и
назад (т.е. это уже 3 пинга), еще достаточно времени требует генерирование
цифровой подписи (мы рассматриваем сторону сервера), а также разворачивание
ключей для симметричных алгоритмов шифрования, что в сумме может занять более
полсекунды (кстати, надо заметить, что генерирование DSA-подписи при равном
размере с RSA-ключом, происходит раза в 2-4 быстрее).
Использование ГОСТ-алгоритмов и продукт TrustedTLS
Установка продукта TrustedTLS на сервере, позволяет использовать ГОСТ-алгоритмы при
установлении TLS-соединения. При установке TrustedTLS заменяется стандартный
модуль mod_ssl.dll входящий в состав сервера Apache версии 2 и реализующего
зарубежные алгоритмы защищенного соединения на модуль mod_digt_tls.dll в связке с
КриптоПРО, который в свою очередь реализует ГОСТ-алгоритмы шифрования канала
передачи данных. При установке продукта TrustedTLS работа сервера Apache и портала
1С Битрикс не нарушается.
Используемый модуль mod_digt_tls.dll в ПО TrustedTLS является прослойкой между
интерфейсом защищенного соединения сервера Apache и СКЗИ КриптоПРО (рис. 1). Его
применение является необходимым условием для работы с сертифицированным СКЗИ и
в рамках Российского законодательства.
Рис. 1.1. Схема использования продукта TrustedTLS
Алгоритм аутентификации
Технология заключается в установлении принудительной двухсторонней аутентификации
по сертификатам сервера и клиента и дальнейшей проверки открытого сертификата
клиента в таблице ассоциации сертификатов аутентификации и пользователей в БД 1СБитрикс и дальнейшей аутентификации пользователя в системе, а также реагирования на
события входа по логину/паролю.
При установке соединения происходит проверка сертификата по СОС из УЦ. Если
проверка не проходит, то соединение не устанавливается и пользователь видит
стандартную ошибку 404.
6
После прохождения проверки по СОС из УЦ, проверяется наличие сертификата
пользователя в таблице ассоциации сертификатов аутентификации и пользователей в БД
1С-Битрикс. В зависимости от нахождения и проверки флага «тип аутентификации»
происходит или не происходит штатная процедура аутентификации пользователя в
системе.
При входе по логину/паролю в функции-обработчике соответствующего события системы
происходит проверка флага «тип аутентификации» для этого пользователя. Если
пользователь найден и флаг «тип аутентификации» выставлен как «Сертификат», то
пользователь не аутентифицируется, так как в соответствии с таблицы ассоциации
сертификатов пользователь не может осуществить вход по логину/паролю.
Если у пользователя флаг «тип аутентификации» выставлен как «Логин/Пароль», но в
таблице
ассоциации
сертификатов
ему
назначен
сертификат,
он
может
аутентифицироваться и по сертификату, и по логину/паролю, а если пользователю не
назначен сертификат – только по логину/паролю (рис. 2.13).
Рис. 1.2 Алгоритм аутентификации
7
Раздел 2. Установка модуля TrustedBitrixLogin
Автоматическая установка модуля
Модуль «TrustedBitrixLogin» является платным продуктом, поэтому клиенты смогут его
установить следующим образом:
 Перейдите на страницу Система обновлений сторонних модулей (Настройки >
Сторонние обновления).
На закладке Установка обновлений представлена информация об имеющихся
обновлениях модулей.
На закладке Список обновлений в виде таблицы представлен список всех
обновлений модулей. Используя колонку флажков таблицы, вы можете указать
необходимые обновления для установки.
 Для установки нажмите кнопку Установить обновления (Рис. 2.):
Рис. 2.1 Закладка Список обновлений
Процесс загрузки обновлений отображается с помощью индикаторов выполнения
(Рис. 2.2):
Рис. 2.2 Индикаторы выполнения установки обновления
 После окончания установки новый модуль будет добавлен в общий список модулей
(Рис. 2.):
8
Рис. 2.3 Установленный модуль в списке
Установка обновлений модуля
После того как модуль будет установлен на портал, на странице Сторонние обновления
будет доступно обновление для модуля (Рис. 2.):
Рис. 2.4 Список обновлений модуля
Для установки обновления нужно нажать кнопку Установить обновления.
Установка модуля вручную
Чтобы установить модуль выполните следующие действия:
 Необходимо скопировать каталог c исходными текстами модуля TrustedBitrixLogin в
каталог bitrix/modules/ . При отображении общего списка модулей он будет
присутствовать в нем под названием «TrustedBitrixLogin» версии 8.5.0 (Рис. 2.5).
Рис. 2.5 Отображение модуля в разделе установки
 Нажмите на кнопку Установить для запуска мастера установки. При успешной
установке модуля должно появиться сообщение, представленное на рис. 2.6.
9
Рис. 2.6 Успешная установка модуля на портал
 После установки модуля (рис. 2.7), в левой панели меню должен появиться
соответствующий пункт (рис. 2.8) через который можно выполнить переход к таблице
настройки параметров аутентификации пользователей.
Рис. 2.7 Установленный модуль Аутентификации по TLS
Рис. 2.8 Добавление пункта меню для доступа
к настройкам модуля TrustedBitrixLogin
Ввод лицензии на использование модуля
Для ввода лицензии на модуль, необходимо получить текстовый файл лицензии через
официальных дилеров или заказать лицензию на сайте разработчиков (www.trusted.ru).
Затем, необходимо перейти на страницу О модуле в разделе меню TrustedBitrixLogin (рис.
2.8) и в открывшейся форме выбрать файл лицензии (рис. 2.9).
10
Рис. 2.9 Сведения о лицензии на использование модуля
После выбора файла лицензии нужно нажать на кнопку Сохранить или Применить, и
файл лицензии будет сохранен на сервере (рис. 2.10).
Рис. 2.10 Загрузка файла лицензии на сервер
Удаление модуля
Удаление модуля производится через страницу отображения списка установленных
модулей, нажатием кнопки Удалить (рис. 1.8).
Рис. 1.8 Удаление модуля
Важно! Удаление модуля с сервера сопровождается удалением всех установленных
компонент, в том числе и таблицы, которая связывает пользователя и сертификат
аутентификации.
11
Настройка параметров аутентификации
Для только что установленного модуля необходимо выполнить настройку параметров
аутентификации пользователей портала. Для этого через пункт меню
нужно перейти таблице сертификатов аутентификации (рис. 2.9).
Рис. 2.9 Таблица установки параметров аутентификации
При двойном щелчке по строке таблицы (или через выпадающее меню
) для
того пользователя, параметры доступа которого должны быть отредактированы,
откроется страница загрузки сертификата аутентификации и выбора режима входа
пользователя на портал (рис. 2.10).
Рис. 2.10 Форма загрузки сертификата аутентификации
Регистрация новой учетной записи на портале 1С Битрикс для нового пользователя
сопровождается добавлением записи о данном пользователе в таблицу ассоциаций (рис.
2.9). Вновь занесенная запись сопровождается выставлением режима входа (по
умолчанию) – «Логин/Пароль» при прочих отсутствующих параметрах.
12
Для каждого пользователя в таблице может присутствовать строго только один
сертификат аутентификации.
Важно! При удалении пользователя данные из таблицы ассоциации сертификатов
безвозвратно удаляются, а при добавлении пользователя в таблицу добавляются
данные для пользователя, в которых по умолчанию выставлен тип аутентификации
по логину/паролю без использования сертификата.
Каждый из сертификатов аутентификации пользователей имеет определенные свойства,
по которым проверяется корректность сертификата. Пользователи с некорректными
сертификатами не смогут совершить вход на портал. Для просмотра свойств сертификата
нужно один раз выполнить щелчок левой кнопкой мыши на иконке сертификата
(рис. 2.11).
Рис. 2.11 Отображение сертификатов аутентификации
и переход к странице их проверки на корректность
Должна появиться страничка с отображением свойств выбранного сертификата
аутентификации (рис. 2.12), где можно увидеть текущий статус сертификата.
Рис. 2.12 Результат проверки сертификата аутентификации на корректность
На форме (рис. 2.12) выводится следующая информация по цифровому сертификату:
13

Статус сертификата – отображается результат проверки цифрового сертификата
подписи (проверка выполняется при помощи ПО КриптоАРМ, установленном на
сервере). Результат проверки может иметь один из вариантов:
o
«Действителен» - выполняются все условия действительности сертификата
o
«Недействителен» - возможны следующие причины признания сертификата
недействительным: срок действия сертификата истек, есть непросроченный СОС и
в нем находится указанный сертификат, не строится цепочка сертификации,
сертификат имеет некорректную ЭЦП, не удалось получить СОС из УЦ (если
выполняется обязательная проверка по СОС, полученному из УЦ).
o
«Неизвестен» - статус, возможный только для сертификатов, которым не
требуется проверка по СОС, полученному из УЦ (не найден локальный СОС,
ошибка
обновления
СОС,
использование
сертификата
ограничено,
недействительный
блоб
сертификата,
невозможно
построить
цепочку
сертификации).

Серийный номер – уникальный номер сертификата, который присвоен выпущенному
сертификату издателем. Уникальность номера сертификата должна соблюдаться в
рамках удостоверяющего центра (УЦ).

Идентификатор (СN) – содержит отличительное имя субъекта, то есть владельца
секретного ключа, соответствующего открытому ключу данного сертификата.
Субъектом сертификата может выступать УЦ, РЦ или конечный субъект.

Страна – атрибут, который указывает на гражданство субъекта (владельца
сертификата).

Издатель сертификата – поле содержит отличительное имя (формата X.500) третьей
доверенной стороны, то есть издателя, который выпустил этот сертификат.

Срок действия - указываются даты начала и окончания периода действия
сертификата.
14
Раздел 3. Визуальные компоненты модуля
Установка шаблона формы аутентификации
В стандартную поставку модуля входят компоненты формы аутентификации стандартных
шаблонов, таких как modern, classic и system.
Для установки компонента необходимо перейти на закладку Разработка в панели
администратора, кликнуть двойным щелчком на стандартный компонент формы
аутентификации. В окне Параметры компонента выбрать соответствующий шаблон
сайта с суффиксом «.trusted» и нажать Сохранить (рис. 3.1).
Рис. 3.1 Выбор шаблона для модуля TrustedBitrixLogin
На главной странице в компоненте аутентификации должна появиться дополнительная
ссылка Вход по сертификату.
15
Удаление шаблона формы аутентификации
Для удалении компонента необходимо перейти на закладку Разработка в панели
администратора, кликнуть двойным щелчком на стандартный компонент формы
аутентификации. В окне Параметры компонента выбрать соответствующий шаблон
сайта без суффикса «.trusted» и нажать Сохранить.
Настройка обновления списков отозванных сертификатов (СОС)
Установка адресов точек распространения СОС
Адрес точки распространения СОС (CDP) записывается в свойствах сертификата,
выпущенного удостоверяющим центром (УЦ) (рис. 3.2). Включенный в сертификат адрес
распространения СОС можно получить на закладке Состав (Detail) в поле Точки
распростарения СОС (CRL Distribution Points). Адресов может быть несколько.
Рис. 3.2 Адрес CDP тестового ГОСТ-сертификата
Для установки путей загрузки СОС откройте скрипт «CrlUpdateByUrl.vbs», который идет
поставке с модулем TrustedBitrixLogin, в текстовом редакторе и выполните следующие
действия:
 Найдите строки
Log("# Start ---------------------------------------------------------------------")
Log("# End ---------------------------------------------------------------------")
 Между данными строками включите адрес обновления СОС в виде:
16
UpdateCrlByUrl "http://www.cryptopro.ru/certenroll/Test%20Center%20CRYPTO-PRO(2).crl"
Если в сертификате указано несколько адресов CDP, необходимо добавить их все, друг
за другом с новой строки.
 В результате, например, должно получиться следующее:
Log("# Start ---------------------------------------------------------------------")
UpdateCrlByUrl "http://www.cryptopro.ru/certenroll/Test%20Center%20CRYPTO-PRO(1).crl"
UpdateCrlByUrl "http://www.cryptopro.ru/certenroll/Test%20Center%20CRYPTO-PRO(2).crl"
UpdateCrlByUrl "http://www.cryptopro.ru/certenroll/Test%20Center%20CRYPTO-PRO(3).crl"
Log("# End ---------------------------------------------------------------------")
При запуске данного скрипта происходит последовательная загрузка СОС по указанным
путям и заполнение лог-файла, в котором отображается результат и описание статусов.
Настройка прокси-сервера для соединения с CDP
При необходимости использования прокси-сервера, в скрипте «CrlUpdateByUrl.vbs» нужно
указать дополнительные параметры соединения:

const PROXY_USE - для использования прокси-сервера;

const PROXY_ADDRESS - адрес прокси-сервера;

const PROXY_AUTH_TYPE - тип аутентификации на прокси-сервере;

const PROXY_USERNAME - логин пользователя на прокси-сервере;

const PROXY_PASSWORD - пароль пользователя на прокси-сервере.
Подробное описание применимости данных констант и других параметров можно
посмотреть в комментариях в скрипте «CrlUpdateByUrl.vbs».
Ведение лог-файлов при обновлении СОС
По умолчанию лог-файл располагается в каталоге «logs» (путь к данному каталогу задан
константой LOG_PATH в скрипте «CrlUpdateByUrl.vbs»), расположенному в той же
каталоге, где располагается сам скрипт «CrlUpdateByUrl.vbs».
Формат имени лог-файла следующий - YYMMDD.log, где YY - год, MM - месяц, DD - день.
Стандартный интервал логирования всех попыток загрузки СОС – одни сутки, т.е. в
течение одного дня вся информация будет помещаться в один текстовый лог-файл.
17
Настройка планировщика задач для запуска скрипта
Установка периода запуска скрипта осуществляется средствами стандартного
планировщика задач (Scheduler) Windows. Для этого выполните следующие действия:
 Запустите мастер планирования заданий (Scheduled Task Wizard) – Пуск (Start),
Панель управления (Control Panel), Назначенные задания (Scheduled Tasks).
Рис. 3.3 Запуск планировщика задач
 В открывшемся окне планировщика заданий щелкните по элементу Добавить
задание (Add scheduled task) для открытия мастера (рис. 3.4)
Рис. 3.4 Запуск мастера добавления задания
 На странице запроса пути к запускаемой программе указываем место расположения
скрипта «CrlUpdateByUrl.vbs» (рис. 3.5).
18
Рис. 3.5 Указание пути расположения скрипта
 На следующей странице мастера задайте имя нового задания и частоту его
выполнения – ежедневно (рис. 3.6).
Рис. 3.6 Задание интервала между обновлениями СОС
 На следующей странице мастера (рис. 3.7) можно задать время старта задания и
период повтора.
Рис. 3.7 Установка времени старта задания
19
 На следующей странице мастера (рис. 3.8) нужно задать логин пользователя, от
имени которого будет выполняться данное задание, и указать его пароль.
Рис. 3.8 Задание логина и пароля для запуска задания
 На следующей странице мастера установите галочку Установить дополнительные
параметры и нажмите кнопку Готово.
Рис. 3.9 Доступ к дополнительным параметрам
 Далее откроется окно свойств выбранного задания, в котором на закладке
Расписание нужно нажать на кнопку Дополнительно и выставить галочку Повторять
задание (рис. 3.10).
20
Рис. 3.10 Доступ к дополнительным параметрам
Важно! Для обеспечения актуальности СОС необходимо выставить частоту
обновления меньше чем частота выпуска СОС УЦ. Частота обновления СОС зависит
от интервала публикации СОС конкретным УЦ. Например, если УЦ выпускает новые
СОС каждые 20 минут, целесообразно выставить частоту запуска следующим
образом: в поле «каждые» установить время 15 минут, а в поле «в течение» прописать время 24 часа.
21
Download