Компания IBM
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 448 / 54 | Оценка: 4.48 / 3.95 | Длительность: 13:58:00
Дополнительный материал 3:

Domino как источник сертификатов

Поначалу система Lotus Notes служила и как клиент и как сервер. С появлением Интернета появилась необходимость расширить эту систему и включить в нее функции, связанные с обеспечением интернет-безопасности и реализацией стандартов. Именно в это время название Notes стало обозначать клиента и появился термин "Domino" для обозначения сервера. Уже тогда изменение имени было не просто косметическим шагом. Оно указывало на то, что сервер Domino теперь мог обслуживать и клиента Notes, и Web-браузер. В Domino 7.0 сервер Domino продолжает играть эту роль.

В более ранних главах и в данном приложении нас интересуют возможности интернет-безопасности, связанные с протоколами Secure Sockets Layer (SSL) и Secure/Multipurpose Internet Mail Extensions (S/MIME). Протокол SSL отвечает за шифрование коммуникационного канала между Web-браузером и сервером, а также за аутентификацию с использованием сертификатов. Протокол S/MIME отвечает за обмен шифрованными и имеющими цифровую подпись сообщениями по протоколу SMTP.

Вы можете настроить SSL на сервере Domino, и для клиентов и серверов, обращающихся к данному серверу, будет обеспечена приватность и выполнение аутентификации. SSL настраивается отдельно для каждого протокола. Например, вы можете использовать SSL для почтовых протоколов, IMAP, POP3 и SMTP, и не использовать его для других протоколов.

Чтобы настроить и активизировать SSL на сервере, необходимо кольцо для ключей (key ring), содержащее сертификат сервера, полученный от источника интернет-сертификатов (certificate authority, CA). Вы можете запросить и получить сертификат сервера либо от Domino, либо от стороннего источника сертификатов, а затем установить его в кольцо для ключей. Сертификат сервера представляет собой двоичный файл, однозначно идентифицирующий сервер. Сертификат сервера хранится на жестком диске сервера и содержит общий ключ, имя, срок действия и цифровую подпись. Кольцо для ключей также содержит корневые сертификаты, используемые сервером для принятия решения об установлении доверительных отношений.

Что касается S/MIME, то, прежде чем интернет-клиенты и клиенты Notes смогут использовать аутентификацию клиента или посылать подписанную почту, они должны получить клиентский интернет-сертификат. Чтобы посылать шифрованную почту, они должны иметь интернет-сертификат получателя.

Для всего этого необходимо использовать источник сертификатов Domino Certificate Authority для интернет-клиентов и Notes-клиентов, который создает личные и общие ключи для интернет-сертификатов. Это не требуется, если пользователь применяет клиент Notes и выпущенные CA сертификаты, хранящиеся в документе Person в Domino Directory. Система Notes автоматически добавляет интернет-сертификат, хранящийся в документе Person, в файл Notes ID, когда пользователь проходит аутентификацию на сервере.

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

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

Иными словами, мы рассмотрим необходимые этапы создания источника сертификатов (CA) в Domino, создания сертификатов серверов и клиентов для поддержки аутентификации с использованием сертификатов SSLv3 (x.509v3). Сертификаты клиентов затем могут применяться для отправки и получения безопасных интернет-сообщений при помощи протокола Secure/Multipurpose Internet Mail Extensions (S/MIME).

Мы расскажем о следующих основных темах:

  • создание источника сертификатов (Domino Certificate Authority);
  • запрос и установка сертификата сервера;
  • запрос, получение и использование сертификата клиента.

Мы коротко рассмотрим эти разделы, останавливаясь, в частности, на описании всех этапов, необходимых для правильного выполнения каждой задачи.

Наконец, прежде чем начать, нам нужно прояснить один важный момент, касающийся Domino и источников сертификатов, поскольку существует 2 вида источников сертификатов.

Существует источник сертификатов (CA) на сервере Domino (он также называется процессом CA ), представляющий собой задачу сервера Domino, которая используется для управления запросами на получение сертификатов и для их обработки. Процесс СА работает как автоматизированный процесс на серверах Domino, которые применяются для выпуска сертификатов. Notes-сертификатор или интернет-сертификатор связываются с процессом CA на сервере и используют преимущества, которые дает им процесс СА. На сервере может работать только один экземпляр процесса СА, однако этот процесс может быть связан с несколькими сертификатами.

Мы не рассматриваем здесь процесс СА и применение некоторых из его функций для Notes ID. Вместо этого мы рекомендуем вам обращаться к точному и хорошо на- писанному документу "The CA Process In Notes/Domino 6" (применимому к Notes/ Domino 7), который можно найти по адресу http://www.ibm.com/support/docview.wss?rs=463&uid=swg27006424

