2013-05-03 4 views
4

Мой первый пост здесь! Я хотел получить некоторую помощь сообщества по безопасности веб-сервисов.Безопасность веб-сервисов (REST & SOAP)

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

Таким образом, я выбрал какое-то реальное решение для удовлетворения этих потребностей, для SOAP на основе веб-служб:

  • идентификации: WS-Security Framework
  • Аутентификация: Extensible Access Control Markup Language (XACML)
  • Авторизация
    • Ext ensible права Markup Language (XrML)
    • XML Key Management (XKMS)
    • Security Assertion Markup Language (SAML)
    • .NET Passport
  • Confidentialité
    • WS-Security Framework
    • XML-шифрование
    • Уровень защищенных сокетов (SSL)
    • WSS

И почти все из них являются осуществимыми с помощью пружинного безопасности

С другой стороны RESTful веб-сервисов, имеющих репутацию быть менее безопасным. Основываясь на веб-SSL/TLS является отличным решением для шифрования, но и другие протоколы безопасности существуют как:

  • OAuth: используется Facebook, Twitter, без обмена жетонов
  • OpenID: используется Google
  • CAS
  • LDAP, Kerberos
  • Persona, BrowerID

Другим решением может стать интеграция безопасности на предприятии шины как служба (Безопасность как услуга).

Итак, мой вопрос: есть ли какие-либо другие решения, о которых я должен знать? есть ли какие-либо другие рамки?

спасибо

+0

предыдущее сообщение должно помочь вам http://stackoverflow.com/questions/853620/secure-web-services-rest-over-https-vs-soap-ws-security-which-is-better – AurA

ответ

4

Просто добавив одну точку в том, что в отношении успокоительные разработчики WebServices могут использовать, обеспеченная контейнером сервлетов Tomcat. Это можно выполнить с помощью конфигурации realm в server.xml и tomcat-users.xml. Конфигурация здесь ->http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html

И лучше всего подходит для проверки подлинности на основе форм. ref: http://www.onjava.com/pub/a/onjava/2001/08/06/webform.html?page=2

+0

Я бы например, проверка подлинности на основе форм обычно является плохим выбором для API REST или SOAP (которые обычно являются безстоящими). –

1

Если вы хотите больше контролировать безопасность веб-служб REST, тогда вы можете подумать о реализации собственной аутентификации и RBAC (управление доступом на основе ролей). Просто возьмите имя пользователя и пароль с каждым запросом в заголовке поверх HTTPS и реализуйте RBAC на своем уровне REST Webservice. Вы можете в основном добавить фильтры Servlet для проверки подлинности и авторизации до того, как запрос действительно будет передан веб-службе.

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

Смежные вопросы