Сертификаты безопасности

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

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

Наряду с доверенными сертификатами безопасности, в криптографии существует понятие самозаверенного SSL-сертификата, изданного и заверенного той же организацией, которую он идентифицирует.

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

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

В PolyAnalyst используются сертификаты безопасности международного стандартного формата X.509 с кодировкой Base64 на основе алгоритма шифрования RSA.

При первом запуске сервера PolyAnalyst автоматически генерируется самозаверенный сертификат безопасности, который удобен для внутреннего использования и надежно шифрует сообщения между сервером и клиентскими программами. Однако при использовании такого сертификата, например, при работе с веб-отчетами, все браузеры будут выдавать предупреждение о том, что сайт не проверен/соединение не защищено. Поэтому для работы в браузере рекомендуется использовать доверенный сертификат безопасности, который можно приобрести в любом Центре сертификации, действующем сегодня на рынке IT-безопасности.

Запуск менеджера сертификатов

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

adm certificate manager.rus

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

Рассмотрим каждое действие подробнее.

Создание запроса на получение сертификата

Данная опция используется для того, чтобы оформить запрос в Центр сертификации на получение сертификата безопасности. Затем заполните текстовые поля информацией, обычно запрашиваемой и проверяемой Центром сертификации для выпуска сертификата безопасности:

  • Полное доменное имя или имя с маской – здесь вводится полное имя домена, который вы хотите защитить, например, 'www.domain.com' или 'mail.domain.com'. Если вы хотите приобрести SSL сертификат Wildcard для защиты всех субдоменов вашего основного домена (например, my.domain.ru, billing.domain.ru и support.domain.ru), вы можете ввести имя домена с маской (*): *.domain.ru.

  • Организационная единица – например, IT/Финансы/HR и др.

  • Компания – наименование компании

  • Город – город, в котором находится ваша компания

  • Двухбуквенный код страны – например, RU/US/FR и др.

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

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

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

По окончании настройки данной вкладки нажмите Создать.

PolyAnalyst автоматически создаст и загрузит архив с двумя файлами – приватным ключом и запросом на сертификат (server.csr). Сохраните их. Отправьте форму заявки (но не ключ) в Центр сертификации. Этой организации потребуется некоторое время, чтобы проверить все предоставленные вами сведения, после чего вы получите доверенный сертификат безопасности.

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

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

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

Этот сертификат можно использовать и далее до тех пор, пока вам не понадобится безопасное соединение с браузером для работы в режиме on-line. Пользователю необходимо знать о том, что доступ к этому сертификату защищен паролем, используемым по умолчанию – megaputer. Этот пароль может быть использован для запуска сервера новыми пользователями и для доступа к хранилищу паролей (см. описание ниже), если вы не устанавливали другой сертификат безопасности. Вы можете изменить пароль, заданный по умолчанию, в целях безопасности (см. раздел Изменение пароля доступа к сертификату безопасности ниже).

Опция Установить самозаверенный сертификат позволяет создать и установить новый самозаверенный сертификат на сервер.

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

При необходимости отметьте опцию Скачать приватный ключ и файл сертификата. Нажмите Установить.

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

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

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

Так, например, если вы просмотрите сертификат сайта https://google.com (для этого нажмите на значок безопасного соединения в виде замка в начале URL, затем выберите действие Безопасное подключение (Connection is secure) → Действительный сертификат (Certificate is valid)), то на вкладке Подробнее вы увидите следующее:

adm google certif path.rus

В данном случае сертификат www.google.com в конце цепочки подписан ключом GTS CA 1C3, а тот, в свою очередь, является доверенным сертификатом GTS Root R1.

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

Если такая возможность имеется, используйте действие Установка сертификата, подписанного существующим.

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

Установка существующего сертификата

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

Вам необходимо указать путь к файлу приватного ключа (.pem) и к файлу сертификата (.crt).

Нажмите Установить. Система попросит ввести пароль для доступа к устанавливаемому сертификату, полученный от Центра сертификации.

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

Запуск сервера PolyAnalyst новыми пользователями (Windows)

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

Пароль для доступа к сертификату шифруется с помощью учетных данных пользователя Windows, запустившего сервер PolyAnalyst. На самом деле, PolyAnalyst хранит много файлов с паролями. Файл passwrd.dat для каждого пользователя Windows свой. В результате каждый пользователь имеет собственный ключ к сертификату безопасности. Если в системе появляется новый пользователь, он такого ключа – и доступа к сертификату безопасности – не имеет.

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

Это можно сделать, используя команду rserver --certpwd certificate_password в командной строке при запуске сервера от имени этого пользователя or pa6scm --start PolyAnalyst6Server --certpwd certificate_password. При этом пользователь должен знать пароль доступа к текущему сертификату.

Пароль для сертификата для Логин-сервера задается путем выполнения команды loginserver --certpwd certificate_password. Значением пароля сертификата по умолчанию является megaputer, например loginserver --certpwd megaputer.
Значение, передаваемое параметру --start в команде pa6scm, является именем службы сервера PolyAnalyst. "PolyAnalyst6Server" – это имя по умолчанию. Если вы вручную указали другое имя службы, используйте это имя после аргумента --start.
Если PolyAnalyst запускается под учетной записью LocalSystem и при этом впервые, то лучше использовать команду pa6scm вместо rserver.

Механизм сохранения паролей пользователей в проектах при переносе установки PolyAnalyst на другую машину

Если в аналитическом проекте есть узлы, использующие учетные данные пользователей, такие как ODBC, OLEDB, FTP, E-Mail и др., они также защищаются с помощью сертификата безопасности. Пользователям, которые работают с крупными проектами, содержащими сотни подобных узлов, важно знать, что PolyAnalyst позволяет сохранять пароли в этих узлах при переносе на другой компьютер. Это происходит следующим образом.

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

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

При переносе установки PolyAnalyst с одного компьютера на другой следует скопировать сертификаты поверх сгенерированных при установке и задать пароль к приватному ключу сертификата с помощью команды rserver --certpwd newpassword. Эту команду следует выполнять под тем пользовательским аккаунтом, под которым в дальнейшем будет запускаться PolyAnalyst. Для сервисного аккаунта следует воспользоваться командой pa6scm --start PolyAnalyst6Server --certpwd newpassword.

Если PolyAnalyst запускается под учетной записью LocalSystem и при этом впервые, то лучше использовать команду pa6scm вместо rserver.
Следует, однако, помнить о том, что из соображений безопасности при экспорте/импорте проектов хранилище паролей не экспортируется, и все пароли в узлах, использующих учетные данные пользователей, будут сброшены.