По настоятельной просьбе публики, хочу здесь немного подвести некоторый итог по минимальному набору правил SRP для различных систем. Так вышло, что я много раз менял свои представления о жизни, а как-то суммировать их не получалось. Наверное, не хотелось.
Прежде чем оперировать правилами, необходимо подготовить список расширений, которые будет мониторить SRP. Мы уже говорили о том, что список по умолчанию не очень прикольный. Во-первых, оттуда следует выкинуть LNK:
Это минимум. Остальное — по обстоятельствам. Потом вы захотите настроить область действия политики в Enforcement для того, чтобы администраторы тоже сильно не шалили и подпадали под присмотр SRP.
Далее, следует сконфигурировать Trusted Publishers, чтобы только администраторы могли управлять этим хранилищем, или запретить пользователям добавлять сертификаты в пользовательский контейнер Trusted Root CAs. Я предпочитаю второй вариант.
Далее, скачайте AccessEnum c сайта Sysinternals: http://technet.microsoft.com/en-us/sysinternals/bb897332 и просмотрите потенциальные папки, в которые пользователи могут писать и откуда могут запускать. Наверное, уже всем известны попсовые %windir%\Temp и папка спулера печати. Спулер можно (а порой и нужно) переносить на другой диск вообще. Как это сделать, вам расскажет KB'шка: 318748. Но если вам лень переносить спулер, тогда используйте запреты, упомянутые ниже.
Здесь я предполагаю, что мы создаём правила, которые призваны контролировать, что запускает пользователь, а не что-то ещё (наверное, замена антивирусу. Но не забывайте, что SRP сам по себе ничего не решает). По условию задачи, пользователю будет разрешено запускать встроенные в Windows приложения и приложения, которые установил сам администратор. Т.е. это папки Windows и Program Files. И вот какой набор правил будет для систем Windows XP/Vista/7, Windows Server 2003/2008 — все x86:
Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot% Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir% Dissalowed - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\DefaultSpoolDirectory% Dissalowed - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%Temp
Не забывайте, что это не итоговый набор, а начальный, т.е. с чего вообще нужно начинать. Теперь для Windows XP (страх-то какой)/Vista/7, Windows Server 2003/2008 — но теперь x64. Отличие в том, что SRP порой путается в этих ваших x86/x64. Вот пруф. Следовательно, стартап выглядит так:
Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot% Unrestricted – C:\Program Files Unrestricted – C:\Program Files (x86) Dissalowed - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\DefaultSpoolDirectory% Dissalowed - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%Temp
Здесь я ещё раз обращаю внимание, что никакие системные переменные в правилах пути использовать нельзя. Не потому что нельзя, а потому что нельзя и точка. И, наконец, Windows 7 и Windows Server 2008 R2 — x64, есть альтернативный вариант (предыдущий тоже годится, если что):
Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot% Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir% Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)% Unrestricted - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir% Dissalowed - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\DefaultSpoolDirectory% Dissalowed - %HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRoot%Temp
А дальше уже можете добавлять новые правила (в пределах разумного, естественно) и сужать существующие. Т.е., скажем, не давать разрешать на запуск всю папку Program Files, а только конкретные. Но с этим нужно быть осторожным и тщательно тестировать на предмет негативных последствий.
статья для тех кто не любит, а точнее не хочет разбираться в написанном?
очевидно, да.
Comments: