信息系统攻击与防御(第九章)_第1页
信息系统攻击与防御(第九章)_第2页
信息系统攻击与防御(第九章)_第3页
信息系统攻击与防御(第九章)_第4页
信息系统攻击与防御(第九章)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章 安全防御方法 构建安全系统概述数据库安全 操作系统安全 网络安全 内容简介本章全面介绍了安全防御的各种方法,首先介绍了如何构建一个安全系统,然后分别介绍了数据库的安全防御、操作系统的安全防御和网络的安全防御。9.1.构建安全系统概述 但凡一个安全系统都可以按照以下体系来构建:1.以最小权限运行2.缺省安全3.验证输入(1)验证应用程序的输入(2)验证外部组件的输入(3)安全异常(4)评估规范化问题4.防护措施(1)多层防护系统。 (2)在软件系统内设置多层防护。 (3)使用ACL(访问控制列表)。 (4)其它的一些做法:不要信任未知的东西。只有在验明了来人的身份后,才能授予相应的权限。

2、不要保存秘密信息。保存秘密信息(比如密钥)很可能被攻击者窃取。使用操作系统提供的DPAPI(Data Protection Application Programming Interface) 一个保护密钥的对策。5安全的处理错误和异常6对系统的安全特性进行严格的测试。7从错误中获取知识和经验。学会总结经验教训,以避免再犯。8不断学习安全相关的知识。 9.2.数据库安全 对于数据库系统来说,威胁主要来自:非法访问数据库信息;恶意破坏数据库或未经授权非法修改数据库数据;用户通过网络进行数据库访问时,受到各种攻击,如搭线窃听等;对数据库的不正确访问,引起数据库数据的错误。 数据库系统的安全需求与其

3、它系统大致相同,要求有完整性、可靠性、有效性、保密性、可审计性及存取控制及用户身份鉴定等。9.2.数据库安全(续) 如何安全配置MSSQL数据库:1.使用安全的密码策略 2.使用安全的帐号策略3.管理扩展存储过程 4.对网络连接进行IP限制9.2.数据库安全(续) 针对嗅探的防护:1.为了克服使用本地 sql server安全机制暴露用户信任的缺陷,可以在服务器上安装一个有效的证书(该证书是客户端信任的,并且事先已经通过“服务器认证”的凭证)。 2.使用交换网络(switched networks)会有助于降低密码被窃取的风险。 3.针对密码破解,只要把密码设置为足够强壮,并且对同个ip地址不

4、停的连接请求进行屏蔽即可。 9.2.数据库安全(续) access的安全 :Access数据库的安全机制已经更为完善。除了对数据库设置密码保护,对数据库进行编码压缩,还可以启用用户级的安全机制,在用户级别上控制对数据库的访问。1数据库设置密码2数据库压缩编码3用户级安全机制 9.2.数据库安全(续) mssql安全 :MSSQL安全设置:(1)设置强壮的口令(2)删除不必要的系统存储过程与扩展存储过程 (3)用户权限的严格控制(4)及时打补丁,防止溢出等相关的漏洞。 9.2.数据库安全(续) mssql安全 :Mssql注入防范 : 对于动态构造SQL查询的场合,可以使用下面的技术:第一:替换

5、单引号,即把所有单独出现的单引号改成两个单引号,防止攻击者修改SQL命令的含义。再来看前面的例子,“SELECT * from Users WHERE login = or 1=1 AND password = or 1=1”显然会得到与“SELECT * from Users WHERE login = or 1=1 AND password = or 1=1”不同的结果。第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如“SELECT * from Users WHERE login = mas - AND password =”之类的查询,因为这类查询的后半部分已经被注释掉,不再

6、有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。9.2.数据库安全(续) mssql安全 :Mssql注入防范 : 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就

7、很难再发生注入式攻击了。 限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么不要认可表单中输入的10个以上的字符,这将大大增加攻击者在SQL命令中插入有害代码的难度。 检查用户输入的合法性,确信输入的内容只包含合法的数据。数据检查应当在客户端和服务器端都执行之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性。 将用户登录名称、密码等数据加密保存。加密用户输入的数据,然后再将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了“消毒”处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防止了攻击者注入SQL命令。System.Web. Securi

