双赢网安全实施方案<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>
本文档是开发双赢网系统确保系统安全的一个初级文档,在以后的编码实现和上线运行后还要做进一步的修改。此文档的目的就是在系统编码实现前,为以后系统在安全扩展方面留一定余地。<o:p></o:p>
本文档提供给所有开发人员阅读,包括:系统构架、设计人员、编程开发人员、界面开发人员。<o:p></o:p>
<o:p> </o:p>
本文档中涉及的JAAS、Acegi等的相关内容请参阅相关资料或文档。<o:p></o:p>
<o:p> </o:p>
<o:p> </o:p>
本系统主要采用java ee进行开发,3D模特生成由其他相关开发人员进行开发,在此仅仅讨论java ee的安全。<o:p></o:p>
<o:p> </o:p>
应用系统开发环境要求如下:<o:p></o:p>
W JDK:JDK1.5。使用Sun提供的JDK,不建议使用ibm等公司的JDK,采用IBM等公司的特殊产品除外。<o:p></o:p>
W J2EE Server:可以使用任何一个符合J2EE 1.5规范的JAVA EE Server,要求至少提供:Web Container、EJB Container、JNDI、JTA、DataSource。使用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>
免费版本 1:tomcat 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>
2)HTTPS传输<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
分享到:
相关推荐
内容含DevSecOps参考设计指南、软件安全构建成熟度模型、DevSecOps企业实践、Javascript编码安全指南、JAVA代码审计、软件保证成熟度模型、威胁建模、PHP代码审计、阿里Java开发手册、DevSecOps最佳实践、安全编码...
【太原理工大学软件安全技术实验】是一系列针对软件安全的教学实践,涵盖了漏洞分析、SQL注入、登录页面需求分析和正则表达式编写等关键主题。实验旨在帮助学生掌握软件安全技术,特别是针对软件开发中的安全问题...
软件安全开发的知识域包括软件安全开发生命周期、软件安全实现、软件安全测试、软件安全需求及设计等几个方面。软件安全开发生命周期是指软件开发过程中的每个阶段,例如需求分析、设计、编码、测试和维护等阶段。...
### 信息安全技术应用软件安全编程指南 #### 一、引言与背景 随着信息技术的快速发展,应用软件在各个领域扮演着越来越重要的角色。然而,软件中存在的安全漏洞也日益成为不容忽视的问题。为了确保软件产品的安全...
### 软件安全开发框架(SSDF)详解 #### 一、引言 随着信息技术的飞速发展,软件安全成为越来越重要的议题。为了确保软件产品的安全性,美国国家标准与技术研究院(National Institute of Standards and Technology,...
《GJB_102A-2012 军用软件安全性设计指南》是针对军事领域软件开发的重要规范,旨在确保军用软件在设计、开发、测试和维护过程中的安全性和可靠性。这份指南是中国军事标准(GJB,国家军用标准)的一部分,对军事...
【软件安全开发生命周期概述】 软件安全开发生命周期(Security Development Lifecycle, SDL)是一种系统性的方法,旨在将安全措施融入软件开发的整个过程中,以确保软件在设计、开发、测试和部署阶段都充分考虑到...
《软件安全:安全代码原则与实践》一书由Mark G. Graff和Kenneth R. van Wyk共同撰写,由O'Reilly出版社于2003年6月出版,ISBN为0-596-00242-4,全书共224页。该书深入探讨了软件安全问题,特别是从设计、实施、测试...
新版《信息安全技术-移动智能终端应用软件安全技术要求和测试评价方法》征求意见稿-编制说明.doc.pdf新版《信息安全技术-移动智能终端应用软件安全技术要求和测试评价方法》征求意见稿-编制说明.doc.pdf新版《信息...
《软件安全实现:安全编程技术》是一本图书,全书共分为16章,针对安全编程技术进行讲解,主要涵盖了基本安全编程、应用安全编程、数据保护编程以及其他内容共四大部分:第一部分包含内存安全、线程/进程安全、异常/...
中国移动移动智能终端软件安全测试规范 本规范主要针对移动智能终端软件的安全测试,旨在确保移动智能终端软件的安全性和可靠性。以下是从该规范中提取的相关知识点: 1. 移动智能终端软件安全测试的重要性:移动...
《软件安全性测试》 在信息化社会中,软件的安全性已经成为我们关注的重要焦点。软件安全性测试是一种专门用于评估软件产品在面临各种威胁时的防御能力,确保软件在设计、开发、运行过程中不会因为潜在的安全漏洞而...
【标题】"北邮-软件安全"所涉及的知识点涵盖了软件开发过程中的多个关键领域,主要关注如何确保软件系统的安全性,防止恶意攻击、数据泄露以及系统漏洞等问题。软件安全不仅涉及编程技术,还包含了安全策略、风险...
### 软件安全实现与安全编程技术 在当今数字化时代,软件安全变得越来越重要。随着互联网技术的发展和应用范围的不断扩大,各种形式的安全威胁也日益增多,这使得软件安全成为了一个不可忽视的问题。《软件安全实现...
《软件安全》杂志是看雪软件安全论坛创办的一份电子杂志,内容主要侧重软件安全方面原创性的期刊,为安全技术同行提供学术交流平台。《软件安全》创刊于2006年10月,由于一些原因,致使杂志工作一度暂停,2007年底己...
软件安全测试报告.pdf
### 智能卡嵌入式软件安全技术要求解析 #### 一、标准编制背景与原则 《智能卡嵌入式软件安全技术要求》标准的编制背景源于国家信息安全标准体系的构建需求,旨在响应《关于加强信息安全保障工作的意见》的精神,...
在信息技术飞速发展的今天,网络安全和软件安全开发已经成为了信息安全领域的两大核心问题。随着网络安全威胁日益严峻,如何在网络安全体系下培养能够进行软件安全开发的人才,成为业界和学术界关注的焦点。下面详细...
### 软件安全原理知识点总结 #### 一、软件安全防御 软件安全防御的核心在于理解和应用各种防御机制,以确保软件在面对攻击时能够保持稳定性和安全性。 1. **软件安全基本原理**:首先需要了解软件安全的基础概念...