我希望公开一个Web服务,可以被多个客户端调用以检索事务数据。每个调用客户端将检索不同的数据子集。
我们在Websphere 7中托管Web服务 - 外部Web服务本质上是在ESB平台上运行的真实WS的代理。
目前我有以下安全措施:
1)在标题(plantext)中发送的WS-Security用户名/密码。这是针对我们的自定义存储库进行身份验证的(存储库在其他地方使用并且已经过安全测试)。
2)HTTPS
3)通过防火墙限制呼叫IP
4)有效负载数据使用客户端公钥进行PGP加密
这是否“足够”?我很确定有效载荷数据是安全的,但我不完全确定访问机制是否100%安全?我们正在使用IBM Websphere内置的#1。
答案 0 :(得分:4)
好吧,当您使用 HTTPS 时,您不必担心以纯文本格式发送密码。因此,只要您的身份验证正常工作(您说repo经过安全测试),这就非常安全了。
此外,您使用 PGP 加密了有效负载,这非常安全 - 至少只要所有各方都能按照所需的处理方式处理其密钥。
- >您所描述的内容对我来说听起来相当可靠,特别是PGP的异步加密基本上是不可攻击的(除非您考虑社交工程)。
也许是最后的想法(但我想你不需要这个建议):
我不了解Websphere,但在其他应用程序服务器或ESB(例如JBoss)中,默认情况下会激活一些管理工具,这些工具可以通过网络免费访问(只需谷歌 / jmx-console ...)。确保使用密码保护密码或在需要时停用密码。
答案 1 :(得分:1)
对我来说绰绰有余。我能想到的另一件事就是使用临时密码。有关详细信息,请参阅RSA
答案 2 :(得分:1)
服务返回的数据子集是否链接到经过身份验证的客户端标识,或者是由传入的参数确定的返回数据集?