我正在设计一个应用程序,用户将能够通过 Web 界面远程登录和使用。
安全性是最重要的(想想信用卡和个人银行业务类型信息)——所以我需要确保我已经确定了安全方面——HARD。
我打算通过传统(有状态)网页以及 Web 服务来提供应用程序功能。
对于它的价值,我打算使用 web2py 作为我的 Web 应用程序框架。
是否有一份我可以遵循的指导方针清单,以确保我涵盖了所有领域?
我正在设计一个应用程序,用户将能够通过 Web 界面远程登录和使用。
安全性是最重要的(想想信用卡和个人银行业务类型信息)——所以我需要确保我已经确定了安全方面——HARD。
我打算通过传统(有状态)网页以及 Web 服务来提供应用程序功能。
对于它的价值,我打算使用 web2py 作为我的 Web 应用程序框架。
是否有一份我可以遵循的指导方针清单,以确保我涵盖了所有领域?
一站式购物: https ://www.owasp.org/index.php/Main_Page
阅读并牢记每一个建议。
到目前为止,您最大的威胁是编写在您的 Web 应用程序层中引入漏洞的服务器端 Web 应用程序代码。这不是您可以检查的清单。对于初学者,请确保您对 OWASP 前十名中的项目 100% 满意,并了解如何安全地针对它们进行编码。如果您不是 Web 应用程序漏洞方面的专家,强烈考虑聘请帮助审查 Web 层的人员。至少,我会考虑联系一家安全测试公司来执行某种形式的渗透测试,最好是使用代码审查组件。
如果您曾经对信用卡数据进行过任何操作,则需要遵守 PCI DSS,这将需要至少每季度由经批准的扫描供应商进行远程测试。
你至少应该考虑以下几点:
验证。让用户以某种方式登录。他们使用哪种身份验证方法取决于您的目标是提供什么
隐私。确保他们发送的信息只对他们和您的应用程序可见,而不是窃听者。
在最简单的情况下,SSL 可以同时处理上述两个问题。它将始终提供加密,但也可用于身份验证或至少使一些简单的身份验证机制更安全。要看的一件事是 ssl 的安全性。ssl 很容易受到中间人的攻击,特别是当用户已经与他们的雇主建立信任关系时——他们可以继续安装一个实际上是 mim 的 ssl 网关。
这实际上取决于您使用的技术。
这是一个非常开放的问题。从法律上讲,这很少(从不?)使用,所以它取决于......例如用户请求操作的签名日志可能就足够了。