Кроме того, существует также Domino 5 Certificate Authority, где описывается при- ложение Domino Certificate Authority, использующее шаблон Domino R5 Certificate Authority (CCA50.NTF)1Функциональность этого приложения (Domino 5 Certificate Authority) сильно ограничена по сравнению с более новыми версиями, применять его лучше только для целей тестирования. Примеч. науч. ред ..

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

Создание Domino Certificate Authority

Приложение Domino CA выполняет следующие функции:

  1. Создает и осуществляет управление файлом кольца для ключей (key ring) Domino CA, в котором хранится SSL-сертификат данного источника сертификатов.
  2. Электронная подпись (т. е. сертификация) общих ключей клиента и сервера при запросе на создание новых сертификатов. Для этого администратор сервера или клиента должен поместить запрос в базу данных Certificate Authority, что запустит процесс сертификации. Приложение Domino CA позволяет вручную или автоматически добавлять клиентские сертификаты, созданные приложением, в Domino Directory.
  3. Добавление клиентских сертификатов Domino Directory по запросу. Сертификат клиента может быть выпущен Domino CA (при необходимости) или внешним источником сертификатов. Обратите внимание, что, если вы решили для создания сертификатов клиента и сервера использовать внешний источник сертификатов, вы можете установить приложение СА для добавления клиентских сертификатов в Domino Directory с целью проведения аутентификации.
  4. Создание для сервера, на котором установлено приложение СА файла кольца для ключей (key ring) с использованием подписанного сертификата сервера. Эта дополнительная возможность удобна для администратора СА, но не является абсолютно необходимой. В данном документе мы показываем запрос сертификатов сервера через Web-браузер, поскольку это будет в любом случае необходимо для любого сервера Domino, отличного от СА-сервера, и при использовании внешнего источника сертификатов.

Чтобы создать Domino CA, вы должны создать базу данных Domino Certificate Authority. Это позволит создать SSL-сертификатор. Важно отметить, что SSL-сертификатор позволяет лишь подписывать запросы на получение сертификатов, и, если общий ключ клиента или сервера (плюс отличительное имя или другие идентифицирующие данные) подписан SSL-сертификатором, он также может применяться как SSL-сертификат. Также стоит отметить, что сертификаты клиента или сервера используются для создания SSL-сессии и проведения аутентификации, SSL-сертификаторы применяются исключительно для сертификации других общих ключей, а клиенты также могут использовать сертификаты для шифрования S/MIME и подписания почты (если они укажут почтовый адрес для включения в сертификат).

Шаг 1: создание базы данных Certificate Authority

Выберите пункт меню File (Файл) \to Database (База данных) \to New (Новая). Откроется диалоговое окно New Database (Новая база данных), как показано на рис. С.1. Введите информацию, приведенную в примере (это всего лишь пример; вы можете вводить информацию, более соответствующую вашим настройкам). Обратите внимание, что для доступа к шаблону Domino Certificate Authority (6) потребуется отобразить пункт Advanced Templates (Дополнительные шаблоны).

Диалоговое окно New Database (Новая база данных)

Рис. C.1. Диалоговое окно New Database (Новая база данных)

Выйдите из базы данных и убедитесь, что используемая учетная запись представлена в ACL и для нее назначена роль [CAPrivilegedUser].

Шаг 2: создание кольца для ключей и сертификата источника сертификатов

Вернитесь к базе данных Domino Certificate Authority (мы выполняем два из трех шагов, указанных в меню Domino CA) и выберите пункт 1, Create Certificate Authority Key Ring and Certificate (Создание кольца для ключей и сертификата источника сертификатов). Откроется форма Create Certificate Authority Key Ring (Создание кольца для ключей источника сертификатов), как показано на рис. С.2.

Форма Create Certificate Authority Key Ring (Создание кольца для ключей источника сертификатов)

Рис. C.2. Форма Create Certificate Authority Key Ring (Создание кольца для ключей источника сертификатов)
Диалоговое окно подтверждения создания кольца для ключей источника сертификатов

Рис. C.3. Диалоговое окно подтверждения создания кольца для ключей источника сертификатов

Обратите внимание, что файл кольца для ключей по умолчанию создается в директории (диск):\(путь к каталогу установки клиента)\data. После того как вы нажмете кнопку Create Certificate Authority Key Ring (Создать кольцо для ключей источника сертификатов), появится диалоговое окно подтверждения, показанное на рис. С.3.

