Вся история заключается в том, что запретить установку программ в домене средствами GPO в принципе можно, и в таком случае при установке будет запрошен логин/пароль учетной записи с нужными правами. Но вот незадача — программы вроде указанных в названии статьи (+менеджер браузеров, Unity Player и прочее) устанавливаются в папку пользователя и успешно работают в системе. Найден очень простой (статья всего на 1 страничку) способ избавиться от Амиго раз и навсегда! Кому интересно, прошу под кат.

Гугл по этой теме выдает статьи, где описан алгоритм запрета на установку программ по сертификату издателя. Способ хороший, но трудоёмкий, и сертификаты могут меняться, и вытащить их из установщика проблемно… в итоге у меня так и не получилось его реализовать. Мой алгоритм очень простой:

Мы знаем, что «любимые» всеми админами программы устанавливаются в папку c:\Users\%username%\AppData\Local (поправьте, если есть еще скрытые места). Вот и пришла мне в голову мысль о том, что если создать папки с названиями ненужных нам программ самим, и убрать им нафиг все ntfs права, получится, что программа просто не сможет установиться в нужную папку.

Итак, сей скрипт:

::удаляем папки если они уже есть
rmdir c:\Users\%username%\AppData\Local\Mail.Ru /s /q
rmdir c:\Users\%username%\AppData\Local\MailRu /s /q
rmdir c:\Users\%username%\AppData\Local\Unity /s /q
rmdir c:\Users\%username%\AppData\Local\Amigo /s /q
rmdir c:\Users\%username%\AppData\Local\Apps /s /q
::создаем папки
mkdir c:\Users\%username%\AppData\Local\Mail.Ru
mkdir c:\Users\%username%\AppData\Local\MailRu
mkdir c:\Users\%username%\AppData\Local\Unity
mkdir c:\Users\%username%\AppData\Local\Amigo
mkdir c:\Users\%username%\AppData\Local\Apps
::устанавливаем права (заменяем все существующие на новые)
echo y|cacls c:\Users\%username%\AppData\Local\Mail.Ru /C /G domain.ru\adminuser:F
echo y|cacls c:\Users\%username%\AppData\Local\MailRu /C /G domain.ru\adminuser:F
echo y|cacls c:\Users\%username%\AppData\Local\Unity /C /G domain.ru\adminuser:F
echo y|cacls c:\Users\%username%\AppData\Local\Amigo /C /G domain.ru\adminuser:F
echo y|cacls c:\Users\%username%\AppData\Local\Apps /C /G domain.ru\adminuser:F


Как видно, список программ в примере небольшой (Mail.Ru и MailRu — это от игр мэила и спутника, UnityPlayer, Амиго, Apps — что-то нехорошее я там увидел).

Список можно пополнять любыми замеченными программами, создающими свою папку, главное знать название такой папки. Есть еще куча гадостей, вроде Менеджера Браузеров, нихром, бромиум и прочего. Пока к нам такое не попало, не могу узнать названия папок, но всё в Ваших руках!

Дальше всё просто — ставим запуск этого файла в логон скрипты, или в назначенные задания (для пользователя при входе в систему), и наслаждаемся результатом! Работает в Win7 100%, Амиго, например, даже не выдает никаких ошибок, просто не устанавливается.

p.s. Амиго и прочая дрянь может запуститься раньше скрипта, тем самым не даст удалить свою папку. Чтобы всё было четко, нужно переписать скрипт таким образом, чтобы он сканил все папки всех пользователей компьютера на предмет «плохишей» и ставить его на выполнение при запуске компьютера. Меня переполняют эмоции, скорее хотел написать статью, так что скрипт доделывайте сами до нужного состояния.

p.s.s. Просьба не говорить, что скрипт гавно написан некрасиво, и всё можно сделать в цикле перебором по списку папок и пр… Он облегчен для наглядности простоты идеи в целом.