8、ty.FormsAuthentication类有一个HashPasswordForStoringInConfigFile,非常适合于对输入数据进行消毒处理。 检查提取数据的查询所返回的记录数量。如果程序只要求返回一个记录,但实际返回的记录却超过一行,那就当作出错处理。9.2.数据库安全(续) mysql的安全 :参见教材(自学)9.3.操作系统安全一个有效而可靠的操作系统应具有优良的保护性能,系统必须提供一定的保护措施,因为操作系统是所有编程系统的基础,而且在计算机系统中往往存储着大量的信息,系统必须对这些信息提供足够的保护,以防止被未授权用户滥用或毁坏。只靠硬件不能提供充分的保护手段,必须将

9、操作系统与适当的硬件相结合才能提供强有力的保护。操作系统应提供的安全服务有:内存保护、文件保护、普通实体保护(对实体的一般存取控制)、存取认证(用户的身份认证),这些服务可以防止用户软件的缺陷损害系统。操作系统的安全可从以下几个方面来考虑:物理上分离,进程使用不同的物理实体。时间上分离,具有不同安全要求的进程在不同的时间运行。逻辑上分离,用户感觉上是在没有其他进程的情况下进行的,而操作系统限制程序的存取使得程序不能存取允许范围以外的实体。密码上分离,进程以一种其他进程不了解的方式隐藏数据及计算。前两种方法将直接导致资源利用率严重下降,因此一般不用。9.3.操作系统安全 (续) 1.进程控制块对

10、安全操作系统的一个基本要求是系统必须使各用户彼此隔离,但允许通过受控路径进行信息交换。在一个时间共享或多道程序系统中,每个用户都可能会有多个进程同时运行即进程并发执行,所以,所有的现代操作系统都支持将一个进程代理一个用户。2.存储器保护对于一个安全操作系统,存储器保护是一个最基本的要求。在一个单用户系统中,某一时刻系统内存中只运行一个用户进程,这时的存储器保护只需要防止用户进程的内存区。存储器保护与存储器管理是紧密相联的,存储器保护负责保证系统内各任务之间互不干扰,存储器管理则是为了更有效地利用存储空间。3.运行域运行域(Execution Domains)包括运行状态、运行的上下文关系以及运

11、行模式。运行域一般由硬件支持,即使没有内存管理与多道程序的支持,系统仍可以提供运行域机制。一般的域是一种基于保护环的等级式结构。在最内层具有最小环号的环具有最高特权,而在最外层具有最大环号的环是最小特权环。 4.输入/输出访问控制在一个操作系统的所有功能中,输入/输出一般是最复杂的,虽然支持进程、存储器管理以及域结构等功能的硬件为程序员提供了很大的方便,但由硬件实现一个容易理解的I/O系统似乎与程序员所关心的问题是相悖的。人们往往首先从系统的I/O部分寻找操作系统安全方面的缺陷,因为硬件对I/O系统的安全几乎没有什么帮助,在大型机中利用硬件支持I/O系统的目的是出于价格与性能的考虑,而不是出于

12、安全的原因。9.3.操作系统安全 (续) 5.安全核在构造高度安全的操作系统时,安全核技术是目前唯一最常用的技术。安全核技术的基础是引用监控器,它是负责实施系统安全策略的硬件与软件的组合体。由安全策略描述的访问判决是基于访问控制数据库中的信息作出的。访问控制数据库体现了系统的安全状态,它包括安全属性与访问权之类的信息。 6.审计审计作为一种事后追查的手段来保护系统的安全,事实上,审计就是对涉及系统安全的操作做一个完整的记录,以备有违反系统安全规则的事件发生后能够有效地追查事件发生的地点及过程。 7.安全模型安全模型的目的在于明确地表达这些要求。安全模型具有以下几个性质:精确、无歧义。简易和抽象

13、。一般性,只涉及安全性质,而不过度地抑制系统的功能或其实现。是安全策略的明显表现。 9.3.操作系统安全 (续) 设置安全强壮密码的原则 :所有安全强壮的密码至少要有下列四方面内容的三种: 大写字母; 小写字母; 数字; 非字母数字的字符,如标点符号等。安全的密码还要符合下列的规则: 不使用普通的名字或昵称; 不使用普通的个人信息,如生日日期; 密码里不含有重复的字母或数字; 至少使用八个字符; 应该还要求用户42天必须修改一次密码。9.3.操作系统安全 (续) Windows操作系统安全:强制使用安全强壮的密码设置安全的帐号策略系统文件权限的分类保护注册表的安全消除默认安装目录风险取消默认系

