Управляем настройками Java SE с помощью групповых политик | Windows для системных администраторов

Управляем настройками Java SE с помощью групповых политик

Сегодня мы рассмотрим особенности централизованной настройки параметров безопасности среды Java SE на компьютерах компании с помощью групповых политик Windows. Данные политики должны не допустить загрузку и выполнение на компьютерах компании недоверенных Java-аплетов и объектов ActiveX.

Основные требования к групповой политике управлениями параметрами безопасности Java

  • Политика должна применяться только к машинам, на которых установлена Java 6 или Java 7
  • У пользователей должна остаться возможность просмотра текущих настроек в панели управления  Java
  • Текущие конфигурационные файлы Java должны храниться на контролерах домена и реплицироваться между ними
  • Необходимо создать как минимум 2 политики: одна должна полностью блокировать Java в браузерах, вторая – запрещает запуск неподписанных апплетов.
Совет. Настройка уровня безопасности для неподписанных Java-апплетов, приложений Java Web Start и встроенных приложений JavaFX (которые могут работать в браузере) появилась в Java SE Development Kit 7 Update 10 (JDK 7u10). Благодаря этому обновлению пользователь через Java Control Panel может запретить запуск любого приложения Java в браузере.
Содержание:

WMI фильтр для отбора компьютеров с установленной Java


Чтобы групповая политика управления Java применялись только к компьютерам с установленной средой Java, создадим специальный WMI фильтр (подробнее про WMI фильтрацию в групповых политиках).

Для этого откроем консоль управления групповыми политик (Group Policy Management Console) и в разделе WMI Filters создадим новый WMI фильтр с именем Java SE 7 Computers. В качестве описания укажите что-то вроде «Для политик, требующих фильтрации компьютеров с установленным Java SE 7», а в качестве запроса воспользуйтесь таким WMI WQL выражением:

Select * From win32_Directory where (name="c:\\Program Files\\Java\\jre7" or name="c:\\Program Files (x86)\\Java\\jre7")

WMI фильтр для поиска компьютеров с java

Этот фильтр через WMI опрашивает систему и если в каталогах Program Files (x86 и x64) есть папка Java\jre7, то политика для таких компьютеров будет применена.

По аналогии нужно создать WMI фильтр для Java версии 6 (ищем каталог jre6)

Создаем конфигурационные файлы Java


Наша задача – создать две политики безопасности Java. Одна – полностью запрещает выполнение Java в браузерах, вторая – настраивает ряд параметров безопасности Java .

Для хранения конфигурационных файлов Java в каталоге sysvol на контроллере домена (например, \\winitpro.ru\sysvol\winitpro.ru\scripts\Java) создадим две папки:

  • Java7Restrict – содержит конфигурационные файлы, настраивающие особые параметры безопасности Java
  • Java7Block – каталог для конфиг файлов блокировки Java в браузерах

политика блокировки java на контроллерах домена в sysvol

Для настройки параметров Jave SE нам понадобится файл deployment.config. В этом конфигурационном файле с помощью опции deployment.system.config указывается путь к файлу deployment.properties, определяющему параметры Java для всех пользователей системы (этот файл должен находится в каталоге %windir%\Sun\Java\Deployment\deployment.config и по умолчанию при установке не создается). Путь может быть указан в виде URL (HTTP или HTTPS) или же UNC пути к файлу deployment.properties. Чтобы у пользователей не загружались индивидуальные настройки Java необходимо указать, deployment.system.config.mandatory=true .

Совет. Конфигурационный файл с персональными настройками Java данного пользователя хранится в его профиле по пути %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\ в Windows 7 или %AppData%\Sun\Java\Deployment\  в XP и по умолчанию приоритет у этого файла выше, чем у системного deployment.properties.

Файл deployment.config для политики Java7Restrict может быть таким:

deployment.system.config=file\://winitpro.ru/SYSVOL/winitpro.ru/scripts/Java/Java7Restrict/deployment.properties
deployment.system.config.mandatory=true

Файл deployment.properties может выглядеть так (предполагаем, что уровень безопасности Java должен быть установлен на Very High, остальные настройки безопасности Java блокируем)

