《中国电信号百综合数据平台数据信息安全解决方案.doc》由会员分享,可在线阅读,更多相关《中国电信号百综合数据平台数据信息安全解决方案.doc(24页珍藏版)》请在三一办公上搜索。
1、号百各平台数据信息安全解决方案2009-4-8翁清顺目录1.1 概述31.2 系统级安全与策略31.2.1 实施VPN策略41.2.2 高效配置防火墙41.3 网络层安全与策略41.3.1 严格设置防火墙:51.3.2 其他安全策略:51.4 数据信息安全与策略61.4.1 首先介绍下网络蜘蛛爬虫原理:71.4.2 正则表达式(正则表达式介绍,请见附件中)91.4.3 解决方案一:在系统根目录下配置robots.txt文件91.4.4 解决方案二:用户密码登录+图片验证码认证登陆系统91.4.5 解决方案三:采用动态不规则的html/wml模版和标签101.4.6 解决方案四:采取防盗链措施1
2、01.4.7 解决方案五:URL重写,隐藏真实URL地址131.4.8 解决方案六:通过图片验证码认证后,才能查看内容141.4.9 解决方案七:通过下发手机短信认证后,才能查看内容141.4.10 解决方案八:采用图片形式来呈现数据信息内容151.5 应用级安全与策略231.5.1 安全与策略231.5.2 采用第三方安全工具进行扫描241.1 概述随着计算机信息系统的广泛应用,带来极大方便的同时,也带来了诸多安全方面的问题,广泛应用的TCP/IP协议是在可信环境下为网络互联专门设计的,加上黑客的攻击及病毒的干扰,使得网络存在很多不安全因素。如:网络蜘蛛爬虫对企业重要机密信息的大量挖掘、SQ
3、L入注漏洞、javascript脚本攻击、开发商人为制作黑夹子、TCP端口盗用、对域名系统和基础设施破坏、利用Web破坏数据库、传输数据被窃听或篡改、连接盗用、邮件炸弹、病毒携带等。使得许多重要数据信息完全暴露在用户的面前,然而,在市场经济条件下,数据信息已经成为一种极其重要的“商品”,许多企业大量重要信息轻易被竞争对手获得,给企业带来巨大损失。(如:目前市场上有许多TRS、BI、SP/CP等公司专业从事数据采集、分析出有价值的大量数据进行交易)。现大家越来越重视数据信息的安全性,为了防止数据泄露,采取了各种办法来保护数据。安全存在隐患大致可分为4大块:1、系统级安全;2、网络层安全;3、数据
4、信息安全;4、应用级安全。1.2 系统级安全与策略信息平台应用服务器运行在UNIX或Windows系统平台上。对于系统级安全的实现,通过科学合理的设置来充分利用UNIX和Windows操作系统本身提供的安全机制,弥补操作系统的安全漏洞;从物理安全、登录安全、用户安全、文件系统、数据安全、各应用系统安全等方面制定强化安全的措施。Linux/Unix平台具有良好的稳定性和病毒免疫力,系统关键节点采用Unix或Linux操作系统。利用主机监控与保护来增强实际运行安全;操作系统的安全是整个防病毒的关键,每个操作系统都存在安全的漏洞,为了最大限度的防止操作系统的漏洞,就需要即使安装最新的操作系统的补丁,
5、将漏洞的危险降到最低。另外操作系统的用户和密码也是操作系统容易出问题的部分,为了避免由于用户和密码的原因,需要尽量减少系统的用户,将不需要的用户和密码删除,并且密码长度要求8位以上,密码的组成为数字、字母、特殊字符的组合,避免密码被攻破。以下是一些采取的策略:1.2.1 实施VPN策略采用VPN方案,通过使用一台VPN服务器既能够实现与整个企业网络的连接,又可以保证保密数据的安全性。路由器虽然也能够实现网络之间的互联,但是并不能对流向敏感网络的数据进行限制。但是企业网络管理人员通过使用VPN服务器,指定只有符合特定身份要求的用户才能连接VPN服务器获得访问敏感信息的权利。此外,可以对所有VPN
6、数据进行加密,从而确保数据的安全性,没有访问权利的用户无法看到部门的局域网络。1.2.2 高效配置防火墙防火墙是现今企业网中应用最多的安全产品。因此建议高效地利用防火墙的功能:启用防火墙的高级管理特性。默认状态下,用户拿到的防火墙产品只做了基本的安全配置,这需要进行更加完善的配置以利用其高级特性。实施网络防病毒系统。病毒对企业网的危害是有目共睹的,尤以今年为盛。据统计,全球每年遭受病毒的损失正成几何级数增长。因此建立一套完善的防病毒系统是企业信息网络建设的首要任务。一套完善的防病毒系统应由以下部件组成:文件服务器防病毒系统(File Server Protection):用于文件服务器的防病毒
7、组件;桌面防病毒系统(Desktop Protection):用于工作站的防病毒组件;电子邮件防病毒系统(Email Protection):用于电子邮件系统的防病毒组件;Internet网关防病毒系统(Internet Gateway Protection):用于Internet出口的防病毒组件;无线网络防病毒系统(Wireless Protection):用于无线网络设备连接到防病毒组件;防病毒控制中心(Management Control Center):用于以上防病毒组件的代码、病毒库的自动或强制更新和管理的组件。以上组件缺一不可,方能构成一套完善的防病毒系统。1.3 网络层安全与策略
8、网络的安全是保证系统安全的基本,主要内容包括内部安全管理、安全审计、病毒防范以及防止外部侵入等。现在很多病毒、木马、蠕虫都是通过网络来传播,因此网络的安全就额外重要。1.3.1 严格设置防火墙:解决网络层安全的总体思路是业务隔离,分层实施。网络完全的保证主要由双层防火墙来保证将内网和外网分离,平台将所有服务器放置在内网,在防火墙上仅可开放必要的端口,这样的结构能够很好的防止网络的攻击。在防火墙上不开放不必要的端口和协议,严格设置防火墙的访问策略以保证网络的安全。通过定制设备安全策略、部署防火墙和IPS(入侵检测系统)、部署网管系统和日志系统、日常维护流程保证等措施来保障网络层的安全。确保网络系
9、统的正常运行,包括网络设备、应用系统的正常运行、信息存储和传输的安全和可靠。 防火墙用于维护网络系统内局域网边界的安全,如果使用支持多网段划分的防火墙,可同时实现局域网内部各网段的隔离与相互的访问控制。采用的防火墙产品具有以下功能: 基于状态检测的分组过滤; 多级的立体访问控制机制; 面向对象的管理机制; 持多种连接方式,透明、路由; 支持OSPF、IPX、NETBEUI、SNMP等协议; 具有双向的地址转换能力; 透明应用代理功能; 次性口令认证机制; 带宽管理能力; 内置了一定的入侵检测功能或能够与入侵检测设备联动; 远程管理能力; 灵活的审计、日志功能。1.3.2 其他安全策略:(1)
10、通过冗余措施保证系统的可靠性,具体包括线路冗余、设备备份、负载均衡措施。(2) 在外部网与Internet互连区采用符合安全标准的可靠的防火墙。(3) 在两个方面防范。一方面建立完整的网络防毒机制。另一方面建立严格完善的防毒管理规范。 (4) 确保必须的网络服务的安全和可靠性,如DNS;对其它网络基本服务,限制使用范围,建立严格的使用管理规定,防止被黑客利用,绝对禁止匿名FTP服务,对需要使用又必须保证安全的场合,要经过身份认证、访问授权和审计记录机制的控制。 (5) 在两个层次保证应用系统的安全。一方面采用通用安全应用平台,为各种业务应用提供统一的安全机制;另一方面结合应用系统自身专有的安全
11、机制。 (6) 在两个方面防护黑客攻击。一方面在Internet互联区域及与内部广域网互连区域设置防火墙。另一方面采用防黑客攻击软件,实现安全漏洞的扫描,结合系统管理及时修补安全漏洞;提供网络实时入侵检测,在一定程度上实现对内部网与外部网用户的入侵阻隔;做好攻击的跟踪审计(7) 制定严格完善的安全管理制度及规范。一方面确保技术措施正常发挥作用,另一方面对技术措施进行补充1.4 数据信息安全与策略数据库的安全也是系统安全的重要的一环,数据库是整个系统的核心,数据的安全是数据库安全的根本。数据库的安全的保证需要及时的安装数据库的补丁,严格控制数据库的用户和密码,以及各个用户的权限。每天检查防火墙、
12、操作系统、数据库的日志,及时发现问题,针对问题及时解决。要做数据库的备份解决方案:一种是基于LAN环境的备份结构,在该备份架构下,数据流将经过局域网并通过备份服务器备往带库或者是磁盘;另外一种是基于SAN环境的备份结构,在该备份架构下,数据流将通过LAN-Free的备份方式直接备往带库或者是磁盘。针对系统情况,提出如下建议:1.磁带备份与恢复速度较慢,系统数据量较大,推荐采用磁盘或者虚拟带库进行备份数据存储,不建议采用磁带。2.在独享千兆交换机的情况下,通过网络进行备份,备份速度平均在40M/s,无法满足本系统的备份恢复要求,不建议采用LAN方式进行备份。建议:备份通过LAN free的方式来
13、实现,避免与生产网络抢占网络资源。Oracle在归档模式下运行,软件调用ORACLE RMAN进行在线的热备份.针对Oracle的总数据量和增量数据量大小,可以利用Oracle的备份机制,结合软件的备份数据追踪寻址能力和介质管理功能,制定灵活的备份策略,实现全自动的备份数据的全生命周期管理。全量备份期间,每天都做数据库归档日志、控制文件和CATALOG用户所有对象的备份,每周做两次全备份,保留前面一周期和当前周期的备份,每个周期有两份冗余。对于Oracle系统的数据备份和恢复的性能,可以通过开辟多个Oracle数据备份通道和多重数据迁移的技术得到保障。对于以上的备份文件文件,根据管理的要求设定
14、其保存时间,当此类数据过期时, 软件将自动进行清理,无须管理人员参与。以上备份通过软件的定时机制自动完成。除以上从数据库方面考虑外,数据信息受到被窃取的威胁,造成商业机密泄漏,也是及其重要的安全问题。如网络蜘蛛爬虫对企业重要机密信息的大量挖掘。到目前为止,无论是国内还是国外,市场上现还没有能有效抵制的产品。以下我将着重从数据反扒角度提出一些可行性的有效解决方案。1.4.1 首先介绍下网络蜘蛛爬虫原理:网络爬虫是一个自动提取网页的程序,通过分析http的头包信息,并结合正则表达式来挖掘所需要的数据,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的U
15、RL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止,另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。 归纳下三个过程: (1) 对URL的搜索策略: 网页的抓取策略可
16、以分为深度优先、广度优先和最佳优先三种。目前常见的是广度优先和最佳优先方法。最佳优先方法,可以自定义所要采集的目标 (2) 对抓取目标的描述或定义;(定义html/wml标签、模板)(3) 对网页或数据的分析与过滤.(采用正则表达式)。网络蜘蛛爬虫,它具有: 1)网络爬虫高度可设置性。2)网络爬虫能解析抓到的网页里的链接3)网络爬虫有简单的存储设置4)网络爬虫拥有智能的根据网页更新分析功能5)网络爬虫的效率相当的高以下是HTTP的头包部分分析:get (请求)GET /Styles/eSales.css HTTP/1.1Accept: */*Referer: http:/localhost:8
17、1/Login.aspx?ReturnUrl=%2fDefault.aspxUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)Post(请求)POST /Login.aspx?ReturnUrl=%2fDefault.aspx HTTP/1.1Referer: http:/localhost:81/Login.aspx?ReturnUrl=%2fD
18、efault.aspxUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)Host: localhost:81_VIEWSTATE=%2FwEPDwUKLTgzOTg3NTIzOWQYAQUeXha6o%3D&txtUserName=wqs&txtPassword=wqs&_EVENTVALIDATION=%2FwEWBALB%2BLXUDQKl1b
19、KzCQK1qbSRCwKC3IeGDI4I%2BI94GJOR%2FJGT%2Bal36hFD7z4v&btnLogin.x=37&btnLogin.y=14返回Location: /Default.aspxSet-Cookie: spoa.ASPXAUTH=46D9B8AC2C252FDC5E95E502E0954E68A42;path=/;1.4.2 正则表达式(正则表达式介绍,请见附件中)1.4.3 解决方案一:在系统根目录下配置robots.txt文件几乎所有的搜索引擎类的网络蜘蛛都遵循robots.txt给出的爬行规则,协议规定最先进入某个网站平台的入口即是该网站平台的 robot
20、s.txt,为防止搜索引擎类爬行器(如:百度baiduspide网络蜘蛛爬虫器、Google的GoogleBot网络蜘蛛爬虫器、雅虎Yahoo! Slurp 及Yahoo! China Slurp)等爬虫器对重要数据信息的爬取,要各数据平台在软件应用系统的根目录下存放个配置robots.txt文件,用于告诉网络蜘蛛,哪些内容不能被抓取。robots.txt文件名必须全部小写,内容为:禁止所有搜索引擎爬行器访问系统的任何部分 User-agent: * Disallow: /或禁止所有搜索引擎访问网站的几个目录下(下例中的Admin、Manager目录)User-agent: *Disallow
21、: /Admin/Disallow: /Manager/1.4.4 解决方案二:用户密码登录+图片验证码认证登陆系统所有需要用户账号登录、注册的平台,建议都要求+图片验证码认证,以防有人利用机器人自动批量注册、对特定的注册用户用特定程序暴力破解方式进行不断的登陆、灌水、用户和密码猜测破解。因为验证码是一组电脑随机生成的数字或符号,具有安全保护作用。1.4.5 解决方案三:采用动态不规则的html/wml模版和标签对要显示重要数据信息部分的html/wml模版,建议都采用动态不规则的动态、标签。如。因为采用动态不规则模版和标签,使爬行器事先制定的固定模版失效,采集到的数据为空。1.4.6 解决方
22、案四:采取防盗链措施防盗链原理:http标准协议中有专门的字段记录referer ,一来可以追溯上一个入站地址是什么 ;二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。 因此所有防盗链方法都是基于这个Referer字段。网络蜘蛛爬虫器的特点都是事先定义好的URL直接入侵的,而通过采取防盗链措施,只允许通过本平台层层链接,才能查看信息;通过读取请求,来判断该访问者的请求是否是来自本平台网站层层链接的,从而限制网络蜘蛛爬虫器的攻击。1、java环境下,利用Apache 防盗链实现,主要有两种方法实现:1).利用rewrite 确认你的apache 能使用rewrite modRewrite
23、Engine onRewriteCond %HTTP_REFERER !/size/.*$ NCRewriteCond %HTTP_REFERER !$ NCRewriteCond %HTTP_REFERER ! NCRewriteCond %HTTP_REFERER !$ NCRewriteRule .*.(gif|jpb|png|css|js|swf)$ R,NC其中有色的地方都是要改为你的:红色:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。蓝色:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。紫色:如果不是通
24、过红色的地址访问蓝色这些为扩展名的文件时就回重定向到紫色地址上。2).利用SetEnvIfNoCase 和 accessSetEnvIfNoCase Referer “” local_ref=1SetEnvIfNoCase Referer “” local_ref=1Order Allow,DenyAllow from env=local_ref红色为信任站点,蓝色为受保护的文件扩展名。2、.net环境下防盗链实现:利用Request.ServerVariables(HTTP_REFERER)下面我举个.net的例子:if (!Page.IsPostBack) string onlyURL =
25、 ; string from = ; 来源 from = Request.ServerVariablesHttp_Referer; onlyURL = Request.ServerVariablesServer_Name; Response.Write(只有: + onlyURL + 才能访问); Response.Write(你的IP是: + Request.ServerVariablesremote_addr); Response.Write(Request.ServerVariablesHTTP_url); 访问的文件路径); if (from = null) Response.Writ
26、e(你是直接输入网址或采集者,我们拒绝你!); else int i = from.IndexOf(onlyURL, 0, from.Length); if (i = 0) 返回 0 (没有找到 ; Response.Write(你的来源是: + from); Response.Write(我们拒绝你!); else if (i = 7) Response.Write(来源3: + from); Response.Write(你来源正常,请查看我们的信息:); Response.Write(); Response.Write( 新闻); else Response.Write(找到从第: +
27、i + 个); Response.Write(你的来源是盗链:: + from); Response.Write(我们拒绝盗链!); 1.4.7 解决方案五:URL重写,隐藏真实URL地址通过采取URL重写,隐藏真实URL地址,给爬行器的采集制造难度。举例 /viewthread.jsp?id=1234 重写后,可以用 /viewthread/1234.htm访问使用Tomcat+Apache,尝试过三种重写的方法:一、Tomcat的过滤器 最典型的就是用 urlReweITe的类库。首先要在web.xml中声明一个Filter UrlRewriteFilter org.tuckey.web.
28、filters.urlrewrite.UrlRewriteFilter UrlRewriteFilter /* 然后在WEB-INF目录下新建urlrewrite.xml在其中进行重写规则的定义,它使用正则表达式来进行规则的定义。 /viewthread/(d+).htm$ /viewthread.jsp?id=$1 二、使用Apache的mod # 去掉这个前面的#,启用它LoadModule rewrite_module modules/mod_rewrite.so# 其它的配置数据RewriteEngine On# 下面三行实现动态解析RewriteRule /viewthread/(d
29、+).htm$ /viewthread.jsp?id=$1 L,PT第一种修改麻烦,但对于平稳运行的系统,是个不错的选择第二种需要配置Apache,但 Apache的重启速度很快,适合于有可能经常变得情况,而且Apache Mod的效率还是不错的1.4.8 解决方案六:通过图片验证码认证后,才能查看内容不用用户账号登陆系统,但要通过图片验证码认证后,才能查看内容。此方法增加了数据被采集的难度,可以防止大部分的网络爬虫采集器1.4.9 解决方案七:通过下发手机短信认证后,才能查看内容通过图片验证码认证后,才能查看重要信息内容。此方法增加了数据被采集的难度,可以防止绝大部分的网络爬虫采集器1.4.
30、10 解决方案八:采用图片形式来呈现数据信息内容此方法用于对那些如:电话号码、地址等比较简短、但数据价值又比较敏感的信息内容。增加了数据被采集的难度,对绝大部分网络爬虫采集器可以起到有效的防止。以下举个以图片形式显示电话号码、地址的例子:1./加密类请见附件中“3DES加密算法.rar”2.test.jsp文件a href=/hb/adminJsp/basicInfo/test3.jsp?imageTel=图片加密3.test3.jsp文件 电话: img border=0 src=/hb/adminJsp/basicInfo/telImage.jsp?imageTel= 地 址: 4./电话
31、号码生成图片类255) fc=255; if(bc255) bc=255; int r=fc+random.nextInt(bc-fc); int g=fc+random.nextInt(bc-fc); int b=fc+random.nextInt(bc-fc); return new Color(r,g,b); Color getBackColor()/给定范围获得随机颜色return new Color(206,231,255);%15)width = 190;else if(sRand.length()13 & sRand.length()=15)width = 170;elsewid
32、th = 140;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);/ 获取图形上下文Graphics g = image.getGraphics();/生成随机类Random random = new Random();/ 设定背景色g.setColor(getBackColor();g.fillRect(0, 0, width, height);/设定字体g.setFont(new Font(Times New Roman,Font.PLAIN,18);/画边框/g.setC
33、olor(new Color();/g.drawRect(0,0,width-1,height-1);/ 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到g.setColor(getRandColor(160,200);for (int i=0;i155;i+) int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x,y,x+xl,y+yl);for (int i=0;i5
34、./电话号码生成图片类package com.besttone.tool;import java.io.IOException;import java.io.PrintWriter;import java.io.*;import java.awt.*;import java.awt.image.*;import javax.servlet.*;import javax.servlet.http.*;import com.sun.image.codec.jpeg.*;/* * author Liao Xue Feng */public class CreateImageServlet exten
35、ds HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(image/jpeg); createImage(response.getOutputStream(); private void createImage(OutputStream out) String text =上海市四川北路61号14楼; int width = 300; int height =30 ;/text.length()/20*20 BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = bi.createGraphics(); / set background: g.setBackground(Color.GREEN); g.clearRect