The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

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

Простейший пример, связанный с безопасностью: известно, что крайне нежелательно
запускать Windows приложения из-под  пользователя root, ибо Wine в этом случае
имеет доступ ко всем ресурсам компьютера. Учитывая так же, что
Windows-приложения в Wine могут выполнять любые команды Unix, то можно
представить масштаб возможных проблем при запуске вредоносного ПО.

Решение крайне простое. В домашней директории пользователя достаточно создать
пустой файл ".wine" (без кавычек). В этом случае запуск Wine приведёт к ошибке:

   # wine stduviewer.exe

   wine: /root/.wine is not a directory

Никакие другие действия выполнять больше не нужно.
 
11.07.2013 , Автор: Artem S. Tashkinov
Ключи: wine, root, limit / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Wine

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним (-), 22:29, 11/07/2013 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    man wine
    WINEPREFIX
     
     
  • 2.19, Аноним (-), 19:07, 13/07/2013 [^] [ответить]    [к модератору]
  • +/
    Первую строку хоть осиль.
    Я понимаю, что никто не читает ничего кроме кода и цифр, но все таки
     
  • 1.2, demimurych (ok), 22:38, 11/07/2013 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    спасибо.  
    поржал.

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

     
     
  • 2.11, konst (??), 20:51, 12/07/2013 [^] [ответить]     [к модератору]
  • +1 +/
    Про права root а почитайте ... весь текст скрыт [показать]
     
     
  • 3.20, demimurych (ok), 09:14, 14/07/2013 [^] [ответить]    [к модератору]  
  • +/
    Ога.
    Особенно про то как созданные пустой .wine остановит рута от заупка самого wine а
     
     
  • 4.21, konst (??), 01:35, 15/07/2013 [^] [ответить]     [к модератору]  
  • +/
    Вы, видимо, новичок в linux Просто опыта не хватает На Ваш вопрос ответ ДА О... весь текст скрыт [показать]
     
     
  • 5.22, konst (??), 01:39, 15/07/2013 [^] [ответить]     [к модератору]  
  • +/
    PS Ответ содержится в авторском небольшом тексте ... весь текст скрыт [показать]
     
  • 2.13, mihalych (ok), 22:01, 12/07/2013 [^] [ответить]    [к модератору]  
  • +/
    > спасибо. поржал.

    Удобно ли копытами на клавиатуре печатать, а?

     
     
  • 3.50, Аноним (-), 16:24, 22/10/2013 [^] [ответить]    [к модератору]  
  • +/
    А то!
     
  • 1.3, daemontux (?), 09:28, 12/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Может просто не ставить wine на боевые сервера и не давать пароль рута всем подряд?
     
     
  • 2.9, past (?), 12:16, 12/07/2013 [^] [ответить]    [к модератору]  
  • +/
    И не только на сервера!
    Самый верный способ предотвращения запуска... - снести вайн.
     
  • 2.17, konst (??), 03:30, 13/07/2013 [^] [ответить]     [к модератору]  
  • +/
    Лет 15-5 назад иногда приходилось ставить wine и на боевые серверы ради некое... весь текст скрыт [показать]
     
  • 2.29, Иван Иванович Иванов (?), 01:48, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    > Может просто не ставить wine на боевые сервера и не давать пароль
    > рута всем подряд?

    На desktop у вас Windows, да? Всё ясно.

     
     
  • 3.38, Alan Cox (?), 16:34, 22/07/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Топор - лучшее средство от проблем Описали бы лучше Предотвращение запуска ко... весь текст скрыт [показать]
     
     
  • 4.39, konst (ok), 03:05, 23/07/2013 [^] [ответить]     [к модератору]  
  • +/
    Описали бы лучше, как заставить комментаторов предварительно ВНИМАТЕЛЬНО прочита... весь текст скрыт [показать]
     
     
  • 5.44, Alan Cox (?), 14:02, 29/07/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    А зачем пользователь случайно ставит WINE и не желает её случайно запускать Ещё... весь текст скрыт [показать]
     
  • 1.4, Igor (??), 11:07, 12/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Или что-то вроде такого:
    mv /usr/bin/wine /usr/bin/nowine ; chmod -x /usr/bin/nowine

     
     
  • 2.41, askh (ok), 00:41, 27/07/2013 [^] [ответить]    [к модератору]  
  • +/
    А зачем? Это не позволит достичь поставленных автором целей, и, вообще говоря, первое же обновление Wine вернёт его на место.
     
  • 1.5, qqq (??), 11:10, 12/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Гы.
    А вот почти правильное решение:
    mount -o remount,noexec /home (ну или mount -u -o noexec /usr/home)
    chgrp wine /usr/bin/wine (chgrp wine /usr/local/bin/wine)
    chmod 550 /usr/bin/wine (chmod 550 /usr/local/bin/wine)

    перемонтирование /home с noexec - "защитит" от установки wine в домашний каталог

    Можно ещё добавить специальную группу для использования компиляторов.

     
     
  • 2.28, Злыдень (??), 01:47, 18/07/2013 [^] [ответить]     [к модератору]  
  • +/
    Откройте для себя LD_PRELOAD СпИцИалисты по безопасности Уволил бы вас сразу з... весь текст скрыт [показать]
     
     
  • 3.35, Аноним (-), 21:06, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    А по подробнее, что LD_PRELOAD может противопоставить noexec?
     
  • 3.36, Аноним (-), 21:17, 18/07/2013 [^] [ответить]     [к модератору]  
  • +/
    cd tmp gcc -fPIC -c -o test o -x c - EOF include stdio h void _init v... весь текст скрыт [показать]
     
     
  • 4.37, Иван Иванович Иванов (?), 14:21, 20/07/2013 [^] [ответить]     [к модератору]  
  • +/
    Уговорили cd tmp wget http www win tue nl aeb linux hh fixelf c cp ... весь текст скрыт [показать]
     
     
  • 5.43, Аноним (-), 09:47, 29/07/2013 [^] [ответить]    [к модератору]  
  • +/
    В какой среде это надо выполнять? Apparmor или SELinux надо при этом отключать?
    У меня упрямо выдает:
    error while loading shared libraries
     
     
  • 6.48, Иван Иванович Иванов (?), 12:58, 01/08/2013 [^] [ответить]    [к модератору]  
  • +/
    Default CentOS 6.4 i686, SeLinux=disabled.

    Не вижу смысла в нём на домашней машине - не хочу за непонятные плюсы терять производительность.

     
  • 2.30, XoRe (ok), 12:24, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    Как это поможет от запуска рутом?
     
  • 1.6, qqq (??), 11:13, 12/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Гы номер 2:
    пользователь потом сделает у себя в каталоге rm -f .wine и будет счастлив, даже без WINEPREFIX:
    Маленькая демонстрация:

    igorr:~>ls -ld QQQQ
    ----------  1 root  wheel  0 12 jul 11:12 QQQQ
    igorr:~>pwd
    /usr/home/igorr
    igorr:~>id
    uid=1001(igorr) gid=1001(igorr) groups=1001(igorr)
    igorr:~>rm -f QQQQ
    igorr:~>ls -ld QQQQ
    ls: QQQQ: No such file or directory

     
     
  • 2.7, qqq (??), 11:15, 12/07/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    А теперь нужно принести извинения: там в заметке сказано, что защита не от запуска wine, а "защита" от случайного запуска wineю
     
  • 1.8, Igor (??), 11:23, 12/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ну смотрите, по логике, если wine будет иметь имя, которое знаете только вы сами, то уже вероятность случайного запуска из-за внешних программ упадет в разы. Или нет?
     
     
  • 2.14, mihalych (ok), 22:11, 12/07/2013 [^] [ответить]    [к модератору]  
  • +/
    Да, да. Согласен, давайте и rm переименуем. А то вдруг в батнике вендовом кто-то пропишет bash -c rm -rf /
     
  • 2.27, Злыдень (??), 01:46, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    У меня wine как обработчик *.exe прописан ... ну?
     
  • 1.15, mihalych (ok), 22:20, 12/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Имхо нужно патчить вайн, чтобы от рута не запускался. Раньше он и сам отваливался с предупреждением о том, что от рута так низзя. Сейчас вроде и от рута работает. А фокус с файликом - это костыль в чистом виде. Это можно легко обойти.
     
     
  • 2.16, konst (??), 02:48, 13/07/2013 [^] [ответить]    [к модератору]  
  • +/
    > Имхо нужно патчить вайн, чтобы от рута не запускался. Раньше он и
    > сам отваливался с предупреждением о том, что от рута так низзя.
    > Сейчас вроде и от рута работает. А фокус с файликом -
    > это костыль в чистом виде. Это можно легко обойти.

    Для desktop - очень даже нормальное решение. Сам я wine не пользую, но понимаю, что часто возникает ситуация, когда у тебя запущено несколько xterm и в одном из них ты под root! и выполняешь команду, которую под root давать не стоит.

    Предложенное решение - это нормальное решение для домашних раб.станций, которые юзуют wine, и не хотят, чтобы wine "вдруг" запустился из под root.

     
  • 2.26, Злыдень (??), 01:43, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    Ещё раз для особо одарённых - это не _защита_, а предотвращение.
     
  • 2.42, askh (ok), 00:52, 27/07/2013 [^] [ответить]    [к модератору]  
  • +/
    > это костыль в чистом виде. Это можно легко обойти.

    Это, скорее, как предохранитель на оружии — защита от собственной ошибки или неосторожности, а не для ограничения доступа.

     
  • 1.18, Аноним (-), 14:20, 13/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Статью писал хакирЪ. Решил задачу путем нае....лова программы :).
     
  • 1.23, catgirl (?), 20:56, 16/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Хорошее решение. Необычное и простое. To hack в чистом виде.
     
  • 1.24, pavlinux (ok), 20:25, 17/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    alias wine='[ "$EUID" == 0 ] && false';
     
     
  • 2.25, konst (ok), 21:07, 17/07/2013 [^] [ответить]    [к модератору]  
  • +/
    > alias wine='[ "$EUID" == 0 ] && false';

    это конечно проще команды touch ~/.wine :)


     
     
  • 3.33, pavlinux (ok), 14:16, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    >> alias wine='[ "$EUID" == 0 ] && false';
    > это конечно проще команды touch ~/.wine :)

    $ export HOME=/tmp
    и пиcец, нету больше вашей /root/.wine

    $ export EUID=666
    bash: EUID: доступная только на чтение переменная

    Более того, есть переменная WINEPREFIX, которая чудно меняется на что приспичит.

    $ export WINEPREFIX=$HOME/.wineshit
    $ wine

    опа, и нам пох на touch ~/.wine;
    ---

    Поэтому ваш костыль нужно дорабатывать

    export WINEPREFIX=$HOME/.wine && readonly WINEPREFIX HOME && touch $WINEPREFIX;

     
  • 3.46, Аноним (-), 23:52, 29/07/2013 [^] [ответить]     [к модератору]  
  • +/
    Это логичнее Мы не надеемся на то, что поведение Wine останется прежним по отно... весь текст скрыт [показать]
     
  • 2.49, Аноним (-), 07:40, 08/08/2013 [^] [ответить]    [к модератору]  
  • +/
    > alias wine='[ "$EUID" == 0 ] && false';

    #tcsh - или еще какой шел и увы и ах...

     
  • 1.31, erera22 (ok), 13:48, 18/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    В этом топике - троллинг все, начиная от touch ~/.wine до /root/.wine.

    В противном случае, все еще печальнее.

     
     
  • 2.34, pavlinux (ok), 18:24, 18/07/2013 [^] [ответить]    [к модератору]  
  • +/
    > В этом топике - троллинг все

    Поздравляю, ты - тролль!

     
  • 2.40, Аноним (-), 22:47, 25/07/2013 [^] [ответить]    [к модератору]  
  • +/
    Это троллинг вайна ;-)
     
  • 1.45, лопстер (?), 14:31, 29/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    виндовое решение какоето :)
     
  • 1.47, Омский линуксоид (ok), 00:19, 30/07/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Можно ещё Apparmor покрутить.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor