Содержание статьи
В любой организации есть юзвери, которые пытаются использовать ресурсы Сети в
своих целях. В результате, несмотря на установленные антивирусы и брандмауэры,
клиентские системы начинают кишить вирусами, троянами, малварью и левыми
программами, периодически вызывающими сбои в работе Windows. Да и начальство
требует убрать лишнее с компов (игры, чаты, обучалки), контролировать
использование трафика и установить запрет на подключение флешек. Естественно,
хлопоты по разруливанию ситуаций ложатся на плечи админа.
Групповые политики
Групповые политики (GPO) - удобный и функциональный инструмент, позволяющий
управлять настройками безопасности Windows. С его помощью можно настроить
достаточно много параметров ОС. К сожалению, большая их часть скудно описана в
литературе, и начинающие админы часто даже не знают о том, какой потенциал у них
в руках. К тому же, групповые политики постоянно развиваются, и в новых версиях
ОС (а также сервис-паках) GPO получают новые функции. Узнать различия и
доступные параметры довольно просто, — скачай с сайта Microsoft cписок "Group
Policy Settings Reference" для используемой операционки.
В Win2k8 управление GPO осуществляется при помощи консоли Group Policy
Management Console (GPMC.msc) 2.0. Установки безопасности производятся в ветке
"Конфигурация компьютера - Конфигурация Windows - Параметры безопасности" (Computer
Configuration - Windows Settings - Security Settings). Здесь довольно много
настроек, при помощи которых можно определить политики паролей, задать
блокировки учетной записи, назначить права доступа, установить порядок аудита,
политики реестра, файловой системы, NAP, IP-безопасности и многое другое.
Разберем самые интересные из них.
Выбираем в консоли группу политик "Назначение прав пользователя". Политика
"Архивация файлов и каталогов" позволяет игнорировать разрешения файлов при
операциях резервного копирования. Следует четко определиться, кто будет входить
в такую группу, так как права на создание резервных копий, предоставленные кому
попало, могут привести к утечке корпоративных данных. Политика "Загрузка и
выгрузка драйверов устройств" (Load and Unload Device) позволяет устанавливать
драйвера после настройки системы; здесь лучше оставить в списке только
администраторов, чтобы пользователи не могли самостоятельно подключать сторонние
девайсы. Разрешив "Отладку программ", мы предоставим пользователю возможность
подключать отладчик к любому процессу или ядру, а ты сам понимаешь, какой это
риск. По умолчанию сюда входит только группа администраторов, но в организациях,
занимающихся разработкой ПО, хочешь не хочешь, а такое право давать придется.
Соответственно, нужно отслеживать легитимность его применения.
Особое внимание удели политикам в группе "Параметры безопасности", где много
полезных пунктов. Например, мы можем: отключить возможность анонимного доступа к
сетевым ресурсам, переименовать учетную запись гостя (если такая используется и
необходима). В политиках, начинающихся с "Устройства", одним щелчком мышки можно
заблокировать возможность подключения и форматирования сменных устройств,
дискет, компакт дисков и внешних хардов. Впервые политики блокировки сменных
устройств появились в Vista и Win2k8. Ранее для этих целей приходилось
использовать программы сторонних разработчиков вроде DeviceLock. В этой же
вкладке разрешаем или запрещаем подключение принтера выбранной группе
пользователей.
Политики ограниченного использования программ
Одной из самых важных в контексте статьи будет группа объектов GPO "Политики
ограниченного использования программ" (Software Restriction Policies, SRP).
Здесь настраиваются ограничения запуска приложений на компьютерах, начиная с
WinXP и выше. Принцип настроек совпадает с настройками правил файрвола:
администратор указывает список приложений, которые разрешено запускать на
системах организации, а для остальных ставит запрет. Или поступает наоборот:
разрешает все, а затем по мере необходимости блокирует, что не нужно. Здесь
каждый админ выбирает, как ему удобнее. Рекомендуется создать отдельный объект
GPO для SRP, чтобы всегда была возможность откатить изменения при необходимости
или возникновении проблем с запуском нужных приложений.
По умолчанию SRP отключены. Чтобы их активировать, следует перейти во вкладку
"Политики ограниченного использования программ" (в "Конфигурация компьютера" и
"Конфигурация пользователя" есть свои пункты) и выбрать в контекстном меню
"Создать политику ограниченного использования программ" (New Software
Restriction Policies). По умолчанию установлен уровень безопасности
"Неограниченный" (Unrestricted), то есть доступ программ к ресурсам определяется
NTFS правами пользователя. Разрешен запуск любых приложений, кроме указанных как
запрещенные. Чтобы изменить уровень, нужно перейти в подпапку "Уровни
безопасности", где находятся пункты активации еще двух политик – "Запрещено" (Disallowed),
при которой возникает отказ в запуске любых приложений, кроме явно разрешенных
админом. Политика "Обычный пользователь" (Basic User), появившаяся в GPO,
начиная с Vista, позволяет задать программы, которые будут обращаться к ресурсам
с правами обычного пользователя, вне зависимости от того, кто их запустил.
В организации с повышенными требованиями информационной безопасности лучше
самому определить список разрешенных программ, поэтому дважды щелкаем по
"Запрещено" и в появившемся окне нажимаем кнопку "Установить по умолчанию" (Set
as Default). Информация в появившемся окне сообщит, что выбранный уровень —
более строгий, и некоторые программы могут не работать после его активации.
Подтверждаем изменения. Теперь переходим в подпапку "Дополнительные правила".
После активации SRP создаются две политики, перекрывающие правила по умолчанию и
описывающие исключения для каталогов %SystemRoot% и %ProgramFilesDir%. Причем по
умолчанию политики для них установлены в "Неограниченный". То есть после
активации политики "Запрещено" системные программы будут запускаться в любом
случае. В контекстном меню для тонкой настройки политик предлагается 4 пункта. С
их помощью можно указать: правило для пути (путь к каталогу, файлу или ветке
реестра), зоны сети (интернет, доверенная сеть и так далее), хеш (указываем
отдельный файл, по которому генерируется хеш, позволяющий определить его
однозначно, вне зависимости от пути) и сертификат издателя (например, Microsoft,
Adobe и т.п.). При этом отдельная политика имеет свой уровень безопасности, и
легко можно запретить выполнение всех файлов из каталога, разрешив запуск только
отдельных. Правила для хеша имеют приоритет перед остальными и наиболее
универсальны. Правда, с учетом того, что хеш некоторых системных приложений
(того же Блокнота) будет отличаться в разных версиях ОС, к процессу
генерирования хеша лучше подойти внимательно.
Если щелкнуть по ярлыку "Политики ограниченного использования программ",
получим доступ еще к трем настройкам. Выбор политики "Применение" (Enforcement)
откроет диалоговое окно, в котором указываем, применять ли SRP для всех файлов
или исключить DLL (по умолчанию). Учитывая количество DLL'ок в системе,
активация контроля всех файлов потребует дополнительных ресурсов, поэтому
кастомный вариант выбираем, только когда это действительно необходимо. По
умолчанию политики актуальны для всех пользователей без исключения, но в
настройках предлагается снять контроль за деятельностью локальных админов. В
третьем поле активируется поддержка правил сертификатов. Такие политики также
замедляют работу системы и по умолчанию отключены.
С помощью политики "Назначенные типы файлов" определяются типы файлов,
которые считаются исполняемыми. В списке уже есть все популярные расширения, но
если используется что-то свое, добавляем его/их в перечень. И, наконец, в
"Доверенные издатели" задаем тех, кто может (пользователь и/или админ) добавить
подписанное доверенным сертификатом приложение, а также определять подлинность
сертификата. Для максимальной безопасности разреши добавлять приложения только
админам доменного уровня.
AppLocker
За несколько лет существования технология SRP так и не смогла завоевать
популярность, ведь, как ты мог убедиться из предыдущего раздела, точно настроить
политики - не такая уж и простая задача. Максимум, на что обычно хватало админа,
— запрет отдельных прог и игрушек. В Win7/Win2k8R2 было представлено логическое
продолжение SRP - AppLocker. Впрочем, сам SRP никуда не делся, оставлен в целях
совместимости. В отличие от SRP, Applocker работает не в пользовательском
окружении, а в системном: устанавливаемые политики более эффективны.
Настройки AppLocker находятся во вкладке Security Settings (secpol.msc) -
Application Сontrol Policies. Если раскрыть дерево, то увидим три подпункта, в
которых настраиваются политики в соответствии с типами файлов:
- Executable Rules - правила для файлов с расширением exe, com и src;
- Windows Installer Rules - правила для msi и msp файлов;
- Script Rules - правила для bat, cmd, js, ps1 и vbs скриптов.
По умолчанию используется политика Default, работа которой основывается на
установке GPO. Но для каждого типа правил можно выбрать еще одну из двух
политик:
- Enforced — политики активны, и все, что не описано в правилах,
блокируется; - Audit Only — режим аудита, все события, для которых созданы правила,
вместо блокировки заносятся в журнал. Полезен при знакомстве и
первоначальной отладке работы AppLocker.
Для активации нужного варианта переходим во вкладку "Enforcement" окна
свойств AppLocker. Перейдя в "Advanced" и установив флажок "Enable DLL rule
collection", можно активировать проверку DLL. Как и в случае с SRP, проверка
потребует дополнительных системных ресурсов. По умолчанию правил нет, поэтому
ограничения на запуск программ не накладываются (кроме прав NTFS, естественно),
и в отличие от SRP, рулесеты нужно создать самому. Этот процесс в AppLocker
выглядит несколько проще. Контекстное меню предлагает для этого три варианта:
- Create New Rule - при помощи визарда создаются правила для издателя (Publisher),
пути (Path, каталог или файл) и хеша (File Hash); - Automatically generate Rules - здесь просто указываем на каталог, в
котором находятся установленные проги, и мастер автоматически создает
правила (Path/Hash) для всех исполняемых файлов внутри; - Create Default Rules - создается набор правил по умолчанию.
При выборе последнего пункта будут созданы разрешающие правила для запуска
приложений из каталогов Windows (%WINDIR%) и Program Files (%PROGRAMFILES%);
пользователи, входящие в группу локальных администраторов (BUILTIN\Administrator),
ограничений по запуску не имеют. После того как первые правила в категории
сформированы и выбран вариант Enforced, запуск приложений возможен только в том
случае, если он разрешен политикой. В последующем корректируем имеющиеся правила
и создаем новые. Чтобы отредактировать правило, вызываем его свойства и меняем:
учетные записи и группы, которые попадают под политику, путь к каталогу или
файлу, действие (Action) блокировать или разрешить. Использование учетных
записей и групп в правилах AppLocker группы достаточно удобно, так как можно
создать группу пользователей, которым разрешен запуск офисных приложений, группу
"интернетчиков" и так далее, и затем включать в них отдельных пользователей.
Настройки во вкладке Exceptions позволяют задать исключения для отдельных
объектов. Нажав кнопку Add, указываем отдельный файл, хеш или издателя, которые
не будут подпадать под действие редактируемой политики. Так можно достаточно
тонко указать разрешения для большого количества файлов.
Да, и как ты, наверное, заметил, возможность настройки правила для зоны сети
в AppLocker отсутствует.
После доводки Default Rules приступаем к созданию индивидуальных политик. Для
чего выбором Create New Rule запускаем мастер и в пошаговом режиме производим
нужные настройки. Первое окно пропускаем, во втором задаем действие Allow/Deny и
указываем пользователя или группу, для которых будет действовать политика. Далее
выбираем тип политики Publisher/Path/File Hash и, в зависимости от
произведенного выбора, отмечаем объект. При определении пути AppLocker
использует переменные. То есть, если указать в Проводнике C:\soft, путь будет
преобразован к виду %OSDrive%\soft\*. Кроме того, возможны такие переменные: %WINDIR%,
%SYSTEM32%, %PROGRAMFILES%, %REMOVABLE% (CD/DVD) и %HOT% (USB-устройства).
Причем особо отмечается, что это внутренние переменные AppLocker, а не
системные, хотя некоторые названия совпадают.
Политики созданы, но чтобы они применялись, нужно запустить службу
Application Identity (AppIDSvc). Делается это через консоль Services (services.msc)
или в редакторе групповых политик (Security Settings -> System Services). После
изменений обновляем политики:
> gpupdate /force
Еще один метод контроля за установленным ПО и подключенными девайсами -
использование специальных программ инвентаризации (например, SCCM, о котором
говорилось в статьях "Начальник
сети" и "Оружие
массового управления", опубликованных соответственно в августовском и
сентябрьском номерах ][ за 2009 год). Также не забываем о службе "Управление
приложениями" (AppMgmt), отключив которую, мы блокируем возможность установки
ПО.
Борьба с NAT'ом
С "халявным" интернетом на работе у многих пользователей появляется соблазн
использовать его в своих целях. Конечно, времена, когда к системному блоку
подключался модем и через него выходили в интернет, практически канули в лету
(для некоторых провинциальных городов это все еще актуально), но менеджеры порой
берут работу на дом, а доступ к нужной инфе пытаются получить посредством
диалапа. Если же офис находится в жилом доме, то сотрудники-энтузиасты могут
развернуть WiFi и раздавать соседям трафик. В любом случае халява привлекает
любителей, и остается удивляться, как народ на выдумки горазд. Кроме
сворованного трафика, пользователь ставит под удар безопасность всей сети, ведь
через такой черный ход запросто могут проникнуть вирусы, троянцы и прочая зараза
(+ может быть похищена конфиденциальная информация).
Методов обнаружения работы клиентов из-за NAT предостаточно - контроль TTL,
анализ идентификатора IP-пакета и диапазона TCP/UDP портов и так далее
(подробнее о методах обнаружения NAT читай в статье Криса "Охота
на сетевых партизан" в ][ #111). Мы же разберем практическую реализацию.
Инструментом номер один здесь является
Wireshark -
мультиплатформенный (Windows, Linux, xBSD, Solaris, Mac OS X и т.д.) снифер и
анализатор в одном флаконе. Возможность использования фильтров и сортировки
делает эту программу весьма удобной для решения многих задач: контроль
определенного типа трафика (аська, сетевые игры, проги для удаленного доступа и
так далее), поиск проблем в сети и анализ безопасности.
Для определения работы из-за NAT нас интересует возможность контроля TTL
(время жизни) IP-пакета. Нужно учитывать, что каждая ОС и версии используют свое
значение TTL, например, все версии Windows - 128, Linux - 64 (максимально 255),
а при прохождении пакета на каждом роутере отнимается единица. То есть, если
получаем пакет с TTL 63 или 127 (или меньше), это может свидетельствовать о
наличии NAT (виртуальные машины также работают из-за NAT). Открываем список
фильтров и в "IP only" устанавливаем значение поля ip.ttl в отлов всех пакетов,
TTL которых меньше 64 или 128. Программа имеет достаточный набор для анализа,
поэтому можно захватить трафик с минимальными ограничениями, а затем
просмотреть, что попалось в сети, и в последующем уточнять настройки фильтров.
Кроме графического интерфейса, возможен запуск Wireshark в командой строке.
Смотрим список сетевых интерфейсов по команде "tshark -D", а затем вылавливаем
значение поля TTL в проходящих пакетах.
> tshark -i 1 -e ip.ttl -Tfields
Поддерживаются tcpdump-подобные правила, поэтому можно просто считать
значения нужного поля IP (ip[8] < 64, поле TTL находится в 8-м байте
IP-заголовка).
Хорошей альтернативой Wireshark является BWMeter (desksoft.com/BWMeter.htm),
совмещающий в себе функции файрвола и монитора трафика, с возможностью
построения различного рода графиков. Система фильтров позволяет задать любое
правило и затем отслеживать все пакеты, которые под него попадают.
К этому списку можно добавить практически все файрволы, что встретишь в
корпоративной сети: Kerio WinRoute (подробнее о нем читай в статье "Марш-бросок
в большую сеть", опубликованной в сентябрьском номере ][ за 2007 год),
UserGate Proxy & Firewall ("Привратник
для локальной сети", июльский ][ за 2009 год), ISA Server/Forefront TMG ("Форпост
для защиты периметра", ноябрьский ][ за 2009 год) и другие, которые также
имеют все необходимое для анализа и блокировки трафика.
Кроме того, не забываем производить периодическое сканирование сети при
помощи Nmap и сравнивать
результаты с отчетами ранее произведенных сканов. В случае обнаружения изменений
в списке открытых портов производим расследование. Это позволит обнаружить
лазейки, оставленные троянцами, прокси-серверы, некоторые запущенные игры и так
далее.
Обнаруживаем сниферы
В любой LAN найдется парочка умников, которые захотят знать больше, чем им
положено. Любопытный кекс запускает снифер в надежде поймать пароль, если не
админа, то любого другого пользователя, или почитать инфу, ему не
предназначенную. Для перехвата всех пакетов сетевая карта переводится в
неразборчивый режим (promiscuous mode), обнаружить который можно как локально,
так и удаленно. В первом случае регистрируемся в системе и просматриваем
настройки интерфейсов, во втором - актуальны два способа:
- мониторинг ресурсов на всех хостах сети - при переводе NIC в promiscuous
mode возрастает нагрузка, так как ядру приходится обрабатывать большее
количество информации, быстро заполняется место на харде; - ошибки в реализации - сетевой интерфейс должен "забирать" только свои
пакеты; так и настроены ОС, но поскольку теперь ядро получает инфу обо всех
пакетах, можно попробовать послать ARP-пакет с правильным IP или именем, но
неправильным МАС-адресом.
В последнем случае система может ответить на неправильный пакет. Добавляем
заведомо неверные данные в ARP таблицу и пингуем "подозрительный" хост:
> arp -s hackerhost 00:11:22:33:44:55
> ping hackerhost
Если ответ получен, значит, с большой долей вероятности можно сказать, что
узел находится в режиме прослушивания. Не забываем удалить неправильную запись
после проверки:
> arp -d hackerhost
Удобнее для выявления нарушителей использовать специальные утилиты. Например,
proDETECT,
которая, правда, уже несколько лет не обновлялась, поэтому грешит багами.
Настройки позволяют задать список узлов и указать периодичность их проверки.
Отчет отправляется на e-mail.
Еще одна прога –
PromiScan — также позволяет задать диапазон IP и провести ряд тестов. Если
будет обнаружен хост, прослушивающий сеть, админ получит визуальное
предупреждение. Предусмотрена возможность выполнения внешней команды.
Кстати, Microsoft также предлагает свой вариант решения проблемы - утилиты
Promqry и
PromqryUI, скачать которые можно с офсайта. Первая командная, вторая - с GUI.
Принцип прост: указываем IP-адрес отдельной машины или диапазон и жмем "Start
Query".
Диктатура админ
После произведенных настроек мы получим полностью контролируемую сеть, в
которой будут использоваться только разрешенные программы, а пользователи не
будут отвлекаться от работы. Также не забываем о записях системы аудита, в
которых будет присутствовать информация о переводе сетевого интерфейса в
пассивный режим или установке программ. Конечно, это не все варианты
установления "диктатуры" админа в LAN; добавим сюда отключение пользователя от
интернета при превышении лимита, шейпинг трафика, контроль МАС- и IP-адресов,
блокировку мессенджеров, фильтрацию URL и контента и многое другое.
INFO
О том, как блокировать IM, Skype, P2P читай в статье "Серпом
по аськам", в августовском номере ][ за 2009 год.
WWW
Страница TechNet, посвященная групповым политикам -
technet.microsoft.com/en-us/windowsserver/grouppolicy.
Сайт Wireshark - wireshark.org.
Сайт BWMeter -
desksoft.com/BWMeter.htm.
Утилита proDETECT -
sf.net/projects/prodetect.
Сайт PromiScan -
securityfriday.com/products/promiscan.html.