SI-安全编程规范.docx
《SI-安全编程规范.docx》由会员分享,可在线阅读,更多相关《SI-安全编程规范.docx(15页珍藏版)》请在课桌文档上搜索。
1、安全编程规范文档状态I攵档Jtt号:S【安全於程奴范草稿已发布(修改中%热KffiIIWh保密is别:文档版本:文档控制:版本历史日期版本说明作者保密等级定义公开资料0内部资料口保密资料口机密资料1背景32现苞概述33实现目标34册范约定35安全规范31.1.1 安全编码总则31.1.2 确定WEB应用程序体系结构安全31.1.3 计安全的身份险证和会话管理机制41.1.4 制定应用程序输入验证策略71.1.5 对敏感侑息进行加密91.1.6 防止参数触收91.1.7 设计审计策略101.1.8 SqI注入诅洞101.1.9 XSS湾站脚本漏洞121.1.背景随药电力公司对信息安全的进一步加强
2、,要求我们部署的系统必须满足安全扫描要求。本文档描述了明达公司WEB开发安全端程规范.1.2 规范概述本规范从应用开发安全管理要求出发,给出了编码安全的具体要求,供明达公司系统内部使用,适用于所有项目建设工作.本规冠明确定义了WEB开发中的编码安全相关的技术细节.1.3 实现目标通过采用安全的体系架构、设计安全的身份验证和会话管理机制、制定应用程序询入验证策略、故适信息加密、参数篡改策略、审计彼略实现用户对资源的合法访问、保障数捌的完整性、保密性,防控多数非法算改、注入攻击、信息泄露,达到系统安全检定运行目的,1.4 规范约定1/HHU1234文档中的【规范】指明达公司WEB开发安全编程规范;
3、【示例内容】中的条目是【规则内容】中相应条目的示例解决方案;【规则内容】中的【必须】指任何系统具招且必须参照强制执行的功能规范:【规则内容】中的【能膨】指任何系统应当具备,但是可不媪用的功能规范:1.5 安全规范3.1.1 安全编码总则1、小心、认真、细致的编程:2.程序只实现你指定的功能:3、永不要信任用户输入,对用尸怆入数据做有效性检查:%必须考虑总外情况并进行处理;5、不要试图在发现错误之后继续执行;6,使用安全函数进行编程:7、所有函数加入错误处埋,旦展示页面不允许暴露错误详细信息.3.1.2 承定WEB应用程序体系结构安全【规则目的】实现项目开发的根基安全.【规则内容】1) 项目必须
4、采用公司分发的程序架构进行项目开发:2) 项目应采用发高且检定的程序架构及开发工具进行软件开发;3) NET新项目采用VS2010开发工具,.NET4Q框架4) F1.EX新项目采用AdobeF1.ashBui1.der5.0开发工具5) JAVA新项目采用公司架构6) 其他语言参照语言规范执行【示例内容】无【补充说明】1) 开发工具及框架请参考具体语古编码规范执行:2) 架构打全安全补丁:3) 1.3设计安全的身份验证和会话管理机制【规则目的】实现用户身份的有效鉴别、安全访问及资源的有效控制。【规则内容】1)系统应能够强制用户在初始登录时修改分发的初始口令:2)系统能够修改用户诙码;3)系统
5、应能的对用户口令的长度、复杂度、最长使刖时间、历史曳狂次数M性进行限制.并对已经过期的口令进行提示更改:4)系统应能够对用户连续鉴别失败(口令拙误)的行为进行检测,禁止其第续尝试赞录;5)系统应能好根据用户的访问时间、客户端地址园性进行登录系统限制;6)系统超级管理员、系统管埋员、安全审计管理员不应具有业务系统权限:7)系统应能好实现会话超时中断功能,会话超时时自动返回登录窗口:8)系统应能够限制单个用户的多重并发,能够实现一个用户只允许同时在个客户端上登录到系统中:(实现方法有待商椎,可初媛实现9)系统应能够对地大并发会话连接效迸行限制:10) 系统必须在所有页面中加入SeSSion判断功能
6、,防止越权访问:【示例内容】1) 在user表中加入登录次数记录字段判断是否首次登录.t_sys_user表中加入i1.ginCount数字型)。表示首次登录,登录完成后置1.2)加入修改依码功能:权限管理:1)用户密码历史表:-Createtab1.eCreatetab1.e1.SYS_USERS_PDHIS(spdhis-idVarChar2(32),s1.ogin_idvarchar2(32),spasswordvarchar2(32)rddatedate-Addcommentstotheco1.umnscommentonco1.umnT_SYS_USERS_PDHIS.spdhi$Jd
7、S,D;commentonCo1.UmnT_SYS_USERS_PDHIS.s1.cinJdis登录名称;commentonco1.umnT_SYS_USERS_PDHIS.spasswordis登录密码;commentonCO1.UmnT_SYS_USER$_PDH1.S.ddate密码修改日期,;在公共编码我中设置1.SyS-XICS表增加记录如下:1 密码长度62 密码复杂度强3 诙码有效期204 密码历史不重笈次数55 密码失败允许次数56 密码领定时间33)密码最后修改时间在t_sys_u$ers衣中增加d1.astUpdatePass日期里,密码最后修改时间应用系统及权限管理均增加
8、客户地密码长度验证、复杂度、历史密码存储:4)系统记录失败次数和锁定时间:在t_sys_users表中增加I1.oginFaiICount数字刎。(失败计数),增加!1.oginFai1.TIme时间里。应用系统登录成功后及时清除失败计数。5)解决方案:(1) 用户访问时间:字段有:有效起始11期,失效11期工作时段:周几至周几时间段:时到时(2) 是否IPHy止绑定属性用户表(tsgUSers增加如卜字段:iBeginWeek数字型从周几iEndWeek数字型到周几iBeginHour数字型从时IEndHour数字型到几时S1.sBandIP字符型(,是,否)是否绑定IP(3)在登录系统时进
9、行相应判断6)超缎管理员不应具有业务权限,且管理员间用户不能为同一用户.7) 当SeSSiOn超时后,自动返回登录宿口;8)登录时,根据在城用户进行相应判断,限制单个用户的多重并发(实现方法有待商椎,可哲级实现力9)对在线用户数进行登记,并判断用户在线故盘是否超过阀伯:10)可通过建立基类负面.总体判断SeSSion权限及过期:【补充说明】T_$YS_USERS增加字段:i1.o3ncountnumberY登录次数(是否首次)D1.astupdatepassdatey最后修改密码时间I1.OG1.NFAt1.COUNTNUMBERY登录失败计数I1.ocinfai1.timedateY笠录失败
10、时间Ibeginweeknumbery开始周IENDWEEKNUMBERY结束周IBEGINHOURNUMBERY开始时间IENDHOURNUMBERY结束时间SISBANDIPVARCHAR2(4)YT_SYS_XTSZ增加记录是否启用IP绑定1 密码长度62 密码熨杂度强3 密码有效期204 密眄历史不理更次数5S密码失败允许次数S6密码锁定时间37朵大并发数埴1.0增加密码历史记录表(修改密码小证用)Createtab1.ecreatetab1.eT-,SYS-SERS.PDHISspdhisjdVarChar2(32),s1.ogin-idvarchar2(32),SpasswordV
11、arChar2(32),ddatedate-Addcommentstotheco1.umnscommentonco1.umnT_SYS_USERS_PDHIS.spdhisJdisW;commentonco1.umnT,SYS-USERSPDHIS.s1.ogi-,1.dis登录名价;commentonco1.umnT_SYS_USERS_PDHIS.spasswordis登录密码;commentonco1.umnT_SYS_USERS_PDHIS.ddate$密码修改日期;一3.1.4 制定应用程序输入验证策略【规则目的】实现数据的完整性、有效性,防止注入攻击:实现数据输出的合法性,防止跨站
12、脚本攻击。【规则内容】1)不要相信用户的任何输入,必须对用户输入内容全部i三行有效过浊,对于含有可能帝来危险的字符进行过港.字符包括:|&;$%O+1.FCF,-.空格.or,and,.script,document,eva1.,request进行过激对于.NET必须对VieWState进行加密处理.方法见【示例内容】:2)禁止网页传输SQ1.语句、连接字符串等与数据库相关内容:3)系统必须对上传下载的文件类型诳行验证,防控上传下我任点类型的文件:4)系统所有打印输出内容,采用使编码输出.ESAPI.encoder().encodeForHTM1.(deanComment);即告诉浏览器作为数
13、据输出而不是Htm1.元数据输出。【示例内容】D编写必要的通用函数.对输入字符率进行过谑:对于提交的数字型、H期里可单独后代验证:对于多文本框可根据需要更改通用函数以进行必要过泄:预防类似:StringSq1.=se1.ectfromuserswhereUSemarne=+Iogin1.ext+;IogIn.Text=1or1=1”类似的SQ1.注入攻击。对于.net可参考如下示例代码,java等沿古可参照执行:在页面中加入如下函数.可实现全面的安全验证:/对于含有可能带来危险的字符进行过滤.字符包括:S%2)+1.FCF,-zor,andcript,document,eva1.request
14、t行过沌,/对于有特殊含义的分隔符用户自行编写程序过注/HIIIIpub1.icstringgetSafeStr1.ng(objectobjStr)(strings三stri11g.Empty;if(objStrnu1.1.)returnm;e1.se(s=Convert-TbString(ObjStr);S=S-RepIaceCI,*).Rep1.ace(&e,).Rep1.ace(;,).Rep1.ace(Sz);s=s.Rep1.ace(%J.Rep1.aceC,).Rep1.ace(r).Rep1.ace(,);ss.Rep1.ace(r).Rep1.ace(,).Rep1.ace()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SI 安全 编程 规范
链接地址:https://www.desk33.com/p-1793662.html