软件(安全)

阅读更多
 

     双赢网安全实施方案

Version: 0.1

 

 

 

 

 

 

 

 

 

 

发布记录

版本

日期

作者

说明

0.1

2007-4-11

mol. Abraham

第一版初级构思

0.2

2007-4-12

mol

增加Acegi的说明

03

2007-4-18

mol

URL重写、 SysLog

 

 

 

 

 


 

1.   关于本文档

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

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

 

本文档中涉及的JAASAcegi等的相关内容请参阅相关资料或文档。

 

 

2.   环境准备

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

 

应用系统开发环境要求如下:

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

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

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

W         系统架构采用 webwork spring ejb hibernate

3.   安全特性:

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

 

 

3.1.  硬件安全

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

 

3.2.  硬件部件

1.         /后台硬件防火墙;

2.         2台服务器------备用服务器;

3.         机房-宽带

4.         系统Enterprice Red Hat 4 Linux

5.         杀毒服务器 软件防火墙(可不要)

6.         Oracle 数据库

7.         WebLogic10g

 

 

 

3.3.  软件安全

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

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

3.4软件的中间件/组件选择:

  1) 数据库层:oracle9i
  2)
容器:

  免费版本 1tomcat 2:jboss

      商业版本 1:weblogic 2:webshpere

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

可以考虑使用glassfish

4.   硬件安全:

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

4.1.  硬件拓扑图

4.2.  硬件图

5.   软件安全

5.1.  软件方面的安全隐患与部分解决方案

1、         操作系统-----

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

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

 

2、         第三方组件的缺陷

     我们的系统不可能从零做起。

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

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

 

3、         页面另存修改后,提交

4、         跳过浏览器的JS验证

5、         基于状态的攻击-----隐藏域----改成无意义的字段

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

 

6、         CGI----参数暴露在URL

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

 

7、         URL的跳转

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

--------对用户的访问拦截做校验

 

8、         破坏Cookie

 

Cookie的不安全性 至今没有很好的解决办法

-------一般的电子商务网都是不负责任的去使用

解决办法: 1)cookie对称性加---acegi中有 或用DOJO

           2HTTPS传输

对称性加密不好

9、         注入非法的数据或命令

一般的注入 3种:

1)    Sql  ----拼写符合DB关键字的语法

2)    Pro  ---存储过程

3)    Shell  ----操作系统命令

-------------------我们的框架已经能很好的处理这个问题

10、    数据库角色安全:

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

root ----mysql

Sa -------sql server

Sys system ----oracle

禁止使用上述角色提供给web user使用。

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

你可能感兴趣的:(Acegi,F#,Oracle,防火墙,Linux)