Содержание


Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance

Часть 2. Настройка прокси Web-сервисов WebSphere DataPower SOA Appliance для асимметричной защиты WS-Security

Comments

Серия контента:

Этот контент является частью # из серии # статей: Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance

Следите за выходом новых статей этой серии.

Предварительные требования для данного примера

  • WebSphere Application Server 6.1 с Web Services Feature Pack (WSFP).
  • WebSphere DataPower SOA Appliance XS40 или XI50 версии 3.6.1 или более новой.
  • Удостоверения защиты для Web-сервисов в виде хранилищ ключей JCEKS, закрытых ключей или открытых сертификатов, необходимых для определенных криптографических операций.

В этой статье

В этой статье мы продолжим работать над сценарием из предыдущей статьи по развертыванию WebSphere DataPower SOA Appliance для частичной обработки WS-Security для сервера приложений. Мы создадим на WebSphere DataPower SOA Appliance прокси Web-сервисов для приема запросов, отправляемых в сервис EchoService.

В данной статье мы рассмотрим следующие задачи:

  • Настройка прокси Web-сервисов в DataPower SOA Appliance для выполнения защищенной обработки развернутого Web-сервиса.
  • Подготовка удостоверений защиты JCE и JCEKS для данного примера.
  • Применение консоли WebSphere Application Server для отключения политик безопасности в примере сервиса.

В первой части серии мы с помощью Rational Application Developer выполнили импорт EAR-файла примера клиента EchoService и настроили его на использование WS-Security. Пример клиента Web-сервиса был развернут на сервере WebSphere Application Server. Мы установили сервис EchoService и настроили его на использование WS-Security. Для ввода сообщения, отправляемого из клиентского приложения EchoService в Web-сервис EchoService, использовался браузер. Затем это сообщение возвращалось обратно в клиент Web-сервиса.

В этой статье мы продемонстрируем, как передать часть обработки WS-Security, выполняемой на сервере, в прокси DataPower Web Service, а остальную работу оставить серверу приложений. Это позволит выполнять ресурсоемкую обработку в WebSphere DataPower SOA Appliance, а обработку бизнес-логики - на сервере приложений.

WebSphere DataPower SOA Appliance - это специализированное сетевое устройство, помогающее защитить и ускорить обработку XML и Web-сервисов. Хотя WebSphere DataPower SOA Appliance обладает широким набором функциональных возможностей, в данной статье внимание сконцентрировано на аспектах его работы с Web-сервисами. Рассматриваются, в частности, такие связанные с Web-сервисами функциональные возможности, как защищенная обработка на уровне XML-сообщений для шифрования и дешифрования, подписание при помощи цифровой подписи и ее проверка, WS-Security, проверка корректности XML-схемы, поддержка управления Web-сервисами, а также подробное журналирование и аудит. Защищенная обработка XML может требовать значительных вычислительных ресурсов. Устройства WebSphere DataPower SOA Appliance предлагают возможности обработки и защиты XML, которые могут быть недоступны в традиционных XML-механизмах. Передача устройству WebSphere DataPower SOA Appliance выполнения частей запросов Web-сервисов, требующих интенсивной обработки, ускоряет работу и снижает нагрузку на Web-сервисы сервера приложений.

В первой части данной серии статей мы настроили приложение EchoClient на защищенный обмен данными с EchoService с использованием асимметричного шифрования и электронных подписей WS-Security. Ниже еще раз приведена схема созданной конфигурации Web-сервиса:

Рисунок 1. Конфигурация Web-сервиса с политикой безопасности по умолчанию
Рисунок 1. Конфигурация Web-сервиса с политикой безопасности по умолчанию
Рисунок 1. Конфигурация Web-сервиса с политикой безопасности по умолчанию