14、统帐号风险删除默认共享风险加强系统打印驱动的安全加强共享系统对象的安全手动查找并清除木马程序加强对域和帐号数据库的管理修改共享目录默认控制权限禁止不必要的服务防范NetBIOS漏洞攻击9.3.操作系统安全 (续) Windows操作系统安全: 15.防范NetBIOS漏洞攻击 16.解决SNMP缓冲区溢出漏洞 17.加固IIS服务器的安全 18.使用IPSec来控制端口访问 19.系统日志放在何处 :1.关于日志文件默认位置:应用程序日志、安全日志、系统日志、DNS等服务日志的默认位置在系统安装目录下的system32config下。2.关于日志文件保存目录详细描述:安全日志文件:系统安装目录

15、system32configSecEvent.EVT系统日志文件:系统安装目录system32configSysEvent.EVT应用程序日志文件:系统安装目录system32configAppEvent.EVTFTP日志默认位置:系统安装目录system32logfilesmsftpsvc1日志文件WWW日志默认位置:系统安装目录system32logfilesw3svc1日志文件定时(Scheduler)服务日志默认位置:系统安装目录schedlgu.txt安全日志文件,系统日志文件,应用程序日志文件,这三个日志记录都是有系统的一个称为: Event Log服务生成的,Event Log

16、的作用是记录程序和 Windows 发送的事件消息。 9.3.操作系统安全 (续) Windows操作系统安全: 20.保护日志文件 21.进行系统日志审核 22.系统日志审核的查看和维护 23.日志审核文件属性的编辑 24. Windows系统安全小结 :建议至少应该做到以下几条:1.经常访问微软升级程序站点,了解补丁的最新发布情况;2.订阅微软安全公告,及时了解最新发现的Windows NT/2000系统漏洞;2002年微软部分安全公告链接网址如下:/shadu/xitongld.htm。3.安装重要升级通告服务,这样才能尽快获取最新的重要升级程序;9.3.操作系统安全 (续) UNIX操

17、作系统安全 :参见教材(自学)9.4.网络安全 (续) 计算机网络安全简介服务器安全 路由器安全 各种网络攻击的防范 脚本漏洞防范 如何在WEB上提高系统安全性和稳定性 9.4.1.计算机网络安全简介 下面是网络安全注意的几个环节。(1)网络的使用者和操作者例如,采用假的自动柜员机ATM来骗取存款用户;利用假的终端或假的程序骗取用户的口令信息;直接通过欺骗操作员骗取重要信息等。(2)网络外部接口是网上黑客攻击的主要途径由于网络外部接口与外部网络连接,对接口进行攻击可以侵入网络内部。对网络外部接口进行攻击具有花费少、挑战性强、不易发现等特点。管理不善、系统的脆弱性和可能的后门是这种攻击成功的关键

18、。(3)网络连接是网络安全的又一个薄弱环节由于网络的分布地域广,管理者或使用者不可能时刻监测网络的各处连线,使在网络连线上进行窃听、替代、篡改、假冒成为可能。特别对于城域网、国家专用网络等分布区域较大的网络。(4)主机和网络站点是内部人员攻击的主要目标管理和审计的不完善是主机和内部站点受攻击的主要原因。由于网络操作人员类型复杂、数量多,管理和控制相对困难,难免在其中有利益驱动作案的。此外,由于某些网络站点或连接设备的电磁辐射,也可能导致敏感信息的流失。(5)网络交换设备、控制设备、网络管理设备等更是攻击的重要目标这些设备是网络的中心,破坏这些设备可以使整个网络瘫痪。9.4.1.计算机网络安全简

