`
duobin3000
  • 浏览: 99928 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

软件(安全)

阅读更多
 

     双赢网安全实施方案<o:p></o:p>

Version: 0.1<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p></o:p>

<o:p> </o:p>

发布记录<o:p></o:p>

版本<o:p></o:p>

日期<o:p></o:p>

作者<o:p></o:p>

说明<o:p></o:p>

0.1<o:p></o:p>

<st1:chsdate w:st="on" isrocdate="False" year="2007" day="11" islunardate="False" month="4">2007-4-11</st1:chsdate><o:p></o:p>

mol. Abraham<o:p></o:p>

第一版初级构思<o:p></o:p>

0.2<o:p></o:p>

<st1:chsdate w:st="on" isrocdate="False" year="2007" day="12" islunardate="False" month="4">2007-4-12</st1:chsdate> <o:p></o:p>

mol<o:p></o:p>

增加Acegi的说明<o:p></o:p>

03<o:p></o:p>

<st1:chsdate w:st="on" isrocdate="False" year="2007" day="18" islunardate="False" month="4">2007-4-18</st1:chsdate><o:p></o:p>

mol<o:p></o:p>

URL重写、 SysLog<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>


<o:p> </o:p>

1.   关于本文档<o:p></o:p>

本文档是开发双赢网系统确保系统安全的一个初级文档,在以后的编码实现和上线运行后还要做进一步的修改。此文档的目的就是在系统编码实现前,为以后系统在安全扩展方面留一定余地。<o:p></o:p>

本文档提供给所有开发人员阅读,包括:系统构架、设计人员、编程开发人员、界面开发人员。<o:p></o:p>

<o:p> </o:p>

本文档中涉及的JAASAcegi等的相关内容请参阅相关资料或文档。<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

2.   环境准备<o:p></o:p>

本系统主要采用java ee进行开发,3D模特生成由其他相关开发人员进行开发,在此仅仅讨论java ee的安全。<o:p></o:p>

<o:p> </o:p>

应用系统开发环境要求如下:<o:p></o:p>

W         JDKJDK1.5。使用Sun提供的JDK,不建议使用ibm等公司的JDK,采用IBM等公司的特殊产品除外。<o:p></o:p>

W         J2EE Server:可以使用任何一个符合J2EE 1.5规范的JAVA EE Server,要求至少提供:Web ContainerEJB ContainerJNDIJTADataSource。使用JBoss-4作为部署、运行环境。<o:p></o:p>

W         DB:采用ORACLE9I ,在性能,安全方面比同类数据库来的更优秀,但也对公司技术人员有了进一步的要求:oracle的管理来的比较复杂。<o:p></o:p>

W         系统架构采用 webwork spring ejb hibernate <o:p></o:p>

3.   安全特性:<o:p></o:p>

安全分:1.硬件安全   2.软件安全

<o:p> </o:p>

<o:p> </o:p>

3.1.  硬件安全<o:p></o:p>

   硬件安全主要是采用硬件防火墙, 见图

<v:shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" o:extrusionok="f" gradientshapeok="t"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 244.5pt; HEIGHT: 225.75pt" type="#_x0000_t75"><v:imagedata o:title="{5923FF1C-1264-48E0-BE7B-68BACB322489}" src="file:///C:\DOCUME~1\User\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape>

<o:p> </o:p>

3.2.  硬件部件<o:p></o:p>

1.         /后台硬件防火墙;<o:p></o:p>

2.         2台服务器------备用服务器;<o:p></o:p>

3.         机房-宽带<o:p></o:p>

4.         系统Enterprice Red Hat 4 Linux <o:p></o:p>

5.         杀毒服务器 软件防火墙(可不要)<o:p></o:p>

6.         Oracle 数据库<o:p></o:p>

7.         WebLogic<st1:chmetcnv w:st="on" tcsc="0" unitname="g" sourcevalue="10" numbertype="1" negative="False" hasspace="False">10g</st1:chmetcnv> <o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

3.3.  软件安全<o:p></o:p>

安全只能说是相对的,在目前的软件开发安全方面,总是彼长此浮。只能在一定范围能限制一定的用户的破坏,现在看以前的安全漏洞,现在新的开发技术已经能很好的克制,但是目前不还是有很多黑客嘛

我们的安全肯定是不能防范顶级破坏人员,只能让我们的技术人员在不断的工作学习过程中和他们较量吧,呵呵!

3.4软件的中间件/组件选择:<o:p></o:p>

  1) 数据库层:oracle9i
  2)
容器:<o:p></o:p>

  免费版本 1tomcat 2:jboss<o:p></o:p>

      商业版本 1:weblogic 2:webshpere<o:p></o:p>

       如果公司资金允许的话 建议使用web logic

可以考虑使用glassfish

4.   硬件安全:<o:p></o:p>

对硬件的安全,我这里就不作说明了,改天找个专门的人员给讲解一下!人选已经找到,时间待定!<o:p></o:p>

4.1.  硬件拓扑图<o:p></o:p>

4.2.  硬件图<o:p></o:p>

5.   软件安全<o:p></o:p>

5.1.  软件方面的安全隐患与部分解决方案<o:p></o:p>

1、         操作系统-----<o:p></o:p>

      软件运行的操作系统,就存在着一定的安全隐患,我们的系统运行其上,定会受到攻击。<o:p></o:p>

      对于这个问题,我们只能不端的升级系统,打补丁。采用隐患较小的linux/unix系统比较妥当些<o:p></o:p>

<o:p> </o:p>

2、         第三方组件的缺陷<o:p></o:p>

     我们的系统不可能从零做起。<o:p></o:p>

     Java ee也不推荐重复发明轮子的做法,我们在开发业务系统的时候,都是采用第三方的开源或者商业的组件、中间件来辅助/加快我们的开发速度。但是这些第三方组件不是完美的,都存在着一定的问题,恶意用户就会利用这些组件来攻击我们的业务系统。<o:p></o:p>

   对此,我们能做的就是在选用第三方组件的时候,考虑周全,避免存在重大漏洞的组件被选用。<o:p></o:p>

<o:p> </o:p>

3、         页面另存修改后,提交<o:p></o:p>

4、         跳过浏览器的JS验证<o:p></o:p>

5、         基于状态的攻击-----隐藏域----改成无意义的字段<o:p></o:p>

对于以上的攻击方法,就是在服务器端,进一步做验证,防止非法的数据进入后台数据库等<o:p></o:p>

<o:p> </o:p>

6、         CGI----参数暴露在URL<o:p></o:p>

     一般的做法是用户target来屏蔽,但是也难免会通过另存 查看源文件来找到;<o:p></o:p>

<o:p> </o:p>

7、         URL的跳转<o:p></o:p>

HTTP是个无状态的协议,可以通过URL去访问受保护的资源。<o:p></o:p>

--------对用户的访问拦截做校验<o:p></o:p>

<o:p> </o:p>

8、         破坏Cookie <o:p></o:p>

<o:p> </o:p>

Cookie的不安全性 至今没有很好的解决办法<o:p></o:p>

-------一般的电子商务网都是不负责任的去使用<o:p></o:p>

解决办法: 1)cookie对称性加---acegi中有 或用DOJO<o:p></o:p>

           2HTTPS传输<o:p></o:p>

对称性加密不好<o:p></o:p>

9、         注入非法的数据或命令<o:p></o:p>

一般的注入 3种:<o:p></o:p>

1)    Sql  ----拼写符合DB关键字的语法<o:p></o:p>

2)    Pro  ---存储过程<o:p></o:p>

3)    Shell  ----操作系统命令<o:p></o:p>

-------------------我们的框架已经能很好的处理这个问题<o:p></o:p>

10、    数据库角色安全:<o:p></o:p>

  给不同的用户分派不同的数据库权限 ,同时把不必要的函数及存储过程删除。<o:p></o:p>

root ----mysql <o:p></o:p>

Sa -------sql server<o:p></o:p>

Sys system ----oracle<o:p></o:p>

禁止使用上述角色提供给web user使用。<o:p></o:p>

在对安全有很高限制的地方,我们应该提供视图 供用户操作,不提供基础数据库表。<o:p></o:p>

<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-f

分享到:
评论
1 楼 duobin3000 2007-04-21  
不全 下次补上

相关推荐

Global site tag (gtag.js) - Google Analytics