Олег Бойцев - Защити свой компьютер на 100% от вирусов и хакеров
Есть ли выход? Конечно, есть. Прежде всего необходимо установить обновление: http://www.microsoft.com/technet/security/buLLetin/MS04-011.mspx.
Кроме того, следует отключить доступ по нулевой сессии. Для этого:
♦ в разделе реестра HKEY_LOCAL_MACHINESystemCurrentControlSet ControlLSA нужно установить значение параметра RestrictAnonymous равным 2 для Windows 2000/XP/2003 (1 для Windows NT3.5/NT4.0) (тип параметра – REG_DWORD);
♦ для Windows 2000/XP/2003 в разделе реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServiceslanmanserver необходимо установить значение параметра RestrictNullSessionAccess равным 1 (тип параметра – REG_DWORD);
♦ для Windows NT3.5/NT4.0 в разделе реестра HKEY_LOCAL_MACHINESYSTEM CurrentControlSetServicesLanManServerParameters необходимо установить значение параметра RestrictNullSessAccess равным 1 (тип параметра – REG_DWORD).
Едем дальше. Следующим в нашем списке оказывается открытый 445-й порт, который принадлежит службе Microsoft Directory Service. Не грех будет вспомнить, что именно 445-й – один из портов, через который в свое время активно "щемился" нашумевший червяк MS Blast. При отсутствии соответствующих заплаток 445-й порт, без преувеличения, – настоящая дыра всех времен и народов. Следующие уязвимости и варианты их реализации есть яркое подтверждение вышесказанному: "Удаленное выполнение команд ms05-027, ms05-043". Объект, который значится в бюллетене под кодовым именем ms0 5-02 7, имеет следующее описание со всеми вытекающими отсюда последствиями: "Уязвимость в службе Print Spooler позволяет удаленному пользователю выполнить произвольный код на целевой системе".
А теперь разберем сухой отчет от Microsoft подробнее. Служба Spooler предназначена для управления принтерами и заданиями печати и экспортирует интерфейс на базе RPC (Remote Procedure Call). В данной службе присутствует уязвимость переполнения буфера. Удаленный или локальный пользователь может подключиться к системе через NULL-сессию и с помощью специального запроса выполнить произвольный код с привилегиями Local System или вызвать отказ от обслуживания. Данной уязвимости подвержены следующие версии операционных систем: Microsoft Windows 2000 Service Pack 4, Microsoft Windows XP Service Pack 1, Microsoft Windows XP Service Pack 2, Microsoft Windows Server 2003.
Как злонамеренный пользователь может воспользоваться этой уязвимостью? Уязвимость может быть использована удаленно путем создания специального запроса к службе Printer Spooler. В Windows 2000 и Windows XP SP1 эта служба доступна извне с помощью именованных каналов и посредством NULL-сес-сии. В Windows XP SP2 и Windows Server 2003 для доступа к этой службе необходимо пройти аутентификацию, то есть для удачной эксплуатации нужно иметь учетную запись на удаленном хосте.
Как все это дело прикрыть? Просто. Достаточно лишь установить обновление для Windows (http://www.microsoft.com/technet/security/BuLLetin/MS05-043.mspx), и все.
Следующим открытым портом оказался порт 4899, принадлежащий Radmin. Комментарий в данном случае будет не такой горячий, как в предыдущих: просто на машине установлена утилита удаленного администрирования – хотя для злонамеренного пользователя данная информация не должна показаться столь уж бесполезной.
И напоследок, открытый TCP-порт 5000, который принадлежит службе SSDP. Данный сервис отвечает за обнаружение UPnP-устройств в домашней сети. Уязвимость в службе SSDP, а точнее отсутствие таковой (по крайней мере на момент написания книги), не представляет реальной угрозы и не может быть использована для удаленного выполнения кода, отказа в обслуживании и т. п. Тем не менее никогда не стоит забывать простое правило: меньше служб – меньше открытых портов – меньшая вероятность того, что ваша система окажется уязвимой (подробно про оптимизацию безопасности Windows средствами операционной системы смотрите в гл. 7).
При ненадобности "обнаруживать UPnP-устройства в вашей сети" смело отключаем эту службу через Панель управления ► Администрирование ► Службы.
Подведем итог. Шесть открытых портов: 135-UDP, 135-TCP, 139-TCP, 445-TCP, 4899-TCP и 5000-TCP, половина из которых (135-UDP, 139-TCP и 445-TCP) открывают практически безграничные возможности для "творчества" удаленного "зло-админа".
6.2. Безопасная архитектура – это фундамент
Итак, помимо централизованной политики безопасности, без которой де факто невозможно построение безопасной сети в принципе, особое внимание следует обратить на следующее моменты.
♦ Использование безопасных протоколов обмена (не секрет, что такие текстовые протоколы, как FTP и telnet, представляют собой явную угрозу) и туннелирование данных, например, посредством SSH.
♦ Шифрование критичных данных с использованием надежных криптоалгоритмов.
♦ Использование архитектуры сети, включающей в себя наличие DMZ (демилитаризованной зоны), обслуживаемой двумя брандмауэрами. DMZ подразумевает под собой фрагмент сети, не являющийся полностью доверенным. Смысл создания DMZ заключается в том, чтобы оградить внутреннюю систему (в данном случае это наша защищенная LAN) от доступа, который осуществляется из Интернета.
♦ Использование IDS (Intrusion-Detection System), IPS (Intrusion-Prevention System). В идеальном случае такая система выдаст сигнал тревоги (или предотвратит саму попытку вторжения– IPS) при попытке проникновения.
♦ Использование NAT (технология трансляции адресов локальной сети на IP-адрес внешнего соединения). Очевидно, что функция безопасности NAT реализуется, благодаря тому что скрытые адреса внутренних систем являются невидимыми из внешней сети, в частности из Интернета.
♦ Защита периферии посредством тонких клиентов и двухфакторной системы аутентификации (подобные инструменты в значительной мере уменьшают риск вторжения изнутри).
Более частные рекомендации могут быть следующими.
♦ Первое, что необходимо сделать, – установить самые последние обновления для вашей операционной системы. Скачать обновления можно с официального сайта Корпорации Microsoft, предварительно установив как можно более новый вариант сборки вашей операционной системы. Дыры как находили, так и будут находить, поэтому, если вы обладатель самых свежих обновлений, расслабляться все равно не стоит: с момента обнаружения новой уязвимости и до момента выхода заплатки "умные люди" успевают написать вирус или создать червя.
♦ В свойствах подключения крайне желательно оставить только самое необходимое, а именно ТСР/IP. Службу доступа к файлам и принтерам сети Microsoft при
отсутствии реальной необходимости сетевого доступа к ним необходимо отключить, чтобы не облегчать задачу всем любителям открытых по умолчанию C$, D$, ADMIN$ и т. д.
♦ Все неиспользуемые сервисы желательно выключить: FTP, Telnet, удаленный реестр – зачем все это, если вы не используете ни один из перечисленных сервисов? Это не только улучшит производительность вашей системы, но и автоматически закроет кучу открытых портов.
♦ Установите файловую систему NTFS, которая позволяет разграничить доступ к ресурсам вашего ПК и усложняет процесс локального взлома базы SAM.
♦ Удалите лишние учетные записи, а в оснастке gpedit.msc запретите локальный и сетевой вход для всех пользователей, оставив только используемых на данной машине, и доступ по сети для Администратора.
♦ Не используйте автоматический ввод пароля при входе в систему, особенно для пользователя Администратор.
♦ Желательно, чтобы на вашем ПК был установлен какой-нибудь персональный брандмауэр, закрывающий доступ к открытым портам (ZoneAlarm, Outpost Firewall или что-нибудь подобное). Помимо защиты от попыток проникновения извне, с помощью брандмауэра вы сможете легко и просто контролировать доступ программ (среди них может быть, к примеру, затаившийся троянский конь) к Интернету. Любая попытка вырваться в Сеть не останется незамеченной вашей "огнедышащей стеной".
ПРИМЕЧАНИЕ
Очевидно, что вышеперечисленное адекватно для защиты рабочих станций. Если же речь идет об организации безопасности крупной корпоративной сети, о защите сервера/шлюза, то здесь взор системного администратора/администратора безопасности в первую очередь должен быть направлен на использование UNIX-подобных систем (FreeBSD, Linux) как наиболее безопасной альтернативе Windows.
♦ Не стоит забывать и о снифферах, с помощью которых ваши пароли могут стать настолько же общественными, насколько места "М" и "Ж".
ПРИМЕЧАНИЕ
Под сниффером подразумевается программа, перехватывающая все пакеты, идущие по локальной сети. Как такое может быть? Просто. Сниффер переводит сетевую карту в "неразборчивый" режим, что позволяет захватить даже те пакеты, которые не предназначены для системы, в которой установлен сниффер. Пример: Cain & Abel.
♦ Как известно, при установлении SMB-сеанса клиент отвечает серверу, отправляя в сеть LM-хэш (Lan Manager-хэш) и NT-хэш (Windows NT). Возможность отправки двух вариантов зашифрованных паролей необходима для совместимости со старыми операционными системами. Как при локальном, так и при удаленном способах аутентификации система сначала пытается идентифицировать NT-хэш. Если его нет, система пытается проверить подлинность LM-хэша. А вот тут-то и «зарыта собака». Дело в том, что криптостойкость LM-хэша не выдерживает никакой критики (см. гл. 7).