来源:自学PHP网 时间:2015-04-17 15:08 作者: 阅读:次
[导读] 本模块内容Web 应用程序为结构设计人员、设计人员和开发人员提出了一系列复杂的安全问题。最安全、最有能力抵御攻击的 Web 应用程序是那些应用安全思想构建的应用程序。在设计初...
本模块内容Web 应用程序为结构设计人员、设计人员和开发人员提出了一系列复杂的安全问题。最安全、最有能力抵御攻击的 Web 应用程序是那些应用安全思想构建的应用程序。 在设计初始阶段,应该使用可靠的体系结构和设计方法,同时要结合考虑程序部署以及企业的安全策略。如果不能做到这一点,将导致在现有基础结构上部署应用程序时,要不可避免地危及安全性。 本模块提供了一系列安全的体系结构和设计指南,并按照常见的应用程序漏洞类别进行了组织。这些指南是 Web 应用程序安全的重要方面,并且是经常发生错误的领域。 目标使用本模块可以实现:
适用范围虽然本模块内容包含在 ASP.NET 安全手册中,但其适用于对开发安全 Web 应用程序感兴趣的所有人员。 如何使用本模块本模块主要提供了设计应用程序时应该遵循的一些指南和原则。 为了充分理解本模块内容,请:
Web 应用程序的体系结构和设计问题Web 应用程序向设计人员和开发人员提出了许多挑战。HTTP 是无国界的,这意味着跟踪每位用户的会话状态将成为应用程序的责任。作为先导者,应用程序必须能够通过某种形式的身份验证来识别用户。由于所有后续授权决策都要基于用户的标识,因此,身份验证过程必须是安全的,同样必须很好地保护用于跟踪已验证用户的会话处理机制。设计安全的身份验证和会话管理机制仅仅是 Web 应用程序设计人员和开发人员所面临的众多问题中的两个方面。由于输入和输出数据要在公共网络上进行传输,因此还会存在其他挑战。防止参数操作和敏感数据泄漏是另外一些重要问题。 图 4.1 列出了安全设计方法中必须解决的其他重要问题。 图 4.1 本模块中的设计指南是根据应用程序漏洞类别进行组织的。实际经验表明,如果这些领域的设计存在薄弱环节,将会导致安全漏洞。表 4.1 列出了漏洞的类别,每个类别都突出显示了由于设计不当可能会导致的潜在问题。 表 4.1:由于设计不当导致的 Web 应用程序漏洞及潜在问题
部署考虑在应用程序设计阶段,应考虑公司安全策略和程序,以及部署应用程序的基础结构。通常,目标环境是固定不变的,应用程序的设计必须要反映这些限制条件。有时需要折衷考虑设计方案,例如,由于存在协议和端口限制,或是特定部署拓扑结构的要求。要在设计初期确定存在哪些限制条件,以避免日后在开发过程中出现意外;另外,应邀请网络和基础结构工作组的成员参与此过程。 图 4.2 显示了需在程序设计阶段考虑的几个程序部署问题。 图 4.2 安全策略和程序安全策略确定允许应用程序及其用户执行哪些操作。更重要的是,安全策略定义了一些限制,以确定不允许应用程序及其用户执行哪些操作。设计应用程序时,应在公司安全策略定义的框架内进行标识和工作,以确保您没有违反防止部署应用程序的策略。 网络基础结构组件确保您了解目标环境提供的网络结构,并了解网络的基本安全要求,如筛选规则、端口限制、支持的协议等等。 确定防火墙和防火墙策略可能会如何影响应用程序的设计和部署。在面向 Internet 的应用程序和内部网络之间可能存在防火墙将其隔开。也许还存在用于保护数据库的其他防火墙。这些防火墙影响了可用的通信端口,因此会影响 Web 服务器到远程应用程序和数据库服务器的身份验证选项。例如,Windows 身份验证需要附加端口。 在设计阶段,需要考虑允许哪些协议、端口和服务从外围网络中的 Web 服务器访问内部资源。还应确定应用程序设计所需的协议和端口,并分析打开新端口或使用新协议会带来哪些潜在威胁。 交流并记录所有有关网络和应用层安全的设想,以及哪些组件将处理哪些问题。这样,当开发人员和网络管理人员都认为对方会解决安全问题时,可以防止安全控制失败。注意网络为应用程序提供的安全防范措施。设想如果更改网络设置,可能会带来哪些安全隐患。如果实现特定的网络结构更改,将会出现多少安 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com