【问题标题】:Making A Webservice Secure使 Web 服务安全
【发布时间】:2010-08-17 20:01:14
【问题描述】:

我正在整理我的 Iphone 应用程序。我只是担心我们的网络服务器级别的安全性。数据正在通过网络服务被拉到 iPhone 应用程序中。

我可以对 Web 服务采取哪些安全措施,以免受到攻击?

谢谢

【问题讨论】:

  • 我添加了 iPhone 标签,以便有 iPhone 经验的人可以分享一些有关 iPhone 上允许的安全功能的信息。
  • @Ladislav - 这超出了问题的范围。这是针对网络服务的。应针对 iPhone 的安全功能提出一个单独的问题。
  • @Kyle:我不同意。如果您想编写 iPhone 客户端使用的 Web 服务,您必须知道哪些安全功能可以轻松应用于客户端平台。我可以轻松开发您无法在 iPhone 上使用的安全服务。此外,我还看到很多针对在 iPhone 上使用 WS-Security 消费服务的问题。
  • @Ladislav - 奇怪,但公平。将重新添加标签,但我仍然觉得他们的 iPhone 安全功能值得自己质疑。

标签: .net iphone web-services security


【解决方案1】:

几点建议:

  • 使用RSA signed XML 验证来自 Web 服务的所有请求
  • 确保所有内容都通过SSL 传输
  • 加密所有数据流量。我建议查看DUKPT 密钥管理系统,使用AES 加密。
  • 使用WCF - 毕竟这是最新的标准(也是this
  • 使用某种 Web 服务身份验证。这可以像每个需要用户名和密码才能有效的请求一样简单。这将减慢直接调用尝试的速度,并且如果您正确加密,您将不必使用纯 XML 格式的用户名和密码。
  • 最重要的是确保服务器本身是安全的。如果有人破解了服务器,你就死定了,别管你还能做什么。

编辑:

查看this question 了解 iPhone 与 .NET AES 的互操作性。

【讨论】:

  • 是否有标准加密。我的意思是在服务器的 .net 级别加密而不是在苹果 iphone 级别在 xcode 中解密?希望这不是一个愚蠢的问题。
  • @Tricky - 基本上你必须看看。 AES 是一个标准,所以 iPhone 应该能够支持它。
  • 您可能会受到 iPhone 方面的限制。
  • 哇,所以您建议实施 2 种形式的加密和 2 种形式的身份验证,但您没有提及诸如 sql 注入之类的漏洞。很抱歉,这篇文章已经结束了工程失败。
  • @Kyle Rozendo 我真的不能争论太多,老实说 https 确实有问题。这个黑帽谈话真好:thoughtcrime.org/software/sslstrip
【解决方案2】:

如果您不使用 Web 服务负载来实现身份验证,则可以使用普通 HTTP 身份验证、SSL 来保护您的服务。你也是服务器端程序员吗?

【讨论】:

    【解决方案3】:

    如果您的 WCF 服务不安全,那么您在 WCF 服务上“放置”什么并不重要。您必须假设攻击者可以在没有 iPhone 客户端的情况下访问您的 Web 服务。您的 Web 服务是否容易受到 sql 注入的影响?您是否公开了可能允许攻击者读取您服务器上的文件或更改其他用户帐户的令人讨厌的功能?请记住OWASP Injection flaws。使用 HTTPS 保护您的客户端免受信息泄露。其余的应该确保您公开的功能是安全的。

    攻击者将能够找到您尝试存储在您的 iPhone 二进制文件或内存中的任何密钥或密码。攻击者对 iPhone 的控制权比你多,他可以越狱设备,然后无处可藏。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 2020-11-29
      • 2014-07-02
      • 1970-01-01
      相关资源
      最近更新 更多