Защита Windows NT от сетевых атак
Существует множество способов получить несанкционированный доступ к свежеустановленной NT, или хотя бы добиться отказа в работе (denial of service). В этой заметке собраны рекомендации, выполнение которых позволяет максимально затруднить взлом.
Для удобства привожу их в виде последовательности действий, которые лучше всего выполнить сразу после инсталляции. Итак, по порядку.
Политика управления сервером
Если вы в состоянии выделить для web-сервисов отдельный сервер, лучше сделать это. Установите его как "stand-alone server", чтобы минимизировать проблемы с учетными записями. Такое решение тем более верно, если доступ к этому серверу будет производиться преимущественно через анонимный аккаунт, а многоуровневая поддержка пользователей не требуется.
Установите режим дополнительного шифрования учетных записей. Он становится доступным после установки Service Pack #3 и выше. Для этого используйте утилиту syskey.exe.
Управление бюджетами пользователей
Убедитесь, что локальный вход в систему с логинов Guest, IUSR_servername, IWAM_servername невозможен. Если в результате установки какого-либо ПО удается использовать эти бюджеты, исключите такую возможность. Учетная записть Guest должна быть заблокирована (account disabled), IUSR_servername и IWAM_servername не могут иметь права локального входа (Log on locally).
Переименуйте учетную запись Администратора (Administrator) и измените пароль к ней (пароль, который вы указали при регистрации, не должен работать). Необходимость этих действий связана с тем, что старый пароль сохраняется в файле WINNT\repair\sam._, откуда его можно получить L0phtCrack'ом, а при существовании бюджета Administrator легко организуется удаленный подбор паролей.
Настройте политику аудита (User Manager -> Policies -> Audit). Имеет смысл протоколировать по крайней мере неудачные действия пользователей (Failure).
Установите требования к учетным записям. Для этого настройте панель User Manager -> Policies -> Account. По возможности включите в ней все опции (срок истечения 42 дня, помнить 6 последних паролей (Minimum Password Age), минимальная длина 6 символов, блокировка после 5 неудачных логонов).
Ограничьте права групп пользователей (Users, Domain Users) и гостей (Guests, Domain Guests). Для этой цели используется панель User Manager -> Policies -> User rights. Эти группы не должны иметь права "Log on locally", "Shutdown" и некоторых других (добавлять по вкусу). Впрочем, такие ограничения для пользователей (групп Users, Domain Users) имеют смысл только применительно к серверу, за консолью которого работает лишь администратор.
Безусловно, в Вашей сети должны быть установлены четкие правила выбора паролей пользователями. Только при этом условии можно избежать их успешного подбора. Типичные примеры подобных рекомендаций смотрите в заметке "Инструктаж рядового пользователя".
Права доступа к файлам и каталогам
Используйте NTFS на всех дисках, так как файловая система FAT не позволяет эффективно ограничивать доступ. Права должны быть изменены следующим образом:
Каталог | Изменение прав |
|---|---|
system32 | Everyone/Change -> Everyone/Read |
winnt | Everyone/Full Control -> Everyone/Read, Administrators/Full control, System/Full control. Если используется ASP, то нужно добавить IUSR_<servername>/RWXD |
Модификация прав доступа необходима для защиты от троянских атак. К сожалению, в случае использования Microsoft Office 97 пользователи должны иметь к указанным каталогам права Change, что создает проблемы безопасности.
Сетевые протоколы и службы
Устанавливать сетевые протоколы лучше всего из принципа "как можно меньше". Оптимальный вариант (несбыточная мечта!) -- "голый" TCP/IP. Вообще, ошибки и баги, увы, есть в любом протоколе для NT, но особенно много их последнее время наблюдалось в Simple TCP/IP (набор chargen, daytime и пр.), AppleTalk (Services for Macintosh), NWLink (NetWare) и NetBIOS (Microsoft Network). Этим сервисам посвящена львиная доля выпущенных заплаток.
Если вам не требуется доступ к файлам и принтерам через TCP/IP, удалите сервис NetBIOS over IP -- в этом случае получить какую-либо информацию о компьютере через утилиту nbtstat будет невозможно.
Сконфигурируйте систему фильтрации пакетов TCP/IP (Start -> Settings -> Control panel -> Network -> Protocols -> TCP/IP -> Advanced -> Enable Security -> Configure. Для отдельного web-сервера, не являющегося контроллером домена, достаточно разрешить обращения только по протоколу TCP (6), с запретом, соответственно, UDP, к портам 80 и 443 (если используется Secure Sockets Layer). Если компьютер к тому же используется в качестве маршрутизатора и имеет несколько сетевых карт, то такая настройка для каждого сетевого интерфейса позволяет получить некоторые функции firewall.
Hotfixes и Service Packs
Безусловно, у Вас должны быть установлены все необходимые заплатки (fixes) поверх последнего вышедшего пакета обновления (service pack, на момент написания заметки -- service pack #5). За их выходом можно следить на web- и ftp-узлах Microsoft; на русском языке выходит Дайджест сетевой безопасности. Вы можете также иногда заглядывать в раздел "Хроника".
Дополнительные средства
AVP Monitor. Очень неудобно и нелогично инсталлируется, отнимает несколько мегабайт драгоценной памяти, однако четко отслеживает появление макросов и троянцев. Подробно: Лаборатория Касперского.
Network monitor. Аудит на уровне сетевых пакетов всего входящего/исходящего трафика, естественно, с возможностями анализа и фильтрации пакетов. Входит в комплект поставки Windows NT в качестве сетевой службы.
Windows NT Resource Kit. В состав этого продукта входит утилита C2 Configuration Manager, которая позволяет повысить уровень безопасности Вашего сервера до класса C2. Не увлекайтесь, однако, слишком сильно, иначе добрая программа в благородном порыве деинсталлирует Вашу сеть и все сетевые сервисы. Продукт бесплатно поставляет Microsoft.