Настройка групповых политик ограниченного использования программ в Windows 7


    Прочитав статью Windows-компьютер без антивирусов, я загорелся такой идеей обеспечения безопасности и решил попробовать сделать у себя так же.

    Поскольку у меня стоит Windows 7 Professional, первой идеей оказалось использование AppLocker'a, однако быстро выяснилось, что работать в моей редакции винды он не хочет, и требует Ultimate или Enterprise. В силу лицензионности моей винды и пустоты моего кошелька, вариант с AppLocker'ом отпал.

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

    Заходим в настройки:
    gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Политики ограниченного использования программ



    В случае, если правил нет, система предложит сгенерировать автоматические правила, разрешающие запуск программ из папки Windows и Program Files. Так же добавим запрещающее правило для пути * (любой путь). В результате мы хотим получить возможность запуска программ только из защищенных системных папок. И что же?
    Да, это мы и получим, но вот только маленькая незадача — не работают ярлыки и http ссылки. На ссылки еще можно забить, а без ярлыков жить плоховато.
    Если разрешить запуск файлов по маске *.lnk — мы получим возможность создать ярлык для любого исполняемого файла, и по ярлыку запустить его, даже если он лежит не в системной папке. Паршиво.
    Запрос в гугл приводит к таким решениям: или разрешить запуск ярлыков из пользовательской папки, либо пользовать сторонние бары с ярлычками. Иначе никак. Лично мне такой вариант не нравится.

    В итоге мы сталкиваемся с ситуацией, что *.lnk является с точки зрения винды не ссылкой на исполняемый файл, а исполняемым файлом. Бредово, но что ж поделать… Хотелось бы, чтобы винда проверяла не местонахождение ярлычка, а местонахождение файла, на который он ссылается.

    И тут я нечаянно натолкнулся на настройки списка расширений, являщихся исполняемыми с точки зрения винды (gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Назначенные типы файлов). Удаляем оттуда LNK и заодно HTTP и релогинимся. Получаем полностью рабочие ярлычки и проверку на местонахождение исполняемого файла.
    Было сомнение, можно ли будет передавать через ярлыки параметры — можно, так что все ок.



    В результате мы получили реализацию идеи, описанной в статье «Windows-компьютер без антивирусов» без каких либо неудобств для пользователя.

    Также для любителей стрелять себе в ногу, можно создать папку в Program Files и кинуть ярлык для нее на рабочий стол, назвав, например «Песочницей». Это позволит запускать оттуда программы без отключения политик, пользуясь защищенным хранилищем (защита через UAC).

    Надеюсь описанный метод окажется для кого-то полезным и новым. По крайней мере я о таком ни от кого не слышал и нигде не видел.
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 47
    • 0
      А мне понравилось, хотя я не знал только о «Назначенных типах файлов». Спасибо.
      • –13
        Это комментарий, который автор статьи попросил меня добавить чтобы накрутить рейтинг и выйти в «Прямой эфир».
        • –4
          фтопку прямой эфир, статья на глагне :)

          возможно мне просто везет, но я уже второй год сижу на семерке без антивируса и сторонних фаерволлов, и компьютер чист :)

          и никаких особых манипуляций не проводил, разве-что авторан отключил.
          • +1
            На самом деле я тоже так и сижу. Однако если пользователь компа не обладает чувством самосохранения, то эти правила его спасут не раз.
            • 0
              ну, без чувства самосохранения можно скачать какую-нить гадость, разрешить ей исполнение, и собственоручно запустить.

              лично знаю два случая, когда люди отключали антивирус, ибо он «не дает мне запустить вот этот файл»
            • +1
              А откуда вы знаете что компьютер чист? :)
              • 0
                у меня на винте две семерки (почти одинаковые, да) вин хп и убунта.

                и раз в несколько месяцев я таки загружаю хп, и запускаю нод.
          • 0
            Можно использовать 2 пользователя: администратора и обычного пользователя. Ставим самый жесткий режим безопасности. Все, что запускаем часто выносим в исключения. Получаем достаточно защищенную систему.
            Плюс ко всему у меня установлен Security Essentials. За полгода такой конфигурации вирусов замечено не было.

            P.S.: тоже Windows 7 Proffesional.
            • 0
              В момент, когда я купил нетбук на Атоме, я понял, что даже Security Essentials тормозит :)
              • НЛО прилетело и опубликовало эту надпись здесь
                • 0
                  Я более полугода на нетбуке с XP пользуюсь учеткой с ограниченными правами — вирусов нет. Этот простой метод на самом деле работает)
                  • –1
                    Можно использовать 2 пользователя: администратора и обычного пользователя.

                    Башорговский боян про две учетки — «админ» и «пьяный админ»? Ну в Win7 примерно так и работает UAC.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • НЛО прилетело и опубликовало эту надпись здесь
                      • +2
                        В семерке админская учетка скрыта, пользователь сразу работает из-под ограниченной учетки. Плюс включены сразу права доступа NTFS — папочки Windows и Program Files (и не только) защищены от бесконтрольной записи.
                        • 0
                          недавно я ставил семерку (HB). в процессе оно предложило мне создать профайл. после установки и загрузки системы обнаружилось что созданный профайл — админский, и пользовательский профайл пришлось создавать ручками.
                          • 0
                            Профиль хоть и админский, но стоит учитывать, что при включённом UAC приложения запускаются с пользовательскими правами, и, в случае, если оно требует админских, винда уведомит всем известным надоедливым окошком. Тут вот проблема возникает в его надоедливости, потому UAC многие отключают…
                      • +2
                      • 0
                        Не будет работать софт, который ставится в %appdata% и с помощью ClickOnce.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • 0
                            Бинарники кладутся в %userprofile%\AppData\Local\Apps, а в статье вроде как запретили запуск оттуда.
                            • 0
                              Впрочем, торможу: вроде как это и было целью — создать набор разрешённого софта, а всё остальное запретить.
                          • 0
                            Да с Хромом и ClickOnce проблемки. Причем разрешение аппдаты не помогает кликванс приложениям почему-то
                            • 0
                              хром устанавливается правильно, в системную папку, если устанавливать его через Google Pack, некоторые программы можно руками перенести с системную папку после установки (dropbox), еще можно разрешить программу не по пути а по ее хешу
                          • –6
                            какой интересный костыль… а майкрософт о нем знает?
                            • 0
                              а с .bat и .cmd прокатывает? ну и за одно — с .vbs (которые как параметр к wscript и cscript передаются)
                              • 0
                                Если они добавлены в список расширений исполняемых файлов, то прокатывает. По умолчанию они там есть.
                                • 0
                                  я имею ввиду, если их оттуда удалить — на содержимое эти политики будут распространяться?
                                  • 0
                                    Не знаю :)
                                    Если проверите — сообщите результат, мне тоже интересно
                              • 0
                                >>> gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Назначенные типы файлов

                                Не нашел…
                                • 0
                                  Windows 7?
                                  • 0
                                    Наверное какой-нибудь Windows 7 Basic!?
                                  • +1
                                    Ответил автору в ЛС как найти данный пункт. Если кому нибудь интересно — вот скриншот: habreffect.ru/files/4aa/196c49ebf/4.png
                                    • 0
                                      это тоже в политиках программ, в XP по крайней мере
                                    • 0
                                      можно разрешать *.lnk без всяких дополнительных телодвижений, программа из не системной папки не будет запущена даже по ярлыку

                                      скопируйте на рабочий стол блокнот.ехе сделайте с него тут же ярлык и попробуйте запустить
                                      • 0
                                        запуск программ блокируется не на уровне проводника а на уровне системы, если вы запустите разрешенную программу которая попытается запустить неразрешенную то она обломится точно так же как и вы
                                        • 0
                                          Запускается :)
                                          • 0
                                            а запрет на запуск включили? Политика ограниченного использования программ — Уровни безопасности — Не разрешено (по умолчанию)
                                            • 0
                                              У меня стоит запрет на запуск всего, что не в системных папках. Поэтому с рабочего стола запускаться не должно. Если разрешить запуск *.lnk, то таким образом можно запускать вообще любой файл, создав для него ярлык.
                                              • 0
                                                у меня не запускаются программы даже с ярлыка если программа находится не в системной папке, я сделал только следующее:

                                                создал новые политики (изначально не было никаких), по умолчанию там запрещен запуск всех программ за исключением тех что в системных папках c:\windows и c:\program files
                                                включил запрет на запуск по умолчанию
                                                добавил одно правило пути — разрешить *.lnk

                                                и больше ничего. вы возможно что то намутили
                                        • 0
                                          написал программу для поиска системных папок в которые ограниченный пользователь может записывать что либо dl.dropbox.com/u/3495491/secpol%20folder.py

                                          результат работы на домашнем пк с winXP:

                                          >>>
                                          found path: c:\windows\Debug\WPD
                                          found path: c:\windows\Registration\CRMLog
                                          found path: c:\windows\Tasks
                                          found path: c:\program files\Alwil Software\Avast4\DATA\moved
                                          found path: c:\program files\Alwil Software\Avast4\DATA\report
                                          found path: c:\program files\ophcrack\tables\NTHASH
                                          >>>

                                          c:\windows\Debug\WPD и c:\windows\Registration\CRMLog нормальные папки, пользователь может записать туда любую программу и запустить

                                          c:\windows\Tasks — в этут папку можно записать что угодно, но в результате получается пустой файл, запустить оттуда программу нельзя (а точнее записать туда нельзя ничего кроме пустых файлов)

                                          c:\program files\Alwil Software\Avast4\ папка антивируса аваст версии 4, возможно в пятой версии этого нет. нормальные папки, пользователь может записать туда любую программу и запустить

                                          c:\program files\ophcrack\tables\NTHASH — NTHASH не папка а ссылка на папку (симлинк), сама папка находится в папке пользователя и он может туда писать. программы из этой папки не запускаются т.к. на самом деле они лежат не в системной папке

                                          если прохлопать ушами то даже ограниченный пользователь сможет запускать свои программы несмотря на политику
                                        • 0
                                          Хотел бы поправить. Типы файлов находятся в gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Политики ограниченного использования программ -> Назначенные типы файлов

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