Комментарии (58)


  1. Ramires
    22.10.2015 15:12
    +5

    Насколько я помню, папка «c:\Users\%username%\AppData\Local\Apps» нужна некоторым приложениям.


    1. axeax
      22.10.2015 15:18
      -19

      Ага, в основном это игры


      1. Zagrebelion
        22.10.2015 15:23
        +8

        а ещё софт, которые распространяется через clickonce.


        1. fshp
          23.10.2015 06:14
          +2

          А ещё туда и обычные приложения могут устанавливаться не из-под админа.


    1. Delphinum
      22.10.2015 15:26
      +1

      Ставим все нужные приложения, затем забираем у папки права на запись (не трогаем вложенные папки).


      1. axeax
        22.10.2015 15:31
        -2

        в AppData еще логи и кофиги пишутся, и нужные программы могут ругаться на это


        1. fshp
          23.10.2015 06:15
          +1

          Поэтому проще снести? А если лог в это время пишется? Винда, в отличие от *NIX, не позволяет удалять открытые файлы.


  1. VaMpir
    22.10.2015 15:35
    +1

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

    Добавить в скрипт запуск Unlocker'а.


  1. Olanonymous
    22.10.2015 15:55
    +6

    > Просьба не говорить, что скрипт написан некрасиво, и всё можно сделать в цикле перебором по списку папок и пр… Он облегчен для наглядности простоты идеи в целом.
    Но в цикле наглядность и простота никуда не теряются же. http://pastebin.com/vkqdg06K


    1. axeax
      22.10.2015 15:58
      -2

      Спасибо, но говорю же, торопился спасти мир!) а на самом деле я в бате не силен, дольше бы искал синтаксисы массивов и циклов.


  1. ketrin7
    22.10.2015 16:41
    -4

    Амиго — злостная штука. Но как по мне, самый действенный способ смотреть, что устанавливаешь, а не просто нажимать, кнопку далее, и не загружать игры и прочую муру.
    У меня Амиго установился с архивом какой-то очень нужной книги, которую больше нигде не нашла. В итоге и книги там не было и Амиго в наличии. Теперь просто внимательна к таким вещам.


    1. TokminD
      23.10.2015 09:04
      +4

      Речь идет про рабочую среду, где пользователи «не умеют» смотреть, что нажимают. Попадаются разные экземпляры. Самый жесткий случай в моей практике — это работница (в возрасте), которая хранила важные документы в корзине о_О К счастью у меня Амиго почти никто не устанавливает. Везёт видимо


  1. PoliTeX
    22.10.2015 16:58
    +6

    А Юнити за что? Он, вроде, не мусорит и не скрытничает?


    1. Wedmer
      22.10.2015 16:59
      -9

      На работе люди должны работать)))


      1. PoliTeX
        22.10.2015 17:03
        +6

        На нем не только игры делают. Но это ваше дело.


        1. Wedmer
          22.10.2015 17:09

          Среднестатистическому офисному работнику и остальные области применения не нужны. А если реально нужны, то нужно обоснование, с которым этот вопрос решается в административном порядке.


          1. axeax
            22.10.2015 17:13

            У нас школа, юнити просочился в кабинеты информатики


            1. Wedmer
              22.10.2015 17:24

              Школа/Офис — неважно. Списки могут быть разными. Но, кажется, уточнение вам надо было не мне писать, а в статье, или автору корня этой ветки.


            1. DemetrNieA
              22.10.2015 21:20

              А вдруг они на нём программируют?


              1. Wedmer
                23.10.2015 16:08

                Тогда преподаватели и сисадмин должны быть в курсе.


          1. Wedmer
            22.10.2015 17:28
            +4

            Кто из минусующих может предоставить пример, когда среднестатистическому офисному работнику нужен Unity?


            1. Wernisag
              22.10.2015 18:30

              Дополню. Если все таки кому действительно нужен Unity, в чем проблема подойти к вопросу персонально и снять ограничение


            1. fshp
              23.10.2015 06:17
              -3

              Например среднестатистический офисный работник является разработчиком и использует Unity?


            1. Wedmer
              23.10.2015 16:09

              Так никто и не ответил, но карму слили)


      1. Wedmer
        23.10.2015 16:05

        Как много бездельников)))


  1. gotch
    22.10.2015 17:11
    +4

    Applocker, именно Applocker. Раньше думали — «кошмар-кошмар-кошмар», но нет, работает, и довольно просто сопровождается.


    1. Ckorpion
      22.10.2015 17:15
      +1

      Еще более правильный способ. К сожалению AppLocker недоступен в Proffesional редакции Windows.


      1. gotch
        22.10.2015 18:12

        Вот жадины в Microsoft. Просто необъяснимо.
        У нас Enterprise, даже не задумывался об этом. Есть, конечно же, SRP, но опыта эксплуатации нет.


  1. Ckorpion
    22.10.2015 17:14
    +5

    Я использовал на работе Software Restriction Policies (включаются через GPO), что позволило полностью запретить пользователям запускать исполняемые файлы, кроме списка заранее одобренных. Есть, конечно, некоторые неудобства — зато повышается безопасность.


    1. Wedmer
      22.10.2015 17:30

      Ну неудобства скорее административного плана. На самом деле, если человеку нужен еще какой софт, то пусть обосновывает и получает санкцию на установку/запуск. Безопасность прежде всего.


      1. Ckorpion
        22.10.2015 17:43

        Тут вопрос в обновлении уже существующего программного обеспечения. В отличии от Applocker и его более гибких правил, некоторые программы, после обновления, надо заново заносить в список исключений (если эти программы не установлены в Program Files).


        1. Wedmer
          22.10.2015 18:07

          В принципе, и это решаемо. Даже можно и автоматизацию какую сделать.


        1. yosemity
          23.10.2015 01:33
          +2

          Это очень легко решается. Убираем незамедлительно у всех админские права. Включаем SRP так же для всех (включая гендира) SRP работает начиная с ХР проф, не надо никаких Этерпрайзных Семерок. Запуск софта разрешен только из %WINDIR% и %ProgramFiles% (+x86). Юзер не может писать в указанные выше директории, следовательно не может запустить оттуда левую прогу. Из своего профиля, или из любого другого места, хоть обзапускайся, винда не разрешит. ВЕСЬ Софт разворачивается централизованно через LUP. Опционально: включаем централизованный мониторинг логов SRP с клиентских машин и весело наблюдаем за попытками бухгалтерии запустить очередной вирус «от налоговой». Спасает не только от всяких «Амигов», но и от любой заразы, даже неизвестной антивирусам.
          Это всего один раз вникнуть в тему и на 99% снизить риск. Дополнительно запиливаем всем EMET с правилами (Popular и Recomended Software), чтобы повысить защиту софта от 0-day.
          Ну а колхозить такие убивальщики… наверное интересно, но абсолютно неэффективно.
          Добавлю, что все вышеуказанное с успехом работает у нас не первый год.


  1. pehat
    22.10.2015 17:24
    +5

    Хм, в заголовке у вас ЯБро почему-то перечислен в списке гадости, а в скрипте нет. Поменялось мнение, пока статью писали?


    1. jah
      22.10.2015 17:54
      -9

      pehat глазастая ;)


      1. pehat
        22.10.2015 17:56
        +12

        Чего, увы, не могу сказать о Вас. Мой пол указан в профиле, дабы не происходило путаницы.


        1. jah
          23.10.2015 18:31
          +1

          Ренат, приношу свои извинения. Вы на маленькой аватарке кажетесь девушкой. Дело было вечером… Советовать сменить аватарку я не буду, но прошу понять ибо путаница произошла.


          1. pehat
            23.10.2015 18:39

            У Вас вообще прекрасный котик на аватарке, но я не отождествляю его с Вами) Моя аватарка была нарисована в Paint 8 лет назад. И правда, надо б поменять.


            1. Eefrit
              28.10.2015 12:01

              Ну вот, заинтриговали. Уже поменяли аватарку? А что раньше было?


  1. mtivkov
    22.10.2015 18:01
    +5

    Если этот способ пойдет в массы, то инсталляторы подправят.
    Если папка Name будет недоступна на запись, то инсталлятор будет использовать первую свободную папку с именем вида Name.N, например, Amigo.1.


  1. alexsupra
    23.10.2015 01:09
    +1

    rmdir c:\Users\%username%\AppData\Local\Mail.Ru /s /q

    В варианте
    rmdir "%localappdata%\mail.ru" /s /q
    было более универсально для всех ОС Windows, начиная с NT 6.0 (Vista).


  1. IIPu3PAK
    23.10.2015 05:48

    Зачем весь этот геморой с созданием папок? не проще ли запретить запуск любых программ из папки c:\Users\%username%\AppData\Local? с помощью политики ограниченного использования программ, вот тут описано подробнее — habrahabr.ru/post/101971


    1. shifttstas
      23.10.2015 09:26

      тогда хром не встанет и много чего что устанавливается без админ привелегий


      1. Inlore
        23.10.2015 13:37

        Так ведь в этом и смысл — установка должна производиться только админом и разрешения на запуск выставляться им же


        1. Zagrebelion
          23.10.2015 13:45

          c:\program files\python34\python.exe -c «import os; os.system('c:\\users\\vasya\\chrome.exe')»

          такой трюк «политики ограниченного использования» отловят?


          1. Inlore
            23.10.2015 20:05

            Конечно нет. technet.microsoft.com/en-us/library/cc709689%28WS.10%29.aspx

            Software restriction policies only restrict whether a program can be run from Windows Explorer, the Run command, a Command Prompt window, or Windows Script Host (wscript.exe). Programs started in other ways, such as by using perl.exe, cannot be restricted through software restriction policies.


      1. Lordick
        23.10.2015 15:58

        к слову, хром существует в виде msi пакета (ссылка), из него по умолчанию ставится в Program Files (в зависимости от разрядности).


  1. omegicus
    23.10.2015 09:39
    -5

    ЯндексБраузер-то за что? Я вот осознанно пользуюсь только Яндексом и Оперой. Хром не переношу + еще и небезопасно. А в яндексе хорошая интеграция с Я.Диском, а это уже точно единственный в своем роде продукт. гуглДиск и рядом не стоял.


    1. kvaps
      23.10.2015 10:13
      +3

      Можно поинтересоваться? -почему вы считаете использовать Яндекс браузер или Оперу безопаснее чем Google Chrome?


      1. omegicus
        23.10.2015 10:14
        -3

        исключительно потому что яндекс российский, а оперу по другой причине — просто удобнее.


        1. Wernisag
          23.10.2015 13:02
          +1

          Вас не тревожит тот факт, что Яндекс браузер целиком и полностью основан на Хроме? Не считая оформления, они практически одинаковы.


          1. omegicus
            23.10.2015 13:04
            -1

            это не так. движок браузера (который может очень сильно модифицироваться) — это не весь браузер.
            ясное дело, что кроме blink\webkit и gecko других почти нету, но я далек от мысли, что Opera(new)\Yandex — это просто оформление.

            режим Turbo, антиреклама встроенная, синхронизация с ЯндексДиском и т.п. — это разве копия хрома??


            1. tundrawolf_kiba
              23.10.2015 14:34

              > движок браузера
              Ну тут смотря что понимать под этим. Двжики рендеринга и Яваскрипта они юзают идентичные. А вот оболочку оба форкают от хромиума, гугл с небольшими изменениями, а Яндекс — с достаточно приличными.


          1. omegicus
            23.10.2015 13:11

            это приблизительно что, что говорить RedHat и Debian — одно и то же, нас же не смущает что они оба целиком и полностью на linux основаны?


            1. Wernisag
              23.10.2015 13:13

              Ну тогда уж не Debian, а CentOS. И в целом одно и тоже, только другой состав пакетов и уровень поддержки.


              1. omegicus
                23.10.2015 13:16

                Почему не Debian??? Ядро то одно…
                CentOS — поздняя копия RedHat…
                А ничего что RedHat достаточно сильно модифицирует ядро Linux? И набор драйверов намного шире???

                Ну если это одно и то же, то с этой точки зрения конечно, Chrome тоже равен Ya.Browser


  1. omegicus
    23.10.2015 10:26

    + кстати (по теме) в /app устанавливаются далеко не только мусорные программы и игры. Далеко не только.


  1. onthefly
    24.10.2015 02:10
    +1

    По доброй традиции хаба «Клиентская оптимизация» поинтересуюсь:
    — автор, вам известно значение термина, давшего название упомянутому хабу?
    — какое отношение этот топик имеет к предметной области, описываемой этим термином?