外网应用安全要求,请填写下表

外部基础安全防护功能管控域
服务器分区域部署

WEB服务器与核心应用服务器、数据库服务器应采用分区域部署方式,WEB服务器部署在DMZ区域,核心应用服务器及数据库服务器应部署在核心生产区域
应用系统外连其他外部系统,应单独部署接口机。
参照操作系统安全配置基线手册进行操作系统配置
参照数据库安全配置基线手册进行数据库相关配置
应用系统自身安全功能管控域
禁止明文传输用户登录信息及身份凭证,采用ssl加密隧道确保用户密码的传输安全
采用单向散列值在数据库中存储用户密码,在生成散列值的过程中加入随机值
使用强密码,密码长度至少8位,必须包括数字、字母(区分大小写)以及“! # & $”等特殊符号
短信密码有效时间不超过15分钟,请求间隔不少于60秒
认证失败时,错误提示信息不应区分账号还是密码错误
采用图形验证码增强身份认证安全
图形验证码至少4位,随机生成且包含字母和数字组合,经过一定的噪点和扭曲干扰
系统应限制连续登录失败次数,在客户端多次尝试失败后,服务器端应对账号进行短时锁定,且锁定策略支持配置解锁时长
如果使用基于邮件的重设,只将临时链接或密码发送到预先注册的邮件地址
临时密码和链接应该有一个短暂的有效期
再次使用临时密码时强制修改临时密码
验证新密码不能和以前密码一致
密码重设和更改操作需要和账户创建以及身份验证同等控制等级
除了那些特定设为“公开”的内容以外,对所有的网页和资源要求身份验证
未经授权的用户试图访问受限资源时,系统应提示用户登录或拒绝访问

服务器端实现对系统内受限资源的访问控制,禁止仅在客户端实现访问控制
后台管理采用黑名单或白名单方式对访问的来源IP地址进行限制
采用统一的访问控制机制,保证整体访问控制策略的一致性;同时应确保访问控制策略不被非法修改
合理处理大并发量HTTP请求
用户认证成功后,为用户创建新的会话并释放原有会话,创建的会话凭证应满足随机性和长度要求
会话与IP地址绑定
登录成功后所生成的会话数据应存储在服务器端
更新会话数据时,对数据进行严格的输入验证
用户登录信息及身份凭证应加密后进行传输
设置Secure属性,是浏览器只在通过HTTPS的安全通道发送时才加入Cookie
Cookie的Domain属性禁止设置太松散
Cookie中path属性禁止设置太松散
COOKIE管理代码中,必须确保COOKIE中未存放用户敏感信息,如密码或密码散列值等
更新会话数据时,对数据进行严格的输入验证
禁止通过HTTP GET方式传输会话凭证
在web应用系统的各个页面提供用户登出功能,注销服务器的会话数据
登录状态的用户直接关闭浏览器时,提示用户执行安全登出或者自动为用户提供登出功能,确保会话的安全终止
限制单一用户或设备在一段时间内可以执行的事务数量
设置合理的会话存活时间,超过该时间后销毁会话
在涉及到关键业务操作的Web页面,应为当前Web页面生成一次性随机令牌,作为主会话凭证的补充

在执行关键业务前,检查用户提交的一次性随机令牌,确保其与服务器端保存的一次性随机令牌匹配
所有来源不在可信范围之内的输入数据,必须进行输入验证。数据源包括:GET数据和POST数据,不可信来源的文件、第三方接口数据、数据库数据
采用多种验证方法,比如:类型、长度、符合期望的数值范围、特殊字符、白名单检查
服务端和客户端都进行输入验证
建立统一的验证接口,为整个系统提供统一的验证方法
对输入内容进行规范化处理后再进行验证,如:文件路径、URL地址等,应规范化为标准的格式再进行验证
应当从服务器端提取关键参数,禁止从客户端输入,例如:商品价格、用户角色、鉴权标志等
支持严格数据类型验证的参数化查询方式(如prepareStatement),使查询和数据分离
数据库SQL语句中的来自于不可信任范围内的输入参数进行验证
禁止在应用程序代码和配置文件明文存放数据库连接账号和密码信息
应对数据库操作的返回数据进行验证,确保其格式正确,内容符合预期
对于数据库查询操作,如果查询返回的结果较多时,必须设计成分次提取
应按照“最小化原则”为应用程序分配数据库访问权限

阅读时间:5 分钟
浏览量:次