В данном сценарии все элементы SOAP-сообщения обрабатываются механизмом Web-сервисов Web Services Feature Pack for V6.1. При передаче обработки функций защиты на устройство WebSphere DataPower SOA Appliance целевой конечной точкой запросов Web-сервисов становится это устройство. Обработка политики WS-Security осуществляется механизмами WebSphere DataPower SOA Appliance, а затем запрос Web-сервиса направляется на сервер приложений для выполнения операции сервиса. Политика WS-Security Default удаляется из сервиса на сервере приложений. Чтобы устройство WebSphere DataPower SOA Appliance обрабатывало политику WS-Security, необходимые удостоверения защиты, WSDL, адресная информация сервера приложений будут настроены на работу с прокси Web-сервисов WebSphere DataPower SOA Appliance. При настройке WebSphere DataPower SOA Appliance мы будем использовать браузер для доступа к интерфейсу DataPower WebGUI. На следующем рисунке изображен Web-сервис с обработкой функций защиты, переданной устройству WebSphere DataPower SOA Appliance:

Рисунок 2. Конфигурация Web-сервиса с обработкой функций защиты, переданной устройству
Рисунок 2. Конфигурация Web-сервиса с обработкой функций защиты, переданной устройству
Рисунок 2. Конфигурация Web-сервиса с обработкой функций защиты, переданной устройству

В этой конфигурации политика безопасности WAS Default удалена из механизма Web-сервисов. Получаемый из WebSphere DataPower SOA Appliance запрос теперь направляется для обработки непосредственно в конечную точку Web-сервиса. Удостоверения и WSDL для указанного Web-сервиса были экспортированы и настроены на устройстве WebSphere DataPower SOA Appliance.

Действия по настройке примера

Передача защищенной обработки устройству WebSphere DataPower SOA Appliance требует, чтобы устройство имело доступ к удостоверениям защиты Web-сервиса. Для обеспечения такой возможности мы выполним ряд действий.

Мы настроим прокси Web-сервисов WebSphere DataPower SOA Appliance на обработку политики WS-Security Default. Эта политика безопасности выполняет подписание цифровой подписью и проверку подписи, а также шифрование и дешифрование с использованием асимметричной криптографии.

С помощью консоли WAS мы проверим отсутствие настройки WS-Security. В ней больше нет необходимости, поскольку данную задачу выполняет WebSphere DataPower SOA Appliance.

Для доступа к клиенту EchoService с целью отправки сообщений для проверки корректности настройки сценария мы будем использовать браузер.

Управление ключами и сертификатами

