Web应用安全配置基线指导
时间:2014-02-22 02:51来源:www.it.net.cn 作者:IT网
本文描述了IT运维人员所维护管理的Web应用服务器应当遵循的安全标准,本文档旨在指导系统管理人员进行Web应用安全基线检查。本文使用者包括:服务器系统管理员、应用程序管理员、网络安全管理员。本文适用的范围为基于B/S架构的Web应用。
第1章 身份与访问控制 1.1 账户锁定策略
安全基线项目名称 |
Web应用账户锁定策略安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-01-01 |
安全基线项说明 |
用户登录失败一定次数后系统自动锁定账号一段时间,以防止暴力猜测密码。 |
检测操作步骤 |
尝试使用错误用户名口令失败登录多次, |
基线符合性判定依据 |
用户登录失败一定次数后系统自动锁定账号。 |
备注 |
|
1.2 登录用图片验证码
安全基线项目名称 |
Web应用登录验证策略安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-02-01 |
安全基线项说明 |
用户登录需提供图片验证码,以防止固定密码暴力猜测账号。 |
检测操作步骤 |
检查登录认证界面输入项,并右键点击图片查看链接属性。 |
基线符合性判定依据 |
要求包含图片验证码输入项,并且图片链接属性不得包含明文图片验证码。 |
备注 |
|
1.3 口令传输
安全基线项目名称 |
Web应用口令传输策略安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-03-01 |
安全基线项说明 |
不能明文传输用户登录密码。 |
检测操作步骤 |
尝试登录系统,并使用抓包工具查看交互过程中在网络传输的内容。 |
基线符合性判定依据 |
要求不得出现明文口令 |
备注 |
|
1.4 保存登录功能
安全基线项目名称 |
Web应用保存登录安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-04-01 |
安全基线项说明 |
不能提供“保存登录”功能,该功能可能被利用于CSRF攻击。 |
检测操作步骤 |
检查登录界面是否提供了保存登录功能 |
基线符合性判定依据 |
不得提供该功能。 |
备注 |
|
1.5 纵向访问控制
安全基线项目名称 |
Web应用纵向访问安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-05-01 |
安全基线项说明 |
合理进行纵向访问控制,不允许普通用户访问管理功能。 |
检测操作步骤 |
了解是否有不允许普通用户访问的功能,尝试直接在浏览器中访问功能链接。 |
基线符合性判定依据 |
用户不得跨权限访问受控页面 |
备注 |
|
1.6 横向访问控制
安全基线项目名称 |
Web应用横向访问安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-06-01 |
安全基线项说明 |
合理进行横向访问控制,不允许用户访问其他用户的敏感数据。 |
检测操作步骤 |
了解是否存在敏感信息,检查是否对个人敏感信息进行了有效保护 |
基线符合性判定依据 |
用户不得跨权限查看其它用户受保护敏感信息 |
备注 |
|
1.7 敏感资源的访问
安全基线项目名称 |
Web应用敏感资源访问安全基线要求项 |
安全基线编号 |
SBL-WebAPP-02-07-01 |
安全基线项说明 |
需要限制对敏感资源的访问,例如后台管理,日志记录等。 |
检测操作步骤 |
检查服务器的文件是否存在敏感资源,测试是否限制了这些资源的访问。 |
基线符合性判定依据 |
对敏感资源的访问应当受控。 |
备注 |
|
第2章 会话管理 2.1 会话超时
安全基线项目名称 |
Web应用会话超时安全基线要求项 |
安全基线编号 |
SBL-WebAPP-03-01-01 |
安全基线项说明 |
当用户长时间不操作时,系统自动终止超时会话。 |
检测操作步骤 |
登录系统后不操作,等待合理的时间间隔。 |
基线符合性判定依据 |
要求预先设计的时间间隔后查看页面自动中止超时会话。 |
备注 |
|
2.2 会话终止
安全基线项目名称 |
Web应用会话终止安全基线要求项 |
安全基线编号 |
SBL-WebAPP-03-02-01 |
安全基线项说明 |
系统需提供“退出”功能,允许用户强制终止当前的会话。 |
检测操作步骤 |
登录系统后点击系统提供的“退出”功能,然后在同一IE窗口下视图回退到登录后的页面,并访问相应的功能 |
基线符合性判定依据 |
点击退出后,上述检测操作结果不成功 |
备注 |
|
2.3 会话标识
安全基线项目名称 |
Web应用会话标识安全基线要求项 |
安全基线编号 |
SBL-WebAPP-03-03-01 |
安全基线项说明 |
会话标识必须足够随机,防止攻击者猜测标识或依据当前标识推导后续的标识。 |
检测操作步骤 |
检查多个会话标识的格式。 |
基线符合性判定依据 |
多个会话标识不得存在简单明了的逻辑关系,要求具有随机性 |
备注 |
|
2.4 会话标识复用
安全基线项目名称 |
Web应用会话标识复用安全基线要求项 |
安全基线编号 |
SBL-WebAPP-03-04-01 |
安全基线项说明 |
用户登录后必须分配新的会话标识,不能继续使用用户未登录前所使用的标识。 |
检测操作步骤 |
检查登录前后是否使用相同的会话标识。 |
基线符合性判定依据 |
用户登录后必须分配新的会话标识,不能继续使用用户未登录前所使用的标识。 |
备注 |
|
第3章 代码质量 3.1 防范跨站脚本攻击
安全基线项目名称 |
Web应用防范跨站脚本安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-01-01 |
安全基线项说明 |
系统要防止将用户输入未经检查就直接输出到用户浏览器,防范跨站脚本攻击。 |
检测操作步骤 |
检查系统是否存在跨站脚本攻击漏洞。例如在能够回显的输入框输入<script>alert(“xss”)</script> |
基线符合性判定依据 |
要求系统能够将输入内容中的控制字当作纯文本内容处理 |
备注 |
|
3.2 防范SQL注入攻击
安全基线项目名称 |
Web应用防范SQL注入安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-02-01 |
安全基线项说明 |
系统要防止将用户输入未经检查就用于构造数据库查询,防范SQL注入攻击。 |
检测操作步骤 |
检查系统是否存在SQL注入漏洞。例如在输入框中输入’ |
基线符合性判定依据 |
系统要使用诸如prepared statement等方式防止SQL注入,将输入内容中的控制字也当作纯文本处理 |
备注 |
|
3.3 防止路径遍历攻击
安全基线项目名称 |
Web应用防范路径遍历安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-03-01 |
安全基线项说明 |
系统要防止将用户输入未经检查就用于构造文件路径,防止路径遍历攻击。 |
检测操作步骤 |
尝试在URL与输入中构造文件路径并查看页面反应 |
基线符合性判定依据 |
不允许通过构造文件路径的方式直接查看文件 |
备注 |
|
3.4 防止命令注入攻击
安全基线项目名称 |
Web应用防范命令注入安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-04-01 |
安全基线项说明 |
系统要防止将用户输入未经检查就用于构造操作系统命令并执行。 |
检测操作步骤 |
尝试在各个输入点进行命令注入攻击 |
基线符合性判定依据 |
命令注入攻击不得成功 |
备注 |
|
3.5 防止其他常见的注入攻击
安全基线项目名称 |
Web应用防范其它注入安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-05-01 |
安全基线项说明 |
防止系统存在LDAP注入、XML注入、XPATH注入、SMTP注入等漏洞。 |
检测操作步骤 |
尝试在各个输入点进行其它常见注入攻击 |
基线符合性判定依据 |
各类注入攻击不得成功 |
备注 |
|
3.6 防止下载敏感资源文件
安全基线项目名称 |
Web应用防范下载漏洞安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-06-01 |
安全基线项说明 |
如果系统提供了下载功能,要防止用户通过路径遍历漏洞下载敏感资源文件。 |
检测操作步骤 |
如果系统提供了下载功能,试图通过路径遍历漏洞下载敏感资源文件。 |
基线符合性判定依据 |
各类下载攻击不得成功 |
备注 |
|
3.7 防止上传后门脚本
安全基线项目名称 |
Web应用防范上传漏洞安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-07-01 |
安全基线项说明 |
如果系统提供了文件上传功能,要防止用户上传后门脚本。 |
检测操作步骤 |
如果系统提供了上传功能,试图通过上传功能上传恶意文件。 |
基线符合性判定依据 |
各类上传攻击不得成功 |
备注 |
|
3.8 保证多线程安全
安全基线项目名称 |
Web应用多线程安全基线要求项 |
安全基线编号 |
SBL-WebAPP-04-08-01 |
安全基线项说明 |
如果系统某资源可被多人同时修改,或被同一用户经过不同的方式同时修改,或被用户线程与系统线程同时修改,需要保证多线程安全。 |
检测操作步骤 |
如果系统存在多线程问题,分析保护多线程访问资源的安全解决方案 |
基线符合性判定依据 |
必须有适当的解决方案 |
备注 |
|
3.9 保证释放资源
安全基线项目名称 |
Web应用释放资源基线要求项 |
安全基线编号 |
SBL-WebAPP-04-09-01 |
安全基线项说明 |
系统需保证在正常与异常流程时都能正确释放不需要的资源,例如打开的文件,数据库连接等。 |
检测操作步骤 |
分析正常与异常流程中资源释放的动作 |
基线符合性判定依据 |
资源释放覆盖所有流程分支 |
备注 |
|
第4章 内容管理 4.1 加密存储敏感信息
安全基线项目名称 |
Web应用加密存储敏感信息基线要求项 |
安全基线编号 |
SBL-WebAPP-05-01-01 |
安全基线项说明 |
系统应当加密存储敏感信息,如密码、信用卡号等。 |
检测操作步骤 |
分析系统中敏感信息的存储与加密 |
基线符合性判定依据 |
要求加密算法安全,对信息有适当访问控制 |
备注 |
|
4.2 避免泄露敏感技术细节
安全基线项目名称 |
Web应用信息泄漏基线要求项 |
安全基线编号 |
SBL-WebAPP-05-02-01 |
安全基线项说明 |
系统应当避免向用户提示过多的技术细节,防止被攻击者利用。例如错误信息中可能包含SQL语句,这有利于攻击者构造合法的攻击字串;又如Html中可能包含了技术性的注释语句,可能被攻击者利用。 |
检测操作步骤 |
分析各个页面的源码,查看提示页面,尤其是出错提示页面 |
基线符合性判定依据 |
各个页面不得包含技术性注释,各个提示页面不得包含Web服务器版本、源代码等信息 |
备注 |
|
第5章 防钓鱼与防垃圾邮件 5.1 防钓鱼
安全基线项目名称 |
Web应用重定向基线要求项 |
安全基线编号 |
SBL-WebAPP-06-01-01 |
安全基线项说明 |
系统应当避免通过用户控制的参数来重定向或包含另外一个网站的内容。 |
检测操作步骤 |
分析系统存在任意重定向或包含其它网站内容的控制 |
基线符合性判定依据 |
不得由用户控制的参数生成重定向 |
备注 |
|
5.2 防垃圾邮件
安全基线项目名称 |
Web应用垃圾邮件基线要求项 |
安全基线编号 |
SBL-WebAPP-06-02-01 |
安全基线项说明 |
如果系统提供了发送邮件的功能,应当防止被利用于发送垃圾邮件。 |
检测操作步骤 |
检查系统发送邮件功能 |
基线符合性判定依据 |
不得存在滥用此功能的可能 |
备注 |
|
第6章 密码算法 6.1 安全算法
安全基线项目名称 |
Web应用安全算法基线要求项 |
安全基线编号 |
SBL-WebAPP-07-01-01 |
安全基线项说明 |
如果系统采用了密码算法,应当采用安全的密码算法,且符合算法的应用场景。 |
检测操作步骤 |
检查所有系统中使用的安全算法 |
基线符合性判定依据 |
不得使用已经被证明为不安全的算法或者自定义不安全算法 |
备注 |
|
6.2 密钥管理
安全基线项目名称 |
Web应用密钥管理基线要求项 |
安全基线编号 |
SBL-WebAPP-07-02-01 |
安全基线项说明 |
如果系统采用了密码算法,且拥有密钥,那么应当有文档化的密钥管理办法并严格遵照执行。 |
检测操作步骤 |
检查所有系统中使用的密钥管理 |
基线符合性判定依据 |
不得使用不安全的密钥管理办法 |
备注 |
|
(责任编辑:IT) |
------分隔线----------------------------