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

Существует три специфических проблемы безопасности с веб-службами:

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

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

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

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

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

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

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

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

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

  • HTTP включает встроенную поддержку аутентификации Basic и Digest, поэтому службы могут быть защищены таким же образом, как и в настоящее время защищенные HTML-документы.
  • Цифровая подпись SOAP (SOAP-DSIG) использует криптографию с открытым ключом для цифровой подписи сообщений SOAP. Он позволяет клиенту или серверу проверять личность другой стороны. Проверьте его на http://www.w3.org/TR/SOAP-dsig.
  • Организация по внедрению стандартов структурированной информации (OASIS) работает над языком разметки безопасности (SAML).

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

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

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


Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!




Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
Ok