Шаг 3: конфигурирование профиля источника сертификатов

Целью данного профиля является создание набора заданных по умолчанию значений, которые будут использоваться при подписи запросов на получение сертификатов от данного источника сертификатов. Выберите пункт меню 2, Configure Certificate Authority Profile (Конфигурировать профиль источника сертификатов). Откроется форма Certificate Authority Profile (Профиль источника сертификатов), показанная на рис. С.4.

Форма Authority Profile (Профиль источника сертификатов)

увеличить изображение
Рис. C.4. Форма Authority Profile (Профиль источника сертификатов)

Введите следующую информацию:

  • CA Key File (Файл ключей CA): (диск):\(путь к каталогу установки клиента)\data \data\CAKey.kyr. По умолчанию в этом поле указано место, где вы изначально создали файл кольца для ключей источника сертификатов. Если после этого вы перемещали данный файл, укажите новое место его постоянного нахождения.
  • Certificate Server DNS Name (DNS-имя сервера сертификатов): domino.lotus.com. Это необходимо для указания имени хоста в почтовых сообщениях с подтверждением. Если вы решаете не информировать пользователей по почте, это поле заполнять не нужно.
  • Use SSL for certificate transactions (Использовать SSL для транзакций, связанных с сертификатами): Yes. Этот параметр необходим для того, чтобы правильно сформировать URL в почтовых сообщениях с подтверждением (HTTPS вместо HTTP). Данный параметр меняет протокол с HTTP на HTTPS. Обратите внимание, что, если вы решили указать данное значение, вы должны сконфигурировать сервер Domino, на котором установлен СА, так, чтобы он использовал SSL, для чего нужно создать и установить сертификат сервера и активизировать SSL. Мы описываем эту операцию в разделе "Запрос и установка сертификата сервера" (см. ниже).
  • SSL Certificate Port Number (Номер порта для SSL-сертификата): <пустое поле>. Этот параметр используется для конфигурирования URL в почтовом сообщении подтверждения. Если вы планируете изменить это значение в конфигурации сервера, используйте такой же номер порта SSL для HTTPS. Обратите внимание, что данный номер порта не отображается в URL, создаваемом в почтовом сообщении, если применяется значение по умолчанию (443).
  • Mail confirmation of signed certificate to requestor (Отправка по почте подтверждения подписания сертификата): Yes. Укажите данное значение, если вы хотите, чтобы при подписании сертификата автоматически посылалось подтверждение.
  • Submit signed certificates to adminp for addition to the Directory (Отправка подписанных сертификатов процессу adminp для добавления в Domino Directory): Yes. Данный параметр автоматически добавляет любой подписанный вами клиентский сертификат в Domino Directory путем отправки запроса к административному процессу Domino (Domino Administration Process). Отметьте, что если сервер CA не является одновременно административным сервером Domino Directory, то запрос необходимо будет реплицировать на этот сервер для обработки. Если решили, что автоматически этого делать не нужно, вы впоследствии можете вручную инициировать запрос из документа, содержащего одобренный сертификат.
  • Default validity period (Период действия по умолчанию): 2. Период действия 2 года подходит для большинства клиентских сертификатов. Но вы можете изменить это значение при подписании сертификата. Обратите внимание, что период действия начинается с полуночи по всемирному времени дня подписания сертификата, а не с момента подписания. Следовательно, период действия может начаться до или после момента подписания, в зависимости от того, в каком часовом поясе вы находитесь.

Прокрутите форму вниз и нажмите Save & Close (Сохранить и закрыть), чтобы вернуться в главное меню источника сертификатов. Отметьте, что выбранные вами параметры будут храниться в источнике сертификатов, поэтому вам не будет предлагаться вводить пароль к файлу кольца для ключей источника сертификатов.

Шаг 4: создание кольца для ключей и сертификата сервера

В меню есть третья опция, позволяющая вам создать кольцо для ключей для сервера при помощи сертификата от Domino CA на том же сервере, на котором находится источник сертификатов. Это удобно, если у вас есть один тестовый сервер, но неприменимо к нескольким серверам или если вы получаете сертификат от внешнего источника. Далее мы покажем, как получить сертификат сервера от источника сертификатов (Domino или внешнего источника) при помощи браузера и базы данных Domino Server Certificate Administration для управления файлом кольца для ключей сервера.

Следовательно, мы не рассматриваем данный шаг как часть текущей процедуры.

Сергей Смирнов
Сергей Смирнов
Россия, Нижний Новгород, ННГАСУ, 2007
Олег Корсак
Олег Корсак
Латвия, Рига