19、介(续) 网络中所采用的安全机制主要有以下几种:1加密和隐藏机制2认证机制3审计4完整性保护5权利控制和存取控制6业务填充7路由控制8公证机制9冗余和备份9.4.1.计算机网络安全简介(续) 常用安全协议:X.509协议Kerberos协议PGP(Pretty Good Privacy) PEM ( Privacy Enhance Mail) SHTTP/HTTPSSL 9.4.2.服务器安全 (续) WEB服务器安全 :保护Web服务的方法:1.用防火墙保护网站,可以有效地对数据包进行过滤,是网站的第一道防线;2.用入侵监测系统监测网络数据包,可以捕捉危险或有恶意的访问动作,并能按指定的规则

20、,以记录、阻断、发警报等等多种方式进行响应,既可以实时阻止入侵行为,又能够记录入侵行为以追查攻击者;3.正确配置Web服务器,跟踪并安装服务器软件的最新补丁;4.服务器软件只保留必要的功能,关闭不必要的诸如FTP、SMTP等公共服务,修改系统安装时设置的默认口令,使用足够安全的口令;5.远程管理服务器使用安全的方法如SSH,避免运行使用明文传输口令的telnet、ftp等程序;6.谨慎使用CGI程序和ASP、PHP脚本程序;7.使用网络安全检测产品对安全情况进行检测,发现并弥补安全隐患。9.4.2.服务器安全 (续) FTP服务器安全 :保护FTP服务的方法:1.禁止匿名登录2.设置访问日志。

21、 3.强化访问控制列表。 4.设置站点为不可视。 5.使用磁盘配额 6.使用访问时间限制 7.基于IP策略的访问控制 8.审计登录事件 9.使用安全密码策略 10.限制登录次数 9.4.2.服务器安全 (续) 邮件服务器安全 :目前互连网上的邮件服务器所受攻击有两类:一类就是中继利用(Relay),即远程机器通过你的服务器来发信,这样任何人都可以利用你的服务器向任何地址发邮件,久而久之,你的机器不仅成为发送垃圾邮件的帮凶,也会使你的网络流量激增,同时将可能被网上的很多邮件服务器所拒绝;另一类攻击称为垃圾邮件(Spam),即人们常说的邮件炸弹,是指在很短时间内服务器可能接收大量无用的邮件,从而使

22、邮件服务器不堪负载而出现瘫痪。这两种攻击都可能使邮件服务器无法正常工作。防止邮件服务器被攻击的方法有三种:一种是升级高版本的服务器软件,利用软件自身的安全功能限制垃圾邮件的大量转发或订阅反垃圾邮件服务;第二种就是采用第三方软件利用诸如动态中继验证控制功能来实现,从而确保接受邮件的正确性;第三种是配置病毒网关、病毒过滤等功能,从网络的入口开始,阻止来自互联网的邮件病毒入侵,同时还要防止它们在进出公司内部网络时的传播。9.4.2.服务器安全 (续) DNS服务器安全 :由于DNS服务使用UDP协议,因此对于攻击者而言,更容易把攻击焦点集中在DNS服务上。DNS服务面临的威胁包括:缓存区中毒:这种攻

23、击是指黑客在主DNS服务器向辅DNS服务器进行区域传输时插入错误的DNS信息,一旦成功,攻击者便可使辅DNS服务器提供错误的名称到IP地址的解析信息;如果使用DNS缓存伪造信息的话,攻击者可以改变发向合法站点的传输流方向,使它传送到攻击者控制的站点上;拒绝服务:对某些域名服务器的大规模拒绝服务攻击会造成互联网速度普遍下降或停止运行;域劫持:通过利用客户升级自己的域注册信息所使用的不安全机制,攻击者可以接管域注册过程来控制合法的域;泄漏网络拓朴结构:设置不当的DNS将泄漏过多的网络拓朴结构:如果你的DNS服务器允许对任何人都进行区域传输的话,那么你的整个网络架构中的主机名、主机IP列表、路由器名

24、、路由器IP列表,甚至包括你的机器所在的位置等信息都会不知不觉的泄露出去。9.4.2.服务器安全 (续) DNS服务器安全 :为了保护DNS服务器不受攻击,首先应当保护DNS服务器所存储的信息,而且此信息应当由创建和设计者才能修改。部分注册信息的登录方式仍然采用一些比较过时的方法,如采用电子邮件的方式就可以升级DNS注册信息,这些过时的方法需要添加安全措施,例如采用加密的口令,或者采用安全的浏览器平台工具来提供管理域代码记录的方式;其次是正确配置区域传输,即只允许相互信任的DNS服务器之间才允许传输解析数据;还要应用防火墙配合使用,使得DNS服务器位于防火墙的保护之内,只开放相应的服务端口和协

