摘自: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. 如何用Java编写一段代码引发内存泄露

    本文来自StackOverflow问答网站的一个热门讨论:如何用Java编写一段会发生内存泄露的代码. Q:刚才我参加了面试,面试官问我如何写出会发生内存泄露的Java代码.这个问题我一点思路都没有, ...

  2. ACCESS-类型转换函数

    类型转换涵数: 函数   返回类型   expression   参数范围   CBool     Boolean   任何有效的字符串或数值表达式.   CByte     Byte   0   至 ...

  3. [OC Foundation框架 - 18] Class

    使用Class来创建实例 // 18.通过@"Ball"创建一个Ball实例(不可以使用[[Ball alloc] init]创建) NSString *className = @ ...

  4. [Objective-c 基础 - 1.2] OC的基本类

    #import <Foundation/Foundation.h> typedef enum {GenderMan, GenderFemale} Gender; typedef enum ...

  5. hql查询技巧

    要擅于利用对象之间映射的集合去查与其关联的对象,而不是直接在dao层重新写查询的方法,其实,hibernate正是对复杂查询的一种解放,既然有现成的东西,何必再去闭门造车,而且造出来的还是个旧车. 查 ...

  6. C#基础知识回顾-- 反射(1)

    C#基础知识回顾-- 反射(1)   反射(reflection)是一种允许用户获得类型信息的C#特性.术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象.对Type对象进行查询可以 ...

  7. python会什么比c慢

    众所周知,python执行速度比c慢.原因为何? 先来看下面这张图: python的传统运行执行模式:录入的源代码转换为字节码,之后字节码在python虚拟机中运行.代码自动被编译,之后再解释成机器码 ...

  8. Centos中安装vim

    Centos, 默认没有安装VIM, 所以要当然要安装了, 直接yum install vim是不行的, 首先: yum install vim* 会看到vim-enhanced这个包,没错, 我们要 ...

  9. java并行调度框架封装及演示样例

    參考资料:  阿里巴巴开源项目 CobarClient  源代码实现. 分享作者:闫建忠 分享时间:2014年5月7日 ---------------------------------------- ...

  10. cocos2d-x3.1.1 step by step 学习笔记1----- 软件的安装与HelloWord

    1:软件安装 系统:WIn7 软件:VS2012.cocosd-x3.1.1.python2.6.7.doxygen <1>首先安装VS2012,安装也是傻瓜式安装, <2>然 ...