Использование командлетов windows powershell для applockeruse the applocker windows powershell cmdlets

Борьба с 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 в проходящих пакетах.

Поддерживаются tcpdump-подобные правила, поэтому можно просто считать
значения нужного поля IP (ip < 64, поле TTL находится в 8-м байте
IP-заголовка).

Хорошей альтернативой Wireshark является BWMeter (desksoft.com/BWMeter.htm),
совмещающий в себе функции файрвола и монитора трафика, с возможностью
построения различного рода графиков. Система фильтров позволяет задать любое
правило и затем отслеживать все пакеты, которые под него попадают.

К этому списку можно добавить практически все файрволы, что встретишь в
корпоративной сети: Kerio WinRoute (подробнее о нем читай в статье «Марш-бросок
в большую сеть», опубликованной в сентябрьском номере ][ за 2009 год), ISA Server/Forefront TMG («Форпост
для защиты периметра», ноябрьский ][ за 2009 год) и другие, которые также
имеют все необходимое для анализа и блокировки трафика.

Кроме того, не забываем производить периодическое сканирование сети при
помощи Nmap и сравнивать
результаты с отчетами ранее произведенных сканов. В случае обнаружения изменений
в списке открытых портов производим расследование. Это позволит обнаружить
лазейки, оставленные троянцами, прокси-серверы, некоторые запущенные игры и так
далее.

Политики ограниченного использования программ

Одной из самых важных в контексте статьи будет группа объектов 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’ок в системе,
активация контроля всех файлов потребует дополнительных ресурсов, поэтому
кастомный вариант выбираем, только когда это действительно необходимо. По
умолчанию политики актуальны для всех пользователей без исключения, но в
настройках предлагается снять контроль за деятельностью локальных админов. В
третьем поле активируется поддержка правил сертификатов. Такие политики также
замедляют работу системы и по умолчанию отключены.

С помощью политики «Назначенные типы файлов» определяются типы файлов,
которые считаются исполняемыми. В списке уже есть все популярные расширения, но
если используется что-то свое, добавляем его/их в перечень. И, наконец, в
«Доверенные издатели» задаем тех, кто может (пользователь и/или админ) добавить
подписанное доверенным сертификатом приложение, а также определять подлинность
сертификата. Для максимальной безопасности разреши добавлять приложения только
админам доменного уровня.

Шаг 4: анализ событий AppLockerStep 4: Analyze AppLocker events

Вы можете вручную проанализировать события AppLocker или использовать командлет Windows PowerShell Get-апплоккерфилеинформатион для автоматизации анализа.You can either manually analyze AppLocker events or use the Get-AppLockerFileInformation Windows PowerShell cmdlet to automate the analysis.

Анализ событий AppLocker вручнуюTo manually analyze AppLocker events

Вы можете просматривать события либо в окне просмотра событий, либо в текстовом редакторе, а затем отсортировать эти события, чтобы выполнить анализ, например поиск шаблонов в событиях использования приложения, частот доступа и доступ к группам пользователей.You can view the events either in Event Viewer or a text editor and then sort those events to perform an analysis, such as looking for patterns in application usage events, access frequencies, or access by user groups. Если вы не настроили подписку на события, вам придется просматривать журналы на выбор компьютеров в Организации.If you have not configured an event subscription, then you will have to review the logs on a sampling of computers in your organization. Дополнительные сведения об использовании средства просмотра событий можно найти в разделе Мониторинг использования приложения с помощью AppLocker.For more information about using Event Viewer, see Monitor application usage with AppLocker.

Анализ событий AppLocker с помощью Get-АпплоккерфилеинформатионTo analyze AppLocker events by using Get-AppLockerFileInformation

Вы можете использовать командлет Windows PowerShell Get-апплоккерфилеинформатион для анализа событий AppLocker на удаленном компьютере.You can use the Get-AppLockerFileInformation Windows PowerShell cmdlet to analyze AppLocker events from a remote computer. Если приложение заблокировано и должно быть разрешено, вы можете воспользоваться командлетами AppLocker для устранения неполадок.If an app is being blocked and should be allowed, you can use the AppLocker cmdlets to help troubleshoot the problem.

Для подписок на события и локальных событий можно использовать командлет Get-апплоккерфилеинформатион , чтобы определить, какие файлы были заблокированы или заблокированы (если вы используете режим принудительной проверки только для аудита ) и сколько появлений для каждого файла произошло событие.For both event subscriptions and local events, you can use the Get-AppLockerFileInformation cmdlet to determine which files have been blocked or would have been blocked (if you are using the Audit only enforcement mode) and how many times the event has occurred for each file. Сведения о том, как это сделать, можно найти в разделе мониторинг использования приложения с помощью AppLocker.For the procedure to do this, see Monitor Application Usage with AppLocker.