25、议;还有一点需要注意的是使用那些较新的DNS软件,因为他们中有些可以支持控制访问方式记录DNS信息,因此域名解析服务器只对那些合法的请求作出响应。内部的请求可以不受限制的访问区域信息,外部的请求仅能访问那些公开的信息;最后系统管理员也可以采用分离DNS的方式,内部的系统与外部系统分别访问不同的DNS系统,外部的计算机仅能访问公共的记录。 9.4.3.路由器安全路由器面临的威胁有:将路由器作为攻击平台;拒绝服务;截获明文传输配置信息等。保护路由器安全需要: 1、禁止明文传输配置信息2、限制系统物理访问 3、加强口令安全 4、应用身份验证功能 5、禁用不必要服务 6、限制逻辑访问 7、有限使用IC

26、MP消息类型 8、控制流量有限进入网络 9、安全使用SNMP/TELNET 9.4.4.各种网络攻击的防范防范IP欺骗攻击 IP欺骗技术就是伪造某台主机的IP地址的技术。通过IP地址的伪装使得某台主机能够伪装另外的一台主机,而这台主机往往具有某种特权或者被另外的主机所信任。假设现在有一个合法用户()已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击

27、时,伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务。虽然IP欺骗攻击有着相当难度,但我们应该清醒地意识到,这种攻击非常广泛,入侵往往由这里开始。预防这种攻击还是比较容易的,比如删除UNIX中所有的/etc/hosts.equiv、$HOME/.rhosts文件,修改/etc/inetd.conf文件,使得RPC机制无法应用。另外,还可以通过设置防火墙过滤来自外部而信源地址却是内部IP的报文。9.4.4.各种网络攻击的防范 (续) 2.防范缓冲区溢出攻击缓冲区溢出(又称堆栈溢出)攻击是最常用的黑客技术之一。这种攻击之所以泛滥,是由于开放源代码程序的本质决定的。Unix本身以及

28、其上的许多应用程序都是用C语言编写的,而C语言不检查缓冲区的边界。在某些情况下,如果用户输入的数据长度超过应用程序给定的缓冲区,就会覆盖其他数据区,这就称作”缓冲区溢出”。一般情况下,覆盖其他数据区的数据是没有意义的,最多造成应用程序错误;但是,如果输入的数据是经过“黑客”精心设计的,覆盖缓冲区的数据恰恰是黑客的入侵程序代码,黑客就获取了程序的控制权。尽管这项攻击的技术要求非常高,而一旦执行这项攻击的程序被设计出来却是非常简单的。由于缓冲区溢出是一个编程问题,所以他们只能通过修复被破坏的程序代码来解决问题。从“缓冲区溢出攻击”的原理可以看出,要防止此类攻击,我们可以在开放程序时仔细检查溢出情况

29、,不允许数据溢出缓冲区。经常检查操作系统和应用程序提供商的站点,一旦发现补丁程序就马上下载是最好的方法。9.4.4.各种网络攻击的防范 (续) 3.防范Syn Flood攻击 对于SYN Flood攻击,目前尚没有很好的监测和防御方法,不过如果系统管理员熟悉攻击方法和系统架构,通过一系列的设定,也能从一定程度上降低被攻击系统的负荷,减轻负面的影响。对于Windows 2000/XP/2003系统而言,它的SYN攻击保护机制可以这样考虑:正常情况下,OS对TCP连接的一些重要参数有一个常规的设置:SYN Timeout时间、SYN-ACK的重试次数、SYN报文从路由器到系统再到Winsock的延

30、时等等。这个常规设置针对系统优化,可以给用户提供方便快捷的服务;一旦服务器受到攻击,SYN Half link 的数量超过系统中TCP活动 Half Connction最大连接数的设置,系统将会认为自己受到了SYN Flood攻击,并将根据攻击的判断情况作出反应:减短SYN Timeout时间、减少SYN-ACK的重试次数、自动对缓冲区中的报文进行延时等等措施,力图将攻击危害减到最低。如果攻击继续,超过了系统允许的最大Half Connection 值,系统已经不能提供正常的服务了,为了保证系统不崩溃,可以将任何超出最大Half Connection值范围的SYN报文随机丢弃,保证系统的稳定性