В конфигурации данного примера используется два различных типа хранилищ ключей, поставляемых с WAS WSFP. Для цифровых подписей политики WS-Security Default используется стандартное хранилище ключей JDK JKS. Для шифрования используется хранилище JCE (Java Cryptography Extension). Для того чтобы устройство WebSphere DataPower SOA Appliance могло выполнять подписание цифровой подписью, шифрование и дешифрование, необходимо выгрузить ключи и сертификаты из этих хранилищ ключей. Для выгрузки из JKS необходимо сначала преобразовать хранилища в JCE. Для подготовки хранилищ к выгрузке ключей и сертификатов в WebSphere DataPower SOA Appliance выполните следующие действия:

  1. Скопируйте ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks во временный каталог /temp.
  2. Для удобства скопируйте во временный каталог следующие два файла:

    ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks

    ${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer

    (Если доступен gsk7, для выполнения преобразования можно использовать gsk7cmd.exe.)
  3. Для преобразования хранилища ключей JKS в JCE выполните следующую команду:

    keytool -keypasswd -alias soapprovider -storetype jceks -keystore dsig-receiver.ks -v -storepass server -keypass server -new server

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

Настройка WebSphere DataPower SOA Appliance на политику безопасности Web-сервисов по умолчанию

В данном разделе рассматриваются пошаговые действия по настройке WebSphere DataPower SOA Appliance на работу с прокси Web-сервисов. Этот прокси служит конечной точкой Web-сервиса для приложения EchoClient, выполняет защищенную обработку Web-сервиса, а затем направляет оставшееся SOAP-сообщение в последнюю конечную точку WAS для выполнения запрошенной операции.

В данном примере конфигурация прокси Web-сервисов имеет внешний HTTP-интерфейс, настроенный на соответствующий порт. Адрес и порт удаленной системы будет настроен на перенаправление запроса в целевую конечную точку Web-сервиса. Для управления SOAP-сообщением в соответствии с политикой безопасности создаются правила обработки запросов и ответов. Для шифрования/дешифрования и подписания/проверки подписи в DataPower Appliance выгружаются необходимые хранилища ключей. В правилах обработки создаются и настраиваются нужные криптографические объекты. Правила обработки связываются в конвейер, выполняющий полную обработку запроса.

WebSphere DataPower SOA Appliance позволяет индивидуально создавать криптографические объекты и затем выбирать их в нужной конфигурации. В нашем примере необходимые криптографические объекты создаются при настройке прокси Web-сервисов.

В контексте конфигурации доступ к WebSphere DataPower SOA Appliance через браузер выполняется из WAS-машины, предоставляющий Web-сервис. Для процессов выгрузки в WebSphere DataPower SOA Appliance понадобится наличие доступа к описанным выше хранилищам ключей примера, преобразованным хранилищам ключей, сертификатам и экспортированному WSDL.

  1. Используя браузер, войдите в интерфейс в WebSphere DataPower SOA Appliance WebGUI, используя соответствующий идентификатор пользователя, пароль и домен.
  2. Нажмите пиктограмму Web Service Proxy.
    Рисунок 3. Варианты настройки WebSphere DataPower SOA Appliance
    Рисунок 3. Варианты настройки WebSphere DataPower SOA Appliance
    Рисунок 3. Варианты настройки WebSphere DataPower SOA Appliance
  3. Создайте новый прокси Web-сервисов, нажав кнопку add.
  4. Введите имя прокси Web-сервисов - WSP-EchoService.
  5. В поле Web Service Proxy WSDLs выберите Add WSDL.
  6. Выгрузите WSDL, экспортированный из консоли WebSphere для EchoService (см. выше).
  7. Нажмите кнопку Upload.
  8. Найдите или введите месторасположение WSDL-файла (разархивированного) для EchoService.
  9. Проверьте имя файла для сохранения.
  10. Нажмите кнопку Upload.
    Рисунок 4. Настройка прокси Web-сервисов WebSphere DataPower SOA Appliance
    Рисунок 4. Настройка прокси Web-сервисов WebSphere DataPower SOA Appliance
    Рисунок 4. Настройка прокси Web-сервисов WebSphere DataPower SOA Appliance
  11. Нажмите Next.
  12. Для создания внешнего обработчика (front side handler) или обработчика локальной конечной точки (local EndPoint handler) нажмите кнопку +.
  13. Выберите в меню Http Front Side Handler.
  14. Введите имя внешнего обработчика - FSH-HTTP-EchoService.
  15. Введите IP-адрес внешнего обработчика. При указании значения 0.0.0.0 будет использоваться адрес DataPower по умолчанию.
  16. Введите соответствующий порт для конечной точки - 9080.
  17. Проверьте остальные настройки; в данном примере оставлены значения по умолчанию.
  18. Нажмите Apply.
  19. В раскрывающемся окне FSH-HTTP-EchoService выберите + Add справа для активизации внешнего обработчика.
  20. Нажмите Next.
    Рисунок 5. Окно Configure HTTP Front Side Handler
    Рисунок 5. Окно Configure HTTP Front Side Handler
    Рисунок 5. Окно Configure HTTP Front Side Handler
  21. Введите в настройках Remote параметры конечной точки web-сервиса WAS, в которой будут обрабатываться операции.
  22. Введите IP-адрес или имя хоста, порт (9080) и URI (/WSSampleSei/EchoService).
    Рисунок 6. Окно Configure HTTP Back Side Handler
    Рисунок 6. Окно Configure HTTP Back Side Handler
    Рисунок 6. Окно Configure HTTP Back Side Handler
  23. Нажмите Next.

Теперь устройство WebSphere DataPower SOA Appliance настроено на прием запросов и перенаправление их удаленной системе; обработка не выполняется. На следующем рисунке приведен пример конфигурации:

Рисунок 7. Конфигурация прокси Web-серисов
Рисунок 7. Конфигурация прокси Web-серисов
Рисунок 7. Конфигурация прокси Web-серисов

Настройка политики WebSpher DataPower SOA Appliance

Необходимо настроить политику защищенной обработки на соответствие политике WAS WS-Security Default. Мы выполним настройку в соответствии с потоком обработки:

Правило запросов

  • Дешифровать входящее SOAP-сообщение.
  • Проверить входящее SOAP-сообщение.
  • Использовать преобразование (Transform), чтобы удалить SOAP-заголовки безопасности для WAS EndPoint.

Правило ответов

  • Подписать исходящее SOAP-сообщение.
  • Зашифровать исходящее SOAP-сообщение.

Настройка правила дешифрования запросов

  1. Перейдите на вкладку Policy в верхней части экрана Configure Web Service Proxy.
  2. Нажмите (request-rule) для отображения панели настройки правил.
  3. Нажмите левую кнопку мыши на пиктограмме decrypt, переместите ее в строку обработки после пиктограммы match action и отпустите кнопку мыши.
  4. Дважды щелкните левой кнопкой мыши на только что перемещенной пиктограмме decrypt для настройки параметров шифрования.
  5. В поле Decrypt Key нажмите кнопку + для создания криптографического объекта дешифрования.
  6. Введите имя криптографического ключа - WS-enc-receiver-privatekey.
  7. Нажмите кнопку Upload для выгрузки закрытого ключа пользователя Bob из нашего хранилища ключей JCEKS.
  8. Выберите Source Java Key Store.
  9. Выберите или введите имя файла ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
  10. В поле Key store type введите JCEKS.
  11. В поле Key store password введите storepass.
  12. Перейдите в поле Key to upload и выберите bob (key).
  13. В поле Key password введите keypass.
  14. Перейдите в поле Save as и введите имя файла - WS-enc-receiver-bob.pem.
  15. Нажмите кнопку Upload (при этом экран Configure Crypto Key закроется).
    Рисунок 8. Выгрузка сертификата запроса
    Рисунок 8. Выгрузка сертификата запроса
    Рисунок 8. Выгрузка сертификата запроса
  16. Убедитесь, что в поле Decrypt Key выбран только что созданный криптографический ключ (WS-enc-receiver-privatekey).
  17. Нажмите кнопку Done.
    Рисунок 9. Окно Configure Decryption Action
    Рисунок 9. Окно Configure Decryption Action
    Рисунок 9. Окно Configure Decryption Action
  18. Теперь перейдите на вкладку Proxy Settings. В раскрывающемся списке Decrypt Key выберите только что настроенный ключ WS-enc-receiver-privatekey.
  19. Нажмите кнопку Apply для сохранения текущей конфигурации.

Настройка правила проверки запросов

  1. На вкладке Policy нажмите кнопку (request-rule) для отображения панели настройки правил.
  2. Нажмите левую кнопку мыши на пиктограмме decrypt, переместите ее в строку после созданной ранее пиктограммы decrypt action и отпустите кнопку мыши.
  3. Дважды щелкните левой кнопкой мыши на пиктограмме verify для настройки параметров проверки.
  4. В поле name введите WS-Verify-Credential.
  5. В поле Certificates нажмите кнопку + для создания нового сертификата подписчика, который будет использоваться для проверки входящего запроса.
  6. В поле Name for the crypto key введите WS-Verify-Soap-ca.
  7. Нажмите кнопку Upload для выгрузки сертификата проверки.
  8. Выберите параметр File в поле Source.
  9. Выберите или введите имя файла ${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer.
  10. Перейдите в поле Save as и введите имя файла WS-intca2.cer.
  11. Нажмите кнопку Upload (при этом экран Configure Crypto Key закроется).
    Рисунок 10. Окно Configure Crypto Validation Credentials
    Рисунок 10. Окно Configure Crypto Validation Credentials
    Рисунок 10. Окно Configure Crypto Validation Credentials
  12. Убедитесь в том, что в поле Validation Credential выбран только что созданный криптографический ключ (WS-Verify-Soap-ca).
  13. Нажмите кнопку Apply для сохранения настроек.
  14. Перейдите на вкладку Advanced для выполнения дополнительных настроек. Убедитесь в том, что заданы корректные настройки временных отметок. Значение следует выбирать таким образом, чтобы оно учитывало расхождения в системном времени клиента и DataPower плюс сетевые задержки. Установите значение 300.
  15. Нажмите кнопку Done.
    Рисунок 11. Окно Configure Verify Action
    Рисунок 11. Окно Configure Verify Action
    Рисунок 11. Окно Configure Verify Action
  16. Нажмите кнопку Apply для сохранения текущей конфигурации.

Настройка правила преобразования запросов

  1. На вкладке Policy нажмите кнопку (request-rule) для отображения панели настройки правил.
  2. Нажмите левую кнопку мыши на пиктограмме transform, переместите ее в строку после созданной выше пиктограммы transform action и отпустите кнопку мыши.
  3. Дважды щелкните левой кнопкой мыши на пиктограмме transform для настройки параметров проверки.
  4. Выберите dpvar_1 в поле Input. При этом действие transform связывается с потоком обработки, который будет перенаправляться.
  5. В поле Processing Control File выберите месторасположение таблицы XSL-стилей store:/// в первом раскрывающемся меню и таблицу стилей преобразования XSL-документов strip-security-header.xsl во втором раскрывающемся меню.
    Рисунок 12. Окно Configure Transform Action
    Рисунок 12. Окно Configure Transform Action
    Рисунок 12. Окно Configure Transform Action
  6. Нажмите кнопку Done.
  7. Нажмите кнопку Apply для сохранения текущей конфигурации.

Настройка выходных данных запросов

  1. На вкладке Policy нажмите кнопку (request-rule) для отображения панели настройки правил.
  2. Дважды щелкните левой кнопкой мыши на пиктограмме Results в конце настроенных параметров правил.
  3. Убедитесь в том, что в поле Input выбран dpvar_2. При этом настроится поток, который будет направлять запросы сервису на сервере.
  4. Нажмите кнопку Done.
    Рисунок 13. Настройка выходных данных запросов
    Рисунок 13. Настройка выходных данных запросов
    Рисунок 13. Настройка выходных данных запросов
  5. Нажмите кнопку Apply для сохранения текущей конфигурации.

Настройка правила цифровой подписи ответов

  1. На вкладке Policy страницы Configure Web Service Proxy нажмите кнопку (response-rule) для отображения панели настройки правил.
  2. Нажмите левую кнопку мыши на пиктограмме Sign и переместите ее в строку обработки после пиктограммы match action.
  3. Дважды щелкните левой кнопкой мыши на только что перемещенной пиктограмме Sign для настройки параметров действия Sign.
  4. Перейдите на вкладку Advanced.
  5. В поле Envelope Method выберите метод WSSec.
  6. Выберите тип сообщений Selected Elements.
  7. Нажмите кнопку + для создания карты Document Crypto Map.
  8. В новом окне введите имя WS-Sec-Sign-Map.
  9. В поле XPATH Expression введите //*[local-name()='Body'].
  10. Нажмите кнопку Add.
  11. В следующем поле XPATH Expression введите //*[local-name()='Header']/*[local-name()='Action'].
  12. Нажмите кнопку Add.
  13. В следующем поле XPATH Expression введите //*[local-name()='Header']/*[local-name()='RelatesTo'].
  14. Нажмите кнопку Add.
  15. Нажмите кнопку Apply для завершения создания карты Document Crypto Map.
    Рисунок 14. Настройка карты цифровых подписей
    Рисунок 14. Настройка карты цифровых подписей
    Рисунок 14. Настройка карты цифровых подписей
  16. Убедитесь, что в поле Document Crypto Map выбрана только что созданная карта WS-Sec-Sign-Map.
  17. Создайте новый ключ для подписи, нажав кнопку + в поле Key.
  18. Введите название закрытого криптографического ключа, который будет использоваться для цифровой подписи, - WS-dsig-receiver-private.
  19. Нажмите кнопку Upload.
  20. Выберите Java Key Store.
  21. Выберите преобразованный JCEKS-файл dsig-receiver.jceks, как описано выше.
  22. Введите JCEKS в поле Key store type.
  23. В поле Keystore password введите server.
  24. В поле Key to upload введите soapprovider (key).
  25. В поле Key password введите server.
  26. В поле Save-as введите WS-dsig-receiver-soapprovider.pem.
  27. Нажмите кнопку Upload.
    Рисунок 15. Выгрузка ключа цифровой подписи
    Рисунок 15. Выгрузка ключа цифровой подписи
    Рисунок 15. Выгрузка ключа цифровой подписи
  28. Убедитесь в том, что в поле File Name выбрано имя только что выгруженного закрытого ключа.
  29. Нажмите кнопку Apply для завершения настройки.
  30. Создайте новый сертификат для открытого ключа soapprovider, нажав кнопку +.
  31. Введите имя открытого криптографического сертификата - WS-dsig-receiver-public.
  32. Нажмите кнопку Upload.
  33. Выберите Java Key Store.
  34. Выберите преобразованный JCEKS-файл dsig-receiver.jceks, как описано выше.
  35. Введите JCEKS в поле Key store type.
  36. В поле Keystore password введите server.
  37. В поле Certificate to upload выберите soapprovider (certificate).
  38. В поле Key password введите server.
  39. В поле Save-as введите WS-dsig-receiver-soapprovider.cer.
  40. Нажмите кнопку Upload.
    Рисунок 16. Настройка криптографического сертификата цифровой подписи
    Рисунок 16. Настройка криптографического сертификата цифровой подписи
    Рисунок 16. Настройка криптографического сертификата цифровой подписи
  41. Нажмите кнопку Continue.
  42. Убедитесь, что в поле Configure Crypto Certificate выбран только что выгруженный открытый ключ.
    Рисунок 17. Настройка криптографического сертификата цифровой подписи
    Рисунок 17. Настройка криптографического сертификата цифровой подписи
    Рисунок 17. Настройка криптографического сертификата цифровой подписи
  43. Нажмите кнопку Apply для завершения настройки.
  44. Нажмите кнопку Done для завершения настройки действия sign.
    Рисунок 18. Окно Configure Sign Action
    Рисунок 18. Окно Configure Sign Action
    Рисунок 18. Окно Configure Sign Action
  45. Нажмите кнопку Apply для сохранения текущей конфигурации.

Настройка правила шифрования ответа #1

  1. На вкладке Policy нажмите (response-rule) для отображения панели настройки правил.
  2. Нажмите левую кнопку мыши на пиктограмме Encrypt и переместите ее в строку обработки после только что созданной пиктограммы Sign action.
  3. Дважды щелкните левой кнопкой мыши на только что перемещенной пиктограмме Encrypt для настройки параметров действия Encrypt.
  4. В поле Envelope method выберите WSSec Encryption.
  5. В поле Message type выберите Selected Element.
  6. В поле Document Crypto Map нажмите кнопку + для ввода новой карты, которая будет выбирать элементы для шифрования в схеме.
  7. В поле Document Crypto Map введите имя WS-encrypt-map.
  8. В поле XPATH Expression введите //*[local-name()='Signature'].
  9. Нажмите кнопку Add.
  10. Нажмите кнопку Apply для завершения настройки.
    Рисунок 19. Настройка криптографической карты
    Рисунок 19. Настройка криптографической карты
    Рисунок 19. Настройка криптографической карты
  11. Перейдите на вкладку Advance в верхней части экрана Configure Encrypt Action.
  12. В поле Recipient Certificate нажмите кнопку +, чтобы добавить новый сертификат для шифрования подписи.
  13. В поле Crypto Certificate введите имя WS-enc-receiver-publickey.
  14. Нажмите кнопку Upload в поле File Name.
  15. Выберите источник Java Key Store.
  16. Выберите или введите имя файла ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks.
  17. В поле Key store type выберите JCEKS.
  18. В поле Key store password введите storepass.
  19. В поле Key to upload введите alice (certificate).
  20. В поле Key password введите keypass.
  21. В поле Save-as введите имя файла WS-enc-receiver-alice-cert.cer.
  22. Нажмите кнопку Upload.
  23. Убедитесь, что поле File Name указывает на только что выгруженный открытый ключ.
  24. Нажмите кнопку Continue.
  25. Нажмите кнопку Apply, чтобы закрыть панель Configure Crypto Certificate.
  26. В поле Symmetric Encryption Algorithm выберите AES128-CBC.
    Рисунок 20. Настройка сертификата шифрования
    Рисунок 20. Настройка сертификата шифрования
    Рисунок 20. Настройка сертификата шифрования
  27. Нажмите кнопку Done, чтобы закрыть панель Configure Encrypt Action.
  28. Нажмите кнопку Apply для сохранения текущей конфигурации.

Настройка правила шифрования ответа #2

  1. На вкладке Policy нажмите (response-rule) для отображения панели настройки правил.
  2. Нажмите левую кнопку мыши на пиктограмме Encrypt и переместите ее в строку обработки после созданной ранее пиктограммы действия Encrypt.
  3. Дважды щелкните левой кнопкой мыши на только что перемещенной пиктограмме Encrypt для настройки параметров второго действия Encrypt.
  4. Перейдите на вкладку Advance в верхней части экрана Configure Encrypt Action.
  5. В поле Envelope Method выберите WSSec Encryption.
  6. В поле Message Type выберите Soap Message.
  7. В поле Recipient Certificate активируйте раскрывающийся список и выберите ранее созданный сертификат WS-enc-receiver-publickey.
  8. В поле Symmetric Encryption Algorithm выберите AES128-CBC.
  9. Нажмите кнопку Done, чтобы закрыть панель Configure Encrypt Action.
    Рисунок 21. Окно Configure Encryption Action
    Рисунок 21. Окно Configure Encryption Action
    Рисунок 21. Окно Configure Encryption Action
  10. Нажмите кнопку Apply на странице Configure Web Service Proxy для активизации изменений в настройке ответов.
    Рисунок 22. Настройка действия ответа прокси Web-сервисов
    Рисунок 22. Настройка действия ответа прокси Web-сервисов
    Рисунок 22. Настройка действия ответа прокси Web-сервисов
  11. Нажмите кнопку Save Config в правой верхней части экрана для сохранения текущей конфигурации домена.

Удаление политики безопасности Web-сервисов по умолчанию из WebSphere Application Server

Теперь устройство WebSphere DataPower SOA Appliance настроено на выполнение политики безопасности Web-сервиса EchoService по умолчанию. Запросы Web-сервисов будут отправляться из WebSphere DataPower SOA Appliance в сервис WebSphere Application Server в виде открытых SOAP-сообщений. Однако, исходя из ранее выполненных действий по настройке, Web-сервис (EchoService) сервера WebSphere Application Server ожидает подписанные и зашифрованные сообщения. В EchoService необходимо отключить WS-Security, чтобы запрос направлялся в конечную точку сервиса для обработки.

Чтобы отключить WS-Security в EchoService, выполните следующие действия:

  1. В консоли WAS (левая панель) выберите Services->Service providers, а затем выберите EchoService.
    Рисунок 23. Панель Service Providers
    Рисунок 23. Панель Service Providers
    Рисунок 23. Панель Service Providers
  2. Выберите все записи. В меню выберите Detach.
    Рисунок 24. Вложения политик поставщика сервисов
    Рисунок 24. Вложения политик поставщика сервисов
    Рисунок 24. Вложения политик поставщика сервисов
  3. Теперь сервис EchoService настроен на работу без WS-Security.
    Рисунок 25. Вложения политик поставщика сервисов удалены
    Рисунок 25. Вложения политик поставщика сервисов удалены
    Рисунок 25. Вложения политик поставщика сервисов удалены
  4. В верхней части экрана консоли WAS нажмите кнопку Save для сохранения изменений.

Теперь конфигурация готова к работе. Мы можем использовать сервлет Demo, настроенный в первой части данной серии статей, для отправки защищенных сообщений в прокси Web-сервисов WebSphere DataPower SOA Appliance и далее в серверный сервис. Информация по запуску браузера с сервлетом Demo приведена в части 1. Выберите тип отправляемого сообщения в поле Message Type. Введите отправляемую строку в поле Message String. Оставьте в поле Message Count значение по умолчанию. В Service URI можно выбрать IP-адрес, имя хоста и порт сервера приложений, а также порт, в который должно отправляться сообщение. Текст сообщения вернется обратно и отобразится в диалоговом окне под кнопкой Send.

Итоги/заключение

В первой части данной серии статей мы с помощью Rational Application Developer импортировали EAR-файл примера клиента EchoService и настроили его на использование WS-Security. Затем этот пример клиента Web-сервиса был установлен на сервере WebSphere Application Server. Мы установили сервис EchoService и настроили его на использование WS-Security. Для ввода сообщения, отправляемого из клиентского приложения EchoService в Web-сервис EchoService, использовался браузер. Затем это сообщение возвращалось обратно в клиент Web-сервиса.

Перед отправкой сообщения из клиента WS-Security выполняет подписание и шифрование сообщений с использованием асимметричных ключей. После приема сообщения сервером приложений WS-Security использует асимметричные ключи для проверки цифровой подписи и дешифрования сообщения. Затем сообщение отправляется в Web-сервис для обработки. В нашем сценарии сообщение просто повторяется в ответе. WS-Security подписывает ответное сообщение и шифрует его перед отправкой. На стороне клиента WS-Security получает ответ, дешифрует сообщение и проверяет цифровую подпись. Затем сообщение отображается в браузере.

В данной статье серии мы настроили WebSphere DataPower SOA Appliance на выполнение функциональности WS-Security. Мы настроили прокси Web-сервисов таким образом, что он стал конечной точкой Web-сервисов, посредством внешнего обработчика (Front End Handler). Внешний обработчик проверяет соответствие запроса сервиса WSDL-файлу, загруженному в WebSphere DataPower SOA Appliance. Если запрос соответствует настроенному WSDL, WebSphere DataPower SOA Appliance начинает обработку запроса, используя настроенную политику запроса. В данном случае сообщение дешифруется с использованием закрытого ключа пользователя Bob. Затем при помощи открытого ключа soaprequestor проверяется цифровая подпись запроса. После этого выполняется правило преобразования, удаляющее уже обработанные заголовки безопасности. Потом дешифрованный и проверенный на соответствие цифровой подписи запрос направляется для обработки в WebSphere Application Server EchoService. Поскольку WS-Security удалена из сервиса, запрос немедленно обрабатывается логикой сервиса.

Ответ сервиса EchoService направляется в прокси Web-сервисов DataPower, добавляющий указанные атрибуты защиты. При обработке ответа к телу сообщения добавляется цифровая подпись и заголовки с использованием закрытого ключа soapprovider. Затем цифровая подпись шифруется с использованием открытого ключа пользователя Alice. Потом этот же открытый ключ пользователя Alice используется для шифрования сообщения. Прокси Web-сервисов DataPower направляет защищенный ответ по адресу первоначального запроса EchoService.

Таким образом, после настройки WebSphere DataPower SOA Appliance на использование политики обработки WS-Security удостоверения защиты сообщений Web-сервисов можно независимо обрабатывать в WebSphere DataPower SOA Appliance. Таким образом можно повысить скорость обработки удостоверений защиты и значительно повысить масштабируемость и производительность.


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=SOA и web-сервисы, WebSphere
ArticleID=790199
ArticleTitle=Передача функций защиты Web-сервисов на платформе WebSphere устройствам IBM WebSphere DataPower SOA Appliance: Часть 2. Настройка прокси Web-сервисов WebSphere DataPower SOA Appliance для асимметричной защиты WS-Security
publish-date=01302012