Несколько месяцев тому назад мне пришлось заниматься обслуживанием клиентских рабочих станций в одном из офисов компании. В состав серверной фермы клиентов входил Web-сервер, который в основном использовался как intranet-сервер. При помощи RRAS и некоторых хитрых настроек на брандмауэре я предоставляла группе пользователей возможность подключаться к Web-серверу через Internet. Поскольку у Web-сервера имелся внутренний адрес в общей сети (10.1.1.x), я настроила трансляцию внешних запросов, использующих зарегистрированные адреса, во внутренние адреса в общей сети. Я полагала, что сервер остается невидимым для всех, но на всякий случай дополнительно закрыла его от HTTP-запросов.

Представьте себе мое изумление, когда в один прекрасный день на экране Web-сервера я обнаружила сообщение от кого-то из Internet. Это был типичный спам, известный больше как messenger spam. Хотя были предприняты различные меры предосторожности (отключение ненужных служб, использование переадресации порта для маскирования адреса сервера), я упустила из виду самую малость - службу Messenger.

Хочу напомнить, что речь идет о штатной службе Messenger, которая присутствует в Windows XP, на платформах Windows 2000 и Windows NT. Хотя в Microsoft термин messenger используется для обозначения различных сущностей Instant Messaging (IM), только о службе Messenger можно говорить как о "родной" службе операционной системы. Не надо ее путать также с такими утилитами как Windows Messenger или MSN Messenger, которые связаны с рассылкой сообщений в Internet и генерируют бесконечный трафик Universal Plug and Play (UPnP).

Messenger занимается обслуживанием следующих видов сообщений: настраиваемых как административные предупреждения (alert) в Performance Monitor, сигнализирующих о выполнении заданий, отосланных на печать, и сообщающих о состоянии службы UPS Service. Многие популярные антивирусные программы также используют службу Messenger для оповещения о вирусной атаке и предпринятых действиях. Кроме того, можно применять команду Net Send для рассылки сообщений отдельным пользователям, целой группе или всем пользователям домена. На терминальных серверах команда Msg выполняет похожую функцию. Пользователи с возможностью работать из командной строки также имеют право применять команду Net Send для связи друг с другом. Системы могут посылать и принимать текстовые сообщения только при запущенной службе Messenger. Чтобы узнать, под какими именами зарегистрирована ваша система, введите команду Net Name - именно с этими именами будет работать служба Messenger. При желании одно или несколько имен можно удалить:

net name <имя> /delete

Когда Messenger не работает, сообщения на экране не появляются, нельзя даже понять, что вам было отослано сообщение. Поскольку Messenger не гарантирует, что сообщения будут получены адресатом, а метод подтверждения получения сообщения не предусмотрен, не стоит возлагать на эту службу большие надежды.

Итак, как запретить вывод сообщений на экран компьютера? Самый простой метод - остановить и отключить Messenger раз и навсегда. В зависимости от настроек системы, для этого, возможно, потребуется зарегистрироваться с правами администратора сервера и отключить службу. Откройте Control Panel, Administrative Tools и дважды щелкните Services. Найдите и дважды щелкните службу Messenger. Измените тип запуска, Startup Type, с Automatic на Disabled и нажмите Stop. Если просто остановить Messenger, но не отключить его, в следующую перезагрузку служба стартует автоматически. Помните, что после отключения службы Messenger вы больше не сможете получать сообщения от UPS, извещения о завершении заданий, отосланных на печать, предупреждения от Performance Monitor. Если вас устраивает такое прямолинейное решение, только это самый простой и быстрый способ.

Избирательное решение требует установки и настройки брандмауэра - "родной" службы Internet Connection Firewall (ICF), если речь идет об XP, или разработке от независимого поставщика программного обеспечения для Windows 2000. Такой подход - наиболее адекватный, если система напрямую подключена к Internet и поэтому вполне может стать мишенью для спамеров самого разного толка, в том числе и от Messenger. Служба Messenger использует NetBIOS- или WINS-имя станции или пользователя для связи с другими системами. Если ваша система не принимает входящий трафик на порты NetBIOS, вы никогда не будете получать NetBIOS-сообщений, даже если служба Messenger включена. Отключение входящего трафика на портах NetBIOS - стандартная практика, поскольку протокол NetBIOS чрезвычайно уязвим с точки зрения безопасности и несанкционированного использования.

Чтобы отключить прием Messenger-сообщений, сначала убедитесь, что брандмауэр отключил весь входящий трафик на UDP-порты 135, 137, 138 и TCP-порты 135 и 139. В системах, подключенных к Internet напрямую, нужно также отключить входной трафик для TCP-порта 445. Если защищаемая система - часть сети Windows 2000 с настроенной службой Active Directory (AD), не блокируйте трафик через порт 445: Microsoft Directory Service (DS) использует этот порт для AD-коммуникаций. Если вы впервые сталкиваетесь с XP ICF, рекомендую сначала прочитать статьи Microsoft "HOW TO: Enable or Disable Internet Connection Firewall in Windows XP" (http://support.microsoft.com/?kbid=283673), "How to Manually Open Ports in Internet Connection Firewall in Windows XP" (http://support.microsoft.com/?kbid=308127) и "Description of the Windows XP Internet Connection Firewall" (http://support.microsoft.com/?kbid=320855).

Помните, что задействовать брандмауэр следует лишь в том случае, если ваша система не связывается с устаревшими системами, в которых разрешение имен NetBIOS лежит в основе поиска пользователей и сетевых ресурсов. Если, к примеру, в сети работают пользователи Windows 9х, которые предоставляют для общего применения свои принтеры или сканеры, то при отключении входящего NetBIOS-трафика пользователи уже не смогут подключиться к таким сетевым ресурсам. Какой бы метод вы ни избрали, Messenger-спам будет остановлен.

Паула Шерик - редактор Windows & .NET Magazine и консультант по вопросам планирования, реализации и взаимодействия сетей. С ней можно связаться по адресу: paula@winnetmag.com.