31、。 9.4.4.各种网络攻击的防范 (续) 4.防范Smurf攻击 Smurf攻击是利用Ping程序中使用的ICMP协议。攻击者首先制造出源地址是受攻击主机的IP地址的包;然后攻击者将这些包发送给不知情的第三方,使它们成为帮凶;如果攻击者发送足够的ICMP包,回应会超过受攻主机的承受能力;因此,Smurf攻击实际上是一种IP欺骗式的攻击,将导致拒绝服务攻击的结果。9.4.4.各种网络攻击的防范 (续) 5.防范Fraggle攻击 Fraggle攻击与Smurf攻击类似,只是利用UDP协议;虽然标准的端口是7,但是大多数使用Fraggle攻击的程序允许你指定其它的端口。最好的防止系统受到Smur

32、f和Fraggle攻击的方法是在防火墙上过滤掉ICMP报文,或者在服务器上禁止Ping,并且只在必要时才打开ping服务。 9.4.4.各种网络攻击的防范 (续) 6.防范Ping of Death攻击 这种攻击通过发送大于65536字节的ICMP包使操作系统崩溃;通常不可能发送大于65536个字节的ICMP包,但可以把报文分割成片段,然后在目标主机上重组;最终会导致被攻击目标缓冲区溢出。防止系统受到Ping of Death攻击的方法与防范Smurf和Fraggle攻击是相同得,可以在防火墙上过滤掉ICMP报文,或者在服务器上禁止Ping,并且只在必要时才打开ping服务。9.4.4.各种网

33、络攻击的防范 (续) 7.防范Tear Drop攻击 Teardrop类的攻击利用UDP包重组时重叠偏移(假设数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的Data,也未超过第一片的尾部,这就是重叠现象)。的漏洞对系统主机发动拒绝服务攻击,最终导致主机菪掉;对于Windows 2000/XP/2003系统会导致蓝屏死机,并显示STOP 0 x0000000A错误。对付这种类型得攻击最好的方法就是要及时为操作系统打补丁了,但是Teardrop攻击仍然会耗费处理器的资源和主机带宽。9.4.4.各种网络攻击的防范 (续) 8.防范拒绝服务攻击 尽管目前没有哪个网络可以免受拒

34、绝服务(DoS)攻击,但如果采取以下几项措施,能起到一定的预防作用。1.确保所有服务器采用最新系统,并打上安全补丁。根据计算机紧急响应协调中心的发现,几乎每个受到DoS攻击的系统都没有及时打上补丁。2.确保管理员对所有主机进行检查,而不仅针对关键主机。这是为了确保管理员知道每个主机系统在运行什么?谁在使用主机?哪些人可以访问主机?否则,即使黑客侵犯了系统,也很难查明。3. 确保从服务器相应的目录或文件数据库中删除未使用的服务,如FTP或NFS。4.禁止内部网通过Modem连接至PSTN系统。否则,黑客能通过电话线发现未受保护的主机,立刻就能访问极为机密的数据。5.禁止使用网络访问程序如Teln

35、et、Ftp、Rsh、Rlogin和Rcp,使用加密的访问程序(如SSH)取代。SSH不会在网上以明文格式传送口令,而Telnet和Rlogin则正好相反,黑客能搜寻到这些口令,从而立即访问网络上的重要服务器。此外,若没有必要使用Rlogin登录,则最好在Unix上应该将.rhost和hosts.equiv文件删除,因为不用猜口令,这些文件就会提供登录访问。6.限制在防火墙外的网络文件共享。否则的话会使黑客有机会截获系统文件,并以特洛伊木马替换它,文件传输功能无异将陷入瘫痪。7.确保手头有一张最新的网络拓扑图。这张图应该详细标明TCP/IP地址、主机、路由器及其他网络设备,还应该包括网络边界、