deployment.security.level=VERY_HIGH
deployment.security.level.locked
deployment.security.askgrantdialog.notinca=false
deployment.security.askgrantdialog.notinca.locked
deployment.security.notinca.warning=true
deployment.security.notinca.warning.locked
Совет. Подробнее со структурой конфигурационного файла deployment.properties и его параметрами можно познакомится на Java.net в документе Deployment Configuration File and Properties или в документации на сайте Oracle (настройка параметром безопасности Java с помощью конфигурационного файла описана тут).

Создадим в каталоге \\winitpro.ru\sysvol\winitpro.ru\scripts\Java\Java7Restrict Файлы с указанным содержимым.

файл настройки java - deployment.config

Создадим конфигурационные файлы и для политики, блокирующей Java во всех браузерах. Для этого в файле deployment.properties нужно добавить строки

deployment.webjava.enabled=false
deployment.webjava.enabled.locked

Создание групповых политик управления параметрами Java

Перейдем непосредственно к созданию групповых политик, распространяющих настройки безопасности Java на компьютеры организации.

Создадим новый объект GPO (политику) с именем Java7Restrict.

С помощью GPP (Group Policy Preferences) нам необходимо создать на компьютерах пользователей каталог, в котором будут храниться конфигурационные файлы с настройками Java.  Для этого в разделе GPO Computer Configuration –> Preferences –> Windows Settings –> Folders создадим новый элемент с параметрами:

  • Action: Create
  • Path:  %WinDir%\Sun\Java\Deployment

Создадем папку Sun\Java\Deployment с помощью GPP

Далее нужно скопировать на компьютер пользователя конфигурационный файл deployment.config. Для этого в разделе GPO Computer Configuration –> Preferences –> Windows Settings –> Files создадим новую запись с параметрами:

  • Action: Replace
  • Source file: \\winitpro.ru\sysvol\winitpro.ru\scripts\Java\Java7Restrict\deployment.config
  • Destination file: %windir%\Sun\Java\Deployment\deployment.config.

копируем пользователям файл конфигурации java (deployment.config)

Осталось в свойствах политики в качестве WMI фильтра выбрать созданный нами ранее фильтр Java SE 7 Computers и прилинковать (назначить) политику на нужный контейнер (OU).

груповая политика управления java

После применения политик на компьютерах пользователей откройте панель управления Java (Java Control Panel) и убедитесь, что уровень безопасности  Java установлена в Very High, а все остальные опции пользователем для редактирования недоступны.

Панель управления java заблокирована

Если пользователь попытается загрузить самоподписанный апплет, или апплет, подписанный сертификатом, который отсутствует в списке доверенных, появится окно с предупреждением.

The publisher cannot be verified by a trusted source. Code will be treated as unsigned.CertificateExeption: Your security configuration will not allow granting permission to self signed certificates.

java The publisher cannot be verified by a trusted source. Code will be treated as unsigned

Создайте аналогично вторую политику Java7Deny, которая полностью блокирует Java в браузерах. После применения политики при попытке запустить Java апплет в любом браузере появится сообщение:

Application Blocked by Security Settings
Your security settings have blocked a self-signed application from running.

Java Your security settings have blocked a self-signed application from running

Наличие множества серьёзных проблем с безопасностью Java-апплетов, большое количество 0day-уязвимостей и эксплойтов для Java – реалии сегодняшнего дня. Поэтому администраторам сети и службам ИБ необходимо обращать пристальное внимание на вопросы обеспечения безопасности среды Java. В рамках большой сети проще всего это реализовать с помощью групповых политик Windows.

Совет. Чтобы скрыть от пользователей информацию о необходимости обновить Java, можно воспользоваться этим советом. Но нужно не забывать о необходимости постоянного централизованного обновления Java на всех компьютерах организации. Это позволит снизить риски эксплуатации уязвимостей в устаревших версиях java.
Еще записи по теме: Group Policy
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Есть 1 комментарий

Оставить комментарий
  1. Максим | 08.12.2014

    Спасибо за информацию!

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

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

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

Я не робот( Обязательно отметьте)