检测你的SQL Server是否有特洛伊木马
你的SQL Server最近是否运行不正常?不,我指的不是我们肯定会遇到的通常的数据库和操作系统问题。我的意思是,你是否经历过服务器的反应迟钝,不稳定的动作,繁重的,然后每隔几天,找个非高峰的时间来扫描本地磁盘。
如果你已经运行了反病毒软件,那么确保它是最新的(那些基于客户端的自动更新和网络管理签名并不是百分百的可靠),并且执行一次全面的系统扫描。不要害怕安装和使用其他供应商的软件——特别是当它涉及间谍软件保护的时候。
2: 查看内存
你可以使用Windows任务管理器来搜索那些看起来就属于恶意软件,或者使用了太多内存或者占用了大量CPU时间的应用程序。我建议你使用Sysinternals公司的Process Explorer(下面高亮显示的NetBus Trojan),因为它提供了运行进程的较多信息,并且以更可靠的方式来杀掉那些不应该的进程。
你也许会想,这看起来也太强了吧——你怎么可能抓住那些载入你的Windows服务器上的东西。你考虑一下就会发现它实际上不是特别复杂;在你的网络中的所有系统中,你确实需要彻底地了解你的数据库——其中包括记录哪些进程应该运行,哪些不应该。所以,如果你在第一次安装之后拥有了良好的基线——甚至是现在,假设所有事物都运行得很好——当发生特洛伊类型的问题的时候,你就可以用它作为你比较的基础。
3: 查看开放的端口
你可以使用Windows内置的netstat工具来查看哪些端口开放的,并且连接到服务器上。在命令行中,输入netstat –an|more,可以一页挨着一页地查看开放的和监听的TCP和UDP端口。还有一种更好的方法就是使用Foundstone的 Vision工具或者Sysinternals公司的TCPView工具来完成。
4: 查看你的网络流量
也许判断你的SQL Server中是否发生了恶意行为的最简单办法就是看看它是否进行了网络通信。如果你有一个非常顺手的网络分析器,那么你就可以在1、2分钟之内发现情况。你可以使用SQL Server自身携带的分析器,或者从别处连接到你的以太网交换器的交换或者镜像端口上。
我比较喜欢EtherPeek这个网络分析器,它可以像大多数其它分析器一样捕捉进出你的SQL Server的包。如下图所示,一些跑在TCP端口12345上(通常是NetBus的特洛伊端口)流量就被发现了。
EtherPeek可以轻松抓取网络流量,并且高亮显示特洛伊的动作——在本次网络流量抓取过程中
你可以真正地创建你自己的网络分析触发器和过滤器,如果你知道要寻找什么的话。这里的列表列出了常见的特洛伊和相关端口的细腻向。这种发现恶意流量的方法并不是十分安全,因为端口号是可以经常更换的,但是它的服务器是个不错的目标。