После использования Get-апплоккерфилеинформатион для определения того, сколько вхождений файла было заблокировано, следует просмотреть список правил, чтобы определить, нужно ли создать правило для заблокированного файла, или же уже существующее правило строго определено.After using Get-AppLockerFileInformation to determine how many times that a file would have been blocked from running, you should review your rule list to determine whether a new rule should be created for the blocked file or whether an existing rule is too strictly defined. Убедитесь, что вы проверите, какой из объектов групповой политики препятствует запуску файла.Ensure that you check which GPO is currently preventing the file from running. Чтобы определить это, вы можете просмотреть имена правил с помощью мастера результатов групповой политики.To determine this, you can use the Group Policy Results Wizard to view rule names.

Трюк 3. Обходим SRP

Увы, дальше на нашем пути возникает другой механизм ограничений — SRP (Software Restriction Policies). Это группа политик, с помощью которых админ может ограничить список ПО, которое может запускать пользователь, через черный и белый списки. Blacklist и Whitelist определяются с помощью правил, которые можно задавать несколькими способами: по зонам и по сертификатам (первые два варианта практически не используются), а также по пути до файла и по его хешу. О том, что в системе действуют политики SRP, указывает соответствующий пункт в реестре — со значением большим 0, который, как уже было сказано выше, проверяется при запуске процесса. Наша задача, соответственно, отрубить эту проверку внутри запускаемого процесса. Марк Руссинович еще в далеком 2005 году опубликовал пост в блоге об обходе SRP и представил тулзу GPdisable. Она производит DLL-инъекцию в заданный процесс, подгружая специальную DLL’ку. Когда процесс попытается получить значение ключа реестра , то есть будет проверять присутствие политик SRP, данная библиотека перехватит запрос и возвратит STATUS_OBJECT_NAME_NOT_FOUND. Таким образом, процесс думает, что все ОК и SRP политики в системе не действуют. После покупки компании Sysinternals Майкрософтом GPdisable перестал был официально доступным (но его по-прежнему легко найти в Сети. Есть еще более продвинутые решения. Утилита GPCul8or от Eric’a Rachner’a выполняет аналогичные функции, но доступна в исходниках. Что это нам дает? Мы можем добавить в GPCul8or любые другие значения реестра винды (DisableTaskMgr, ProxySettingsPerUser к примеру) и таким образом обойти все возможные ограничения политик. Какие именно значения, спросишь ты. Тебе в помощь RegMon от Марка Руссиновича, хотя, по сути — это все значения из ветки Policies. Другой оригинальный способ в своем блоге опубликовал Дидье Стивенс. Используя свою тулзу bpmtk (Basic Process Manipulation Tool Kit), он предложил прямо в памяти процесса изменять значение необходимого для групповой политики ветки реестра.

Резюме файла SRP

У нас есть один существующие программные обеспечения, связанные с файлами SRP (как правило это программное обеспечение от Check Point Software Technologies Ltd., известное как ZoneAlarm Pro), и их можно отнести к категории основных типов файлов один. Традиционно эти файлы имеют формат Checkpoint Exported VPN Client Information File .
Основную часть этих фацлов классифицируют, как Settings Files.

Файлы SRP можно просматривать с помощью операционной системы Windows. Они обычно находятся на настольных компьютерах (и ряде мобильных устройств) и позволяют просматривать и иногда редактировать эти файлы.

Рейтинг популярности расширения файла SRP составляет «Низкий», что означает, что эти файлы, как правило, не встречаются в большинстве файловых хранилищ пользователя.

Как включить и настроить политику SRP?

Для включения SRP зайдите в систему с правами администратора и выполните команду Start → Run → gpedit.msc. В разделе Computer Configuration (Конфигурация компьютера) раскройте папку Windows Settings → Security Settings → Software Restriction Policies.

Рисунок 2. Включение политики SRP

На всех упомянутых ранее версиях Windows это окно выглядит примерно одинаково. Однако, в политиках домена Active Directory вы можете найти SRP и в разделе User Configuration (Конфигурация пользователя). Я рекомендую выполнять базовую конфигурацию SRP на уровне Computer Configuration, а User Configuration использовать только для расширения области действия политики для некоторых групп пользователей.

Щёлкните правой кнопкой по папке Software Restriction Policies и выберите команду Create New Policies. Политика создана, теперь нужно сделать дополнительные настройки. Выполните двойной щелчок по значению Enforcement и укажите Apply to: All software files и Apply to: All Users. Тем самым, проверке будут подлежать все программы и динамические библиотеки, и защищены будут все пользователи, включая самых опасных — администраторов.

Параметр Apply to: All software files может оказаться неприменимым для вашей системы, если используются приложения, вызывающие dll-модули некорректными методами либо хранящие множество своих модулей в профилях пользователей. Чтобы облегчить управление такими приложениями, можно ослабить уровень защиты, переключив настройку в положение Apply to: All software except libraries. Однако, учтите, что количество зловредных программ, выполненных в виде динамических библиотек и вызываемых строкой вида rundll32.exe C:\Recycler\virus.dll, неуклонно растёт. И только более строгая, полная фильтрация позволяет защитить систему от крайне опасной проблемы, носящей название DLL Hijacking.

Рисунок 3. Настройка области действия политики SRP

Один параметр может оказаться досадной и никак не улучшающей безопасность помехой — по умолчанию, SRP обрабатывает не только исполняемые файлы, но и некоторые другие типы файлов — например, ярлыки (Shortcuts). Выполните двойной щелчок по значениюDesignated File Types и удалите расширение LNK из списка. Замечу, сами ярлыки и их целевые файлы обрабатываются политикой отдельно. Таким образом, удаляя LNK из списка обрабатываемых расширений, вы не понижаете уровень безопасности системы — создать ярлык на неразрешённый файл и таким образом запустить его в обход политики всё равно будет невозможным.

Рисунок 4. Настройка обрабатываемых политикой SRP типов файлов

Существуют несколько режимов работы SRP:

  • Disallowed: режим «белого списка». По умолчанию, запрещён запуск любых программ, кроме описанных в правилах политики;
  • Basic User: режим принудительного ограничения привилегий. Все программы запускаются с привилегиями рядового пользователя, кроме исключений, описанных политикой;
  • Unrestricted: режим «чёрного списка». По умолчанию, разрешается запускать любые программы, кроме отдельно заблокированных в правилах политики.

Раскройте папку Security Levels и назначьте режим Disallowed в качестве основного.

Рисунок 5. Включение режима «белого списка» политики SRP

В контейнере Additional Rules перечисляются программы, которые мы разрешаем запускать. Обычно особого внимания это от нас не требует, так как политика автоматически указывает, что все программы, находящиеся в Program Files и Windows, разрешены для запуска. Таким образом, большинство программ будет работать нормально, а стандартные пользователи не имеют прав на изменение содержимого этих папок. Однако, если ваши программы установлены в иные каталоги, добавьте в список дополнительные разрешённые пути или хэш-суммы исполняемых модулей в режиме Unrestricted.

По возможности, не добавляйте в Additional Rules пути, которые открыты рядовым пользователям для Записи. «Белый список» Software Restriction Policies позволяет защитить систему не только от случайно приносимых вирусов, но также от других нежелательных программ — например, чат-клиентов, игр, альтернативных браузеров. Ни в коем случае не добавляйте в Additional Rules пути вида C:\, %Temp% илиF:\ (путь к сменному носителю) с типом доступа Unrestricted, так как это аннулирует весь эффект политики.

Рисунок 6. Настройка списка разрешённых для запуска программ

Итак, политика настроена. Для того, чтобы она вступила в силу, перезагрузите систему. Дальнейшие настройки и переключения режимов работы SRP перезагрузку требовать не будут.

Трюк 8. Вспоминаем про HTA

Последний хинт касается неофициальных исключений, на которые не действуют групповые политики. Вадимc Поданс написал в блоге отличную серию постов, посвещенных SRP-политикам. В частности, он обнаружил отличный путь для их обхода и запуска произвольного кода с использованием приложения HTA (HTML Application).

Итак, последовательность действий:

  1. Создаем файлик с примерно таким текстом:

  2. Сохраняем его с расширением .hta (например, execute_this.hta).

  3. Создаем ярлык для него.

  4. Открываем ссылку — и hta запускается.

Надо ли говорить, что вместо вызова безобидного MessageBox’а VB-код может сделать в системе что угодно? Политики SRP должны проверять весь код, который может исполняться, в том числе и всевозможные скрипты. Однако из-за тонкостей работы групповых политик данный обход работает. К аналогичным «глюковатым» расширениям помимо HTA Вадимс относит REG, MSC, HTA, CHM. Точно так же ситуация наблюдается и с com-файлами (в том числе всякими олдскульными ДОС’овскими программами, которые все еще разбросаны в папке винды). Они не учитывают правила групповых политик, так как работают в виртуальной машине DOS.

Certificate rules

Certificate rules can be used when a file is digitally signed. SRP recognizes only Authenticode signatures and do not support catalog signing (which is usually used only by Windows OS). How to determine whether the file is digitally signed? If you take file properties, you will see Digital Signatures tab:

You can check signature details and verify it’s signature status. If your business application issuer signs application files, then you can add single certificate rule and all files signed by specified publisher will run without question. When you create certificate rule, you can select either signing certificate or just select signed file. SRP will automatically retrieve signing certificate from signed file.

Also, your company may use their own applications and scripts which are signed by a company’s signing certificate. It is reasonable to add this certificate to SRP, so all signed scripts will be run normally. If someone attempts to change the script, it will be prevented from run, because digital signature become broken.

The downside of certificate rules is that you can’t control application versions, which are allowed. For example, you have an application XYZ version 1.0. After a time you received an update (version 2.0) and you want to prevent v1.0 usage and allow only v2.0. Unfortunately, certificate rules cannot handle this situation, and you have to use other rule type.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector