Недавно ко мне обратился клиент, у которого на сервере Windows 2000 возникли проблемы с производительностью. Сервер почему-то стал работать очень медленно, и приходилось слишком долго ждать, пока загрузятся приложения и документы. В организации данный сервер использовался как рабочая станция. Правильнее всего, конечно, было не задействовать сервер в качестве рабочей станции. Первоначально предполагалось, что для пользователей будут устанавливаться отдельные рабочие станции, но затем обстоятельства вынудили компанию использовать сервер как рабочую станцию.
Неустойчивые проблемы – самые досадные и непростые в разрешении. Как раз тогда, когда вы считаете, что проблема решена, она появляется снова, и непонятно – почему. Я попробовал обновить сервер, установив Windows 2003 Service Pack 4 (SP4), но ситуация возобновлялась снова и снова. Полное сканирование на вирусную активность ничего не дало. В Windows Task Manager я обратил внимание на большое число копий svchost.exe в закладке Process. Наблюдая за процессом, я обнаружил, что данный файл используется как родовой хост-процесс для служб, которые запускаются из DLL. С помощью Task Manager я отсортировал процесс по загрузке CPU и заметил, что процесс Svchost, в частности, забирает все ресурсы CPU. Я принудительно завершил процесс Svchost – сервер продолжал работать как обычно. Но когда кто-нибудь снова регистрировался на сервере или запускал сессию Windows 2000 Server Terminal Services, процесс Svchost снова появлялся, и сервер опять начинал "тормозить". Я даже попробовал удалить файл Svchost из каталога C:\winnt\system32, но вскоре он снова оказывался на прежнем месте – сразу после очередной регистрации пользователя. Все это очень напоминало поведение вируса, но почему тогда антивирусное программное обеспечение никак не реагировало? На тот момент, когда рассматривалась проблема, на сервере была установлена самая свежая копия вирусных шаблонов. Сервер был защищен программой Symantec Norton AntiVirus (NAV) Corporate Edition. Я отдельно просканировал копию файла Svchost, и Symantec сообщил, что файл инфицирован разновидностью вируса Backdoor.Beasty, и Symantec в настоящее время не располагает средствами его лечения.
Очень беспокоит то, что вместе с этим вирусом появился инструмент для создания разнообразных его вариаций. Значит, хакеры могут очень быстро плодить новые версии вируса, которые останутся незамеченными для антивирусного программного обеспечения. Backdoor.Beasty создает нелегальную точку входа, через которую осуществляется несанкционированный доступ к зараженному компьютеру. Вирус использует ICQ для извещения хакера о том, что «троянский конь» проник на компьютер, затем открывается TCP порт 6666 (в некоторых версиях используется порт 63117) и ожидает соединения. К счастью, в моем случае у клиента брандмауэр был настроен на блокировку ICQ и портов 6666 и 63117, поэтому хакер не смог подключиться к серверу. Инфицированный файл Svchost занимает примерно 54 Кбайта, тогда как неинфицированный – 7952 байта. Вирус оказался достаточно "умен" – дата создания файла совпадает с правильной датой оригинального аналога, svchost.exe, из пакета SP4. Заподозрив вирусную активность на сервере, я проверил следующие разделы реестра:
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Run
- HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Run
Если ваша станция работает под управлением Windows Server 2003, Windows XP, Windows 2000 или Windows NT, проверьте также раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Policies\Explorer\Run.
Я не стал проверять разделы реестра, откуда вирус мог быть загружен. Данная запись реестра приводила к тому, что инфицированный Svchost загружался заново всякий раз, когда кто-нибудь регистрировался в системе или запускал сессию Terminal Services на этом сервере. После очередного обновления вирусных шаблонов антивирусное программное обеспечение обнаружило и идентифицировало вирус как Backdoor.Beasty. Кроме того, файлы svchost.exe, msbooq.com и mskcfv.com также были объявлены зараженными. Я воспользовался рекомендациями http://securityresponse.symantec.com/ avcenter/venc/data/backdoor.beasty.h.html для удаления вируса с сервера вручную. Если одна из версий вируса заражает рабочую станцию или сервер, это может стать причиной катастрофических разрушений как на самой инфицированной станции, так и, возможно, на остальных станциях сети. Это еще одна веская причина для установки качественного, правильно настроенного брандмауэра. Я не знаю, каким образом данный сервер оказался зараженным. Возможно, причиной заражения послужили программное обеспечение, установленное пользователем самостоятельно, или хранитель экрана. Какое-то время я потрачу на выяснение этого вопроса. А пока с удовлетворением могу сообщить, что на сервере в настоящее время никаких вирусов нет, и он прекрасно работает.
Небольшая подсказка на тему поиска неисправностей в службах Windows 2000. Используйте для проведения диагностики компьютера Windows 2000 программу msconfig.exe из XP. По умолчанию на станции XP программа msconfig.exe находится в каталоге C:\windows\PCHealth\HelpCtr\Binaries. Нужно просто скопировать msconfig.exe на компьютер Windows 2000 в каталог C:\winnt\system32. Msconfig показывает информацию о выборе типа запуска служб, файлах system.ini, win.ini, boot.ini и состоянии служб. Используя установки на вкладке Services, можно избирательно настроить показ запущенных на станции служб (например, скрыть все службы Microsoft и отображать только состояние служб от независимых производителей). На вкладке Startup можно просмотреть программы, которые автоматически загружаются при запуске компьютера. Имя файла, параметры загрузки и соответствующие разделы реестра также показаны на вкладке Startup. В следующий раз при решении проблем с запуском компьютера или иных неполадках на XP или Windows 2000 очень рекомендую вспомнить о программе msconfig.exe.