Учебники

Веб-сервисы — безопасность

Безопасность имеет решающее значение для веб-служб. Однако ни спецификации XML-RPC, ни SOAP не предъявляют никаких явных требований к безопасности или аутентификации.

Есть три конкретных проблемы безопасности с веб-сервисами —

  • конфиденциальность
  • Аутентификация
  • Сетевая безопасность

конфиденциальность

Если клиент отправляет запрос XML на сервер, можем ли мы гарантировать, что связь остается конфиденциальной?

Ответ лежит здесь —

  • XML-RPC и SOAP работают в основном поверх HTTP.
  • HTTP поддерживает Secure Sockets Layer (SSL).
  • Связь может быть зашифрована через SSL.
  • SSL является проверенной и широко распространенной технологией.

Один веб-сервис может состоять из цепочки приложений. Например, один большой сервис может связать воедино сервисы трех других приложений. В этом случае SSL не подходит; сообщения должны быть зашифрованы на каждом узле вдоль пути обслуживания, и каждый узел представляет собой потенциально слабое звено в цепочке. В настоящее время не существует согласованного решения этой проблемы, но одним из многообещающих решений является стандарт шифрования XML W3C. Этот стандарт обеспечивает основу для шифрования и дешифрования целых XML-документов или только частей XML-документа. Вы можете проверить это на www.w3.org/Encryption

Аутентификация

Если клиент подключается к веб-сервису, как мы идентифицируем пользователя? Пользователь имеет право использовать сервис?

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

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

  • Цифровая подпись SOAP (SOAP-DSIG) использует криптографию с открытым ключом для цифровой подписи сообщений SOAP. Это позволяет клиенту или серверу проверять личность другой стороны. Проверьте это на www.w3.org/TR/SOAP-dsig .

  • Организация по продвижению стандартов структурированной информации (OASIS) работает над языком разметки утверждений безопасности (SAML).

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

Цифровая подпись SOAP (SOAP-DSIG) использует криптографию с открытым ключом для цифровой подписи сообщений SOAP. Это позволяет клиенту или серверу проверять личность другой стороны. Проверьте это на www.w3.org/TR/SOAP-dsig .

Организация по продвижению стандартов структурированной информации (OASIS) работает над языком разметки утверждений безопасности (SAML).

Сетевая безопасность

В настоящее время нет простого ответа на эту проблему, и он был предметом многочисленных споров. На данный момент, если вы действительно хотите отфильтровать сообщения SOAP или XML-RPC, одна из возможностей — отфильтровать все запросы HTTP POST, в которых для их типа содержимого установлено значение text / xml.

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