摘自:http://netsecurity.51cto.com/art/201402/428709.htm

对于任何一个项目,开始阶段对于交付安全的应用来说非常关键。适当的安全要求会导致正确的安全设计。下面讨论在分析Web应用程序的安全要求时需要考虑的八大问题。

1、认证和口令管理:这主要是一种一次性的活动而且仅仅是作为项目的一部分而完成的。有人可能会问一些与认证和口令管理有关的问题:

◆口令策略:这个问题非常重要的原因在于避免与用户凭据有关的字典攻击。

◆口令哈希算法:确保通过适当的加密算法来加密口令也非常重要。

◆口令重置机制:为了避免黑客修改或截获口令,重置机制非常关键。

2、认证和角色管理:在分析项目的安全问题时,要确认所有的关键功能,并确认哪些人可以获得授权访问这些功能。这样做有助于确认各种不同的角色,并可以使访问控制到位。

3、审计日志记录。询问并确认所有与已经发生的攻击有关的所有关键业务是很重要的,这是因为这些攻击对企业的会产生重大影响。企业应当能够分析与这些业务有关的审计日志记录。

4、第三方组件分析。询问并分析一下企业是否必须使用第三方的组件也是一个重要问题。在此基础上,企业分析与这些组件有关的已知漏洞,并做出恰当的建议。

5、输入数据验证和净化。询问并理解和分析输入数据的属性,并为数据的验证和净化做好计划是很重要的。这种操作主要与解决跨站脚本攻击这类漏洞有关。数据验证和净化还有助于避免SQL注入的大规模发生。

6、加密和密钥管理。这是为了分析是否存在需要保证其安全的业务,并且这些业务是否需要握手机制(在处理业务之前,可使用多种与公钥或私钥的交换有关的多种技术来实施这种机制)。

7、源代码的完整性:这是一种一次性的活动,并且要求在项目的开始阶段完成。这样做有助于如下两个方面:

源代码应当存放在一个有良好安全保障的控制仓库中,并且在遵循“最少特权”的原则前提下,有强健的认证和基于角色的访问控制。你还应当关注关于源代码库和相关工具的问题。

此外,在代码的开发及传输过程中,你还可以分析关于源代码容器的工具问题以及代码的保护问题。

8、源代码的管理。讨论源代码的审查策略是一个关键问题,因为这种做法会要求自动化的和人工的代码检查问题,并且在一定程度上会影响总体的项目时间(要求进行代码检查时间和针对检查意见的修复时间)。这是一种一次性的活动,因而应当在项目的开始阶段完成。

Web应用程序安全必须重视八大问题的更多相关文章

  1. 为什么移动Web应用程序很慢(译)

    前些日子,看到Herb Sutter在自己的博客中推荐了一篇文章<Why mobile web apps are slow>,在推荐里他这样写道: “I don’t often link ...

  2. [转]为什么移动Web 应用程序很慢

    原文出处: Herb Sutter   译文出处: tangzhnju 我写过不少文章来讨论为什么移动Web应用程序很慢,这也引起了不少的讨论.但是不幸的是,这些讨论没有像我喜欢的那样的基于事实. 所 ...

  3. 在Web开发方面Java跟PHp八大对比

    在Web开发方面Java跟PHp八大对比 <本文摘自百度经验,用来简单对比一下这两种语言> 一. 语言比较 PHP是解释执行的服务器脚本语言,首先php有简单容易上手的特点.语法和c语言比 ...

  4. Building Modern Web Apps-构建现代的 Web 应用程序

    Building Modern Web Apps-构建现代的 Web 应用程序 视频长度:1 小时左右 视频作者:Scott Hunter 和 Scott Hanselman 视频背景:Visual ...

  5. Microsoft Graph Web应用程序极致开发体验

    作者:陈希章 重写于 2017年5月24日 前言 这篇文章最早写于2017年5月2日,当时的想法是从最简单的方式来写如何在一个ASP.NET MVC应用程序中集成Microsoft Graph,但实际 ...

  6. 用 Sencha Touch 构建移动 web 应用程序

    Sencha Touch 是一个使用 HTML5.CSS3 和 JavaScript 语言构建的移动 web 应用程序框架,在本文中,学习如何应用您当前的 web 开发技能进行移动 web 开发.下载 ...

  7. ASP.NET Core 中文文档 第二章 指南(3)用 Visual Studio 发布一个 Azure 云 Web 应用程序

    原文:Getting Started 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘).刘怡(AlexLEWIS).何镇汐 设置开发环境 安装最新版本的 Azure S ...

  8. vs2012 发布web应用程序

    Visual Studio 2012 Visual Studio Express 2012 for Web 与 的Visual Studio 2010  Visual Studio Web发布更新 与 ...

  9. web应用程序

    1.web应用程序和网站的区别 应用程序有两种模式C/S.B/S.C/S是客户端/服务器端程序,也就是说这类程序一般独立运行.而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来 ...

随机推荐

  1. Hadoop MapReduce编程 API入门系列之mr编程快捷键活用技巧详解(四)

    1.Shift + Alt + S Hadoop没有使用jdk自带的默认序列化机制. 现在呢,hadoop-2.*里有两套序列化机制.一个是自己hadoop的序列化机制,一个是谷歌的. 所以,要改为. ...

  2. hdoj 1234 开门人和关门人

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) #include ...

  3. 射频识别技术漫谈(3)——能量、调制【worldsing 笔记】

    无源和免接触是非接触式IC卡相对于接触式IC卡的两大特点.无源是指卡片上没有电源,免接触是指对卡片的读写操作不必和读写器接触.非接触式智能卡也是IC卡,而卡上的IC即集成电路工作时肯定是需要电源的,卡 ...

  4. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  5. fastjson使用示例

    一.fastjson 一款Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser.包括 ...

  6. 【转】Netty那点事(一)概述

    [原文https://github.com/code4craft/netty-learning/blob/master/posts/ch1-overview.md#%E5%90%88%E5%BC%80 ...

  7. python(6)

    python(6) 6.1 面向对象编程:OOP相信学过编程的就会了解它有多重要了.当然c什么的就算了 实际上面向对象就是把对象拥有的数据和方法封装在对象里面,由对象调用.    面向对象最重要的是类 ...

  8. unity3D中协程和线程混合

    这是我google unity3D一个问题偶然发现的在stackflow上非常有趣的帖子: 大意是 要在unity3D上从server下载一个zip,并解压到持久化地址.并将其载入到内存中.以下展示了 ...

  9. iOS开发——总结篇&IOS开发基础知识

    IOS开发基础知识 1:Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id) 对象在运行时获取其类型的能力称为内省.内省可以有多种方法实现. 判断 ...

  10. java复习1 java简单介绍

    在学校的时候.学JAVA学的模棱两可,半知半解.工作以后给我带来了非常大的困扰,所以我须要在学一遍.如今就開始吧... . java[1]是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Su ...