36、安全服务器区(SSN)及内部网部分。8.应用防火墙系统,在防火墙上运行端口映射程序或端口扫描程序。大多数事件是由于防火墙配置不当造成的,使DoS/DDoS攻击成功率很高,所以定要认真检查特权端口和非特权端口。9.检查所有网络设备、主机和服务器系统的日志。只要日志出现漏洞或时间出现变更,几乎可以肯定:相关的主机安全受到了危胁。9.4.5.脚本漏洞防范 1、防范CGI脚本漏洞 CGI(COMMOM GATE INTERFACE)是外部应用程序与WEB服务器交互的一个标准接口,它可以完成客户端与服务器的交互操作。CGI带来了动态的网页服务,CGI脚本是主页安全漏洞的主要来源,这主要是由于CGI程序设

37、计不当,暴露了未经授权的数据。通过构造特殊字符串给CGI程序就可能得到这种权限。防范CGI脚本漏洞主要是:1.使用最新版本的Web服务器,安装最新的补丁程序,正确配置服务器;2.按照帮助文件正确安装CGI程序,删除不必要的安装文件和临时文件;3.使用C编写CGI程序时,使用安全的函数;4.使用安全有效的验证用户身份的方法;5.验证用户的来源,防止用户短时间内过多动作;6.推荐过滤“& ; ” | * ? ( ) $ n r t 0 #./;7.在设计CGI脚本时,其对输入数据的长度有严格限制;8.实现功能时制定安全合理的策略,CGI程序还应具有检查异常情况的功能,在检查出陌生数据后CGI应能及

38、时处理这些情况。9.4.5.脚本漏洞防范(续) 2、防范Asp脚本漏洞 目前,大多数网站上的ASP程序有这样那样的安全漏洞,但如果编写程序的时候注意一点的话,还是可以避免的。1用户名与口令被破解攻击原理:用户名与口令,往往是黑客们最感兴趣的东西,如果被通过某种方式看到源代码,后果是严重的。防范技巧:涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限。出现次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件中。如果涉及与数据库连接,在理想状态下只给它以执行存储过程的权限,千万不要直接给予该用户修改、插入、删除记录的权限。9.4.5

39、.脚本漏洞防范(续) 2、防范Asp脚本漏洞 2验证被绕过攻击原理:现在需要经过验证的ASP程序大多是在页面头部加一个判断语句,但这还不够,有可能被黑客绕过验证直接进入。防范技巧:需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。3inc文件泄露问题攻击原理:当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。防范技巧:程序员应该在网页发布前对它进行彻底的调试;安全专家则需要

40、加固ASP文件以便外部的用户不能看到它们。首先对.inc文件内容进行加密,其次也可以使用.asp文件代替.inc文件使用户无法从浏览器直接观看文件的源代码。inc文件的文件名不要使用系统默认的或者有特殊含义容易被用户猜测到的名称,尽量使用无规则的英文字母。9.4.5.脚本漏洞防范(续) 2、防范Asp脚本漏洞 4自动备份被下载攻击原理:在有些编辑ASP程序的工具中,当创建或者修改一个ASP文件时,编辑器自动创建一个备份文件,比如:UltraEdit就会备份一个.bak文件,如你创建或者修改了some.asp,编辑器会自动生成一个叫some.asp.bak文件,如果你没有删除这个bak文件,攻击

41、者可以直接下载some.asp.bak文件,这样some.asp的源程序就会被下载。防范技巧:上传程序之前要仔细检查,删除不必要的文档。对以BAK为后缀的文件要特别小心。9.4.5.脚本漏洞防范(续) 2、防范Asp脚本漏洞 5特殊字符攻击原理:输入框是黑客利用的一个目标,他们可以通过输入脚本语言等对用户客户端造成损坏;如果该输入框涉及数据查询,他们会利用特殊查询语句,得到更多的数据库数据,甚至表的全部。因此必须对输入框进行过滤。但如果为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过。防范技巧:在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML、JavaScript、V

42、BScript语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。同时对输入字符的长度进行限制。而且不但要在客户端进行输入合法性检查,同时要在服务器端程序中进行类似检查。9.4.5.脚本漏洞防范(续) 2、防范Asp脚本漏洞 6数据库下载漏洞攻击原理:在用Access做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的Access数据库的路径和数据库名称,那么他也能够下载这个Access数据库文件,这是非常危险的。防范技巧:(1)为你的数据库文件名称起个复杂的非常规的名字,并把它放在几层目录下。所谓 “非常规”,打个比方说,比如有个数据库要保存的是有关书籍的信息,可不要给它

