`
springlys
  • 浏览: 6425 次
  • 性别: Icon_minigender_1
  • 来自: 福州
最近访客 更多访客>>
社区版块
存档分类
最新评论

WEB系统安全架构需注意的问题

 
阅读更多

顺便先提一下所谓当前流行的WEB架构。在网络架构方面,目前流行的趋势和以前传统的门户网站采用七层交换,或者四层交换集中式部署做负载均衡不同,比较倾向于在物理位置上做分布式节点,通过智能DNS引导用户就近访问。这些CDN节点,有的是实际的WEB服务器,但是大多数可能只是一些Squid或者 Nginx之类的反向代理。这样做的好处第一是有更好的用户体验,第二是在拒绝服务攻击时,也有更灵活的应对方式。

鉴于系统分布式部署的趋势,因此在编码方面,也就开始流行刺提到过的Restful风格。所谓Restful风格,本质来说,就是客户端自己维持自己的状态,而且服务端信任这个客户端维持的状态。根据从客户端获取到的不同的状态,返回不同的页面。这里尽量的减少了服务端的判断等工作,让客户端对WEB系统的依赖性减轻,服务端做的仅仅是根据状态返回结果,并且在需要时为服务器设置一个新的状态,即所谓状态变迁。这点和P2P的去中心化有些类似,客户端不太在意自己连接到了哪一个服务器上面,只要自己维持着自己的状态,连接到WEB系统的任意一个服务器得到的结果都是一样的。目前流行的做法,就是不适用 session仅仅使用cookie,当然使用数据库session也是可以的。但是我觉得尽量把这些事情给客户端去做更好,减少数据库服务器的维护成本和故障风险,去中心化彻底一些。

目前这种分布式缓存节点大量使用,以及客户端自己维持状态的架构的流行,带来的两个安全风险就是敏感内容缓存的风险,以及客户端状态窃取或伪造的风险,而且前所未有的突出。

关于客户端维护的状态检验以及反窃取,关键点在于对cookie的加密算法强度以及完整性检验可靠度。在客户端状态被窃取时降低风险,我提到过cookie加入时间戳的方案,这个在刺的文章里有很详细的探讨,包后后面很多评论。

 

关于用户退出以及反窃取这里,再提一点。使用Session的方案,用户退出时在服务端销毁Session即可。即使有人盗取了cookie,使用 cookie里面保存的sessionid做刷新也是无效的,因为session实体已经在服务器上不存在了。新的无session方案中,这方面实现起来会麻烦一些。我的看法是,需要一个数据库记录用户的注销状态。当用户退出时,清空用户的cookie,同时在数据库中写入该用户已经登陆,下次不再使用 cookie认证,强制要求输入密码登陆。这样解决了cookie被盗取但是没超时的情况下,用户退出被盗取的cookie也不失效的问题。可惜的是这样又加上了一个数据库,那么结合起来看,把Session存入一个集中的数据库,在部署上并不比单纯的使用cookie差多少。

敏感内容缓存风险,主要是指用户A访问CDN上某个节点的时候,查看了一些包含自身信息在内的页面,而WEB系统在缓存方面没有做到足够的安全性,可能会导致这些敏感信息被用户B无意中看到。虽然缓存服务器可能不会缓存这些内容,但是随着缓存接点的急剧扩张,小几率的问题也会逐渐放大。就这个问题而言,可以在缓存服务器和代码两个点中的任意一个采取措施。虽然可以通过配置代理服务器策略保证安全,但是一般来说,防御应该是多层的,立体的,必须在代码中对缓存作出明确的控制。因为对于安全来说,需要尽可能的在不安全的环境中的保证系统的安全。代码中不做安全控制,这次部署的缓存系统是安全的,下次部署的缓存系统则可能出现疏忽。更何况,其他第三方无法控制的缓存服务器。

WEB系统中对缓存的控制,在RFC2616中14.9节有详细的描述。主要有public,private,no-cache,no-store等选项,具体描述可以仔细阅读RFC文档。值得一说的是no-cache和no-store的区别,no-store是比no-cache更严格的控制,按照 RFC原文:Even when this directive is associated with a response, users might explicitly store such a response outside of the caching system (e.g., with a "Save As" dialog).

总的来说,这种流行的架构看重分布式部署,和客户端状态维持,因此在架构中,更需要考虑缓存的安全以及客户端cookie的安全。在编码之初,就要关注到这些问题,到后期再改,就会来不及了

 

本文出自:http://laoxiege.blog.sohu.com/110867388.html

分享到:
评论

相关推荐

    Web应用安全:web系统的应用架构.pptx

    Web系统的应用架构 1、负载分配层 这里所说的负载分配层,是单指利用软件实现的计算机系统上的狭义负载均衡。一个大型(日PV一亿+)、中型(日PV一千万+)Web业务系统,是不可能只有一个业务处理服务,而是多台...

    WEB系统安全开发和改造规范

    WEB安全,WEB安全规划,WEB安全架构,网站架构,网站改造,网站安全治理,web安全开发

    基于Microsoft证书服务的Web应用程序安全架构

    随着Internet与Web技术的发展,大量应用系统已经采用基于Web...基于特定的工程实践,本文给出了一个具有可操作性的基于Microsoft证书服务体系的Web应用安全架构,该架构可用于主流Web应用系统中的信息安全设计与实施。

    软件系统架构设计说明书模板

    系统总体架构图: - 1 - 本系统采用四层架构设计 - 2 - 一、展现层 - 2 - Web前端 - 2 - 二、通讯层 - 2 - 三、服务层 - 3 - 四、数据层 - 4 - 其他系统: - 4 - 1、认证系统: - 4 - 2、日志系统: - 7 - 3、会话...

    Web安全基础入门+信息收集篇培训视频.rar

    WEB安全架构分析及思路拓展wmv Web安全渗适测试基础入门篇001,ppt WEB燝破口令工目实现原理解析wmv WEB名个架构信息探针补充wmv WEB名个架构信息探针实战Wm WEB目录文件扫描工具实现原理解析wmv WEB伪造数据包进行...

    「web安全」内网路由劫持谁之过 - 基础架构安全.zip

    「web安全」内网路由劫持谁之过 - 基础架构安全 数据安全 APT 系统安全 WEB应用防火墙 开发安全

    系统架构师备考知识点梳理

    四、信息系统安全性 (一)信息系统面临的安全威胁 (三)授权侵犯 五、软件设计模式 (一)MVC (三)什么是面向服务架构(SOA)以及ESB(企业服务总线)在SOA中的作用与特点 (四)系统安全保证措施 ...... 选择...

    软考高级-系统架构师论文范文50篇(含完整目录)

    1.包含系统架构师论文范文50篇 2.pdf格式,里面有整理好的书签,方便查阅 适用人群: 1.本书书适合参加本级别考试的考生和大学在校生作为教材 2.通过系统架构师考试的考生可以获得由人力资源和社会保障部、工业和...

    大型分布式网站架构设计与实践

    《大型分布式网站架构设计与实践》主要介绍了大型分布式网站架构所涉及的一些技术细节,包括SOA架构的实现、互联网安全架构、构建分布式网站所依赖的基础设施、系统稳定性保障和海量数据分析等内容;深入地讲述了...

    移动Web操作系统安全综述.pdf

    移动Web操作系统安全综述 漏洞挖掘 信息安全研究 信息安全研究 威胁情报 安全体系

    主动安全网络架构设计.pdf

    主动安全网络架构设计 安全架构系统安全 云安全 网络信息安全 web安全

    架构探险——从零开始写Java Web框架 绝对完整!强烈推荐

    《架构探险——从零开始写Java Web框架》首先从一个简单的 Web 应用开始,让读者学会如何使用IDEA、Maven、Git等开发工具搭建 Java Web 应用;接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求...

    Web商务安全设计与开发宝典——涵盖电子商务与移动商务

    本书从整体和微观的角度解释了分析和理解系统安全的必要步骤,定义了风险驱动的安全、保护机制和如何最好地部署这些机制,提出了以一种可用的和对用户友好的方式来实施安全的方式方法。所有主题都是电子商务,但它们...

    大型网站技术架构:核心原理与案例分析

    8 固若金汤:网站的安全架构 第3篇 案例 9 淘宝网的架构演化案例分析 10 维基百科的高性能架构设计分析 11 海量分布式存储系统Doris的高可用架构设计分析 12 网购秒杀系统架构设计案例分析 13 大型网站典型...

    「安全架构」数据保护伞-大数据平台的分类分级、脱敏与审计工具 - 安全架构.zip

    「安全架构」数据保护伞-大数据平台的分类分级、脱敏与审计工具 - 安全架构 系统安全 风险评估 访问管理 web安全 数据治理

    架构探险 从零开始写Java Web框架.pdf

    让读者学会如何使用IDEA、Maven Git等开发工具搭建Java web应用:接着通过一个简单的应用场景,为该Web应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该Web应用,完善相关细节,并对已有代码进行...

    2009系统架构师大会PPT:郑爽:梭子鱼WEB应用防火墙解决方案

    2009系统架构师大会ppt 系统监控、安全专场——郑爽:梭子鱼WEB应用防火墙解决方案 (若要下载大会其他部分,点击 标签“2009系统架构师大会”,即可看到)

    Web服务器安全管理.pptx

    您是否了解 IIS 6.0 基础架构 了解如何保护IIS Web服务器安全、防范攻击以及优化IIS Web服务器的技巧、实践与工具 Web服务器安全管理全文共50页,当前为第4页。 内容安排 IIS 6.0 基础架构 Web Services 面对的主要...

    Web 服务世界的安全性:提议的体系架构和 指南英

    本文描述了为解决 Web 服务环境中的安全性问题而提议的策略。它定义了一个 全面的 Web 服务安全性模型,这个模型通过使各种系统能够安全地以一种与平台 和语言无关的方式进行互操作来支持、集成和统一几个流行的安全...

    详解:Web应用程序中的字符集攻击 PPT

    曾发现php,mysql,IE,以及国内外主流WEB程序的漏洞,现研究对WEB应用程序漏洞挖掘,WEB应用程序代码审核,WEB黑盒安全测试,WEB安全架构研究以及客户端WEB安全等等。 点评: 2008 xKungfoo 峰会上的一篇论文PPT

Global site tag (gtag.js) - Google Analytics