43、起个“book.mdb”的名字,而要起个怪怪的名称,比如d34ksfslf.mdb,并把它放在如./kdslf/i44/studi/的几层目录下,这样黑客要想通过猜的方式得到你的Access数据库文件就难上加难了。(2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如: DBPath = Server.MapPath(“cmddb.mdb”)conn.Open “driver=Microsoft Access Driver (*.mdb);dbq=” & DBPath 假如万一给人拿到了源程序,你的Access数据库的名字就一览无余了。因此建议你在ODBC里设置数据源,再在程序中这

44、样写:conn.open“shujiyuan”(3)使用Access来为数据库文件编码及加密。首先在“工具安全加密/解密数据库”中选取数据库(如:employer.mdb),然后按确定,接着会出现“数据库加密后另存为”的窗口,可存为:“employer1.mdb”。要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。接下来我们为数据库加密,首先打开经过编码了的 employer1.mdb,在打开时,选择“独占”方式。然后选取功能表的“工具安全设置数据库密码”,接着输入密码即可。这样即使他人得到了employer1.md

45、b文件,没有密码他也是无法看到 employer1.mdb中的内容。9.4.5.脚本漏洞防范(续) 3、防范Php脚本漏洞4、防范Jsp脚本漏洞 参见教材(自学)9.4.6. 在WEB上提高系统安全性和稳定性1web服务器安全预防措施:(1限制在web服务器开帐户,定期删除一些断进程的用户。2对在web服务器上开的帐户,在口令长度及定期更改方面作出要求,防止被盗用。 3尽量使ftp, mail等服务器与之分开,去掉ftp,sendmail,tftp,NIS, NFS,finger,netstat等一些无关的应用。4在web服务器上去掉一些绝对不用的shell等之类解释器,即当cgi的程序中没用

46、到perl时,就尽量把perl在系统解释器中删除掉。5定期查看服务器中的日志logs文件,分析一切可疑事件。在errorlog 中出现rm, login, /bin/perl, /bin/sh 等之类记录时,服务器可能有受到一些非法用户的入侵的尝试。6设置好web服务器上系统文件的权限和属性,对可让人访问的文档分配一个公用的组如:www,并只分配它只读的权利。把所有的HTML文件归属WWW组,由WEB管理员管理WWW组。对于WEB的配置文件仅对WEB管理员有写的权利。9.4.6. 在WEB上提高系统安全性和稳定性(续) 1web服务器安全预防措施:7有些WEB服务器把WEB的文档目录与FTP目

47、录指在同一目录时,应该注意不要把FTP的目录与CGI-BIN指定在一个目录之下。这样是为了防止一些用户通过 FTP上在一些尤如PERL或SH之类程序并用WEB的CGI-BIN去执行造成不良后果。8通过限制许可访问用户IP或DNS如: 在NCSA中的access.conf中加上: order mutual-failure deny from all allow from 168.160.142. 这样只能是以域名为或IP属于168.160.142的客户访问该WEB服务器。对于CERN或W3C服务器可以这样在httpd.conf中加上: Protection LOCAL-USERS GetMask

48、 (*., *., ) Protect /relative/path/to/directory/* LOCAL-USERS 9.4.6. 在WEB上提高系统安全性和稳定性(续) 1web服务器安全预防措施:9WINDOWS下HTTPD Netscape Communications Server for NT Perl解释器的漏洞:Netscape Communications Server中无法识别cgi-bin下的扩展名及其应用关系,如:.pl是PERL的代码程序自动调用 perl.exe文件解释,即使现在也只能把perl.exe文件存放在cgi-bin目录之下。执行如:/cgi-bin/perl.exe?&my_script.pl. 但是这就给任何人都有执行 perl的可能,当有些人在其浏览器的URL中加上如:/cgi-bin/perl.exe?&-e+unlink+%3C*%3E 时,有可能造成删除服务器当前目录下文件的危险。但是,其他如:OReilly WebSite或Purveyor都不存在这种漏洞。CGI执行批处理文件的漏洞:文件名:test.bat: echo off echo Content-type: text/plain echo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论