The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Предотвращение запуска Wine любым п..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Предотвращение запуска Wine любым п..."  +/
Сообщение от auto_tips (??) on 11-Июл-13, 22:29 
Данная заметка не является способом запрещения запуска Windows-приложений из-под Wine, она служит лишь целью предотвращения запуска Wine любым пользователем, который не желает случайно это сделать.

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

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

   # wine stduviewer.exe

   wine: /root/.wine is not a directory

Никакие другие действия выполнять больше не нужно.

URL:
Обсуждается: https://www.opennet.ru/tips/info/2780.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Предотвращение запуска Wine любым пользователем"  –1 +/
Сообщение от Аноним (??) on 11-Июл-13, 22:29 
man wine
WINEPREFIX
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от demimurych email(ok) on 11-Июл-13, 22:38 
спасибо.  
поржал.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от daemontux on 12-Июл-13, 09:28 
Может просто не ставить wine на боевые сервера и не давать пароль рута всем подряд?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Igor (??) on 12-Июл-13, 11:07 
Или что-то вроде такого:
mv /usr/bin/wine /usr/bin/nowine ; chmod -x /usr/bin/nowine

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от qqq (??) on 12-Июл-13, 11:10 
Гы.
А вот почти правильное решение:
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 в домашний каталог

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от qqq (??) on 12-Июл-13, 11:13 
Гы номер 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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Предотвращение запуска Wine любым пользователем"  +2 +/
Сообщение от qqq (??) on 12-Июл-13, 11:15 
А теперь нужно принести извинения: там в заметке сказано, что защита не от запуска wine, а "защита" от случайного запуска wineю
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Igor (??) on 12-Июл-13, 11:23 
Ну смотрите, по логике, если wine будет иметь имя, которое знаете только вы сами, то уже вероятность случайного запуска из-за внешних программ упадет в разы. Или нет?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от past email on 12-Июл-13, 12:16 
И не только на сервера!
Самый верный способ предотвращения запуска... - снести вайн.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

11. "Предотвращение запуска Wine любым пользователем"  +1 +/
Сообщение от konst email(??) on 12-Июл-13, 20:51 
> спасибо.
> поржал.
> Автор даю наколочку
> почитать про права которые можно устанавливать. Особенно посмотреть в сторону прав на
> выполнение,
> и как их можно ставить для групп пользователей.

Про права root'а почитайте.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

13. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от mihalych email(ok) on 12-Июл-13, 22:01 
> спасибо. поржал.

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

14. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от mihalych email(ok) on 12-Июл-13, 22:11 
Да, да. Согласен, давайте и rm переименуем. А то вдруг в батнике вендовом кто-то пропишет bash -c rm -rf /
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от mihalych email(ok) on 12-Июл-13, 22:20 
Имхо нужно патчить вайн, чтобы от рута не запускался. Раньше он и сам отваливался с предупреждением о том, что от рута так низзя. Сейчас вроде и от рута работает. А фокус с файликом - это костыль в чистом виде. Это можно легко обойти.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от konst email(??) on 13-Июл-13, 02:48 
> Имхо нужно патчить вайн, чтобы от рута не запускался. Раньше он и
> сам отваливался с предупреждением о том, что от рута так низзя.
> Сейчас вроде и от рута работает. А фокус с файликом -
> это костыль в чистом виде. Это можно легко обойти.

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

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

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от konst email(??) on 13-Июл-13, 03:30 
> Может просто не ставить wine на боевые сервера и не давать пароль
> рута всем подряд?

Лет 15-5 назад иногда приходилось ставить wine и на "боевые серверы" (ради некоей проги). Нынче все проще (слава Богу). Производители железок/драйверов/софта теперь учитывают и linux.

А вот давать/не_давать пароль рута всем подряд - это личное демократическое дело. Не будем вмешивать сюда политику. :)


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

18. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 13-Июл-13, 14:20 
Статью писал хакирЪ. Решил задачу путем нае....лова программы :).
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 13-Июл-13, 19:07 
Первую строку хоть осиль.
Я понимаю, что никто не читает ничего кроме кода и цифр, но все таки
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

20. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от demimurych email(ok) on 14-Июл-13, 09:14 
Ога.
Особенно про то как созданные пустой .wine остановит рута от заупка самого wine а
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

21. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от konst email(??) on 15-Июл-13, 01:35 
> Ога.
> Особенно про то как созданные пустой .wine остановит рута от заупка самого
> wine а

Вы, видимо, новичок в linux. Просто опыта не хватает.
На Ваш вопрос ответ: ДА. Остановит. А почему? - Вам лучше догадаться самому.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от konst email(??) on 15-Июл-13, 01:39 
>> Ога.
>> Особенно про то как созданные пустой .wine остановит рута от заупка самого
>> wine а
> Вы, видимо, новичок в linux. Просто опыта не хватает.
> На Ваш вопрос ответ: ДА. Остановит. А почему? - Вам лучше догадаться
> самому.

PS. Ответ содержится в авторском небольшом тексте.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от catgirl on 16-Июл-13, 20:56 
Хорошее решение. Необычное и простое. To hack в чистом виде.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от pavlinux (ok) on 17-Июл-13, 20:25 
alias wine=`[ "$EUID" == 0 ] && false`;
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от konst email(ok) on 17-Июл-13, 21:07 
> alias wine=`[ "$EUID" == 0 ] && false`;

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


Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

26. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Злыдень (??) on 18-Июл-13, 01:43 
Ещё раз для особо одарённых - это не _защита_, а предотвращение.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

27. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Злыдень (??) on 18-Июл-13, 01:46 
У меня wine как обработчик *.exe прописан ... ну?
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

28. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Злыдень (??) on 18-Июл-13, 01:47 
> Гы.
> А вот почти правильное решение:
> 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 в домашний каталог
> Можно ещё добавить специальную группу для использования компиляторов.

Откройте для себя LD_PRELOAD.

СпИцИалисты по безопасности.

Уволил бы вас сразу за такое "решение".

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

29. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Иван Иванович Иванов on 18-Июл-13, 01:48 
> Может просто не ставить wine на боевые сервера и не давать пароль
> рута всем подряд?

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

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

30. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от XoRe (ok) on 18-Июл-13, 12:24 
Как это поможет от запуска рутом?
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

31. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от erera22 email(ok) on 18-Июл-13, 13:48 
В этом топике - троллинг все, начиная от touch ~/.wine до /root/.wine.

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

33. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от pavlinux (ok) on 18-Июл-13, 14:16 
>> 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;

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

34. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от pavlinux (ok) on 18-Июл-13, 18:24 
> В этом топике - троллинг все

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

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

35. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 18-Июл-13, 21:06 
А по подробнее, что LD_PRELOAD может противопоставить noexec?
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

36. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 18-Июл-13, 21:17 
$ cd ~/tmp
$ gcc -fPIC -c -o test.o -x c - <<EOF
#include <stdio.h>
void _init(void) { printf( "TEST\n" ); }
EOF
$ gcc test.o -shared -nostdlib -lgcc -o libtest.so
$ mount | grep ~/tmp
none on /home/x/tmp type tmpfs (rw,noexec,nosuid,nodev,size=2g,uid=1000,gid=1000,mode=0700)
$ LD_PRELOAD=~/tmp/libtest.so uname
ERROR: ld.so: object '/home/x/tmp/libtest.so' from LD_PRELOAD cannot be preloaded: ignored.
Linux
$ su -c "mount -o remount,exec /home/x/tmp"
Password:
$ mount | grep ~/tmp
none on /home/x/tmp type tmpfs (rw,size=2g,uid=1000,gid=1000,mode=0700)
$ LD_PRELOAD=~/tmp/libtest.so uname
TEST
Linux
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

37. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Иван Иванович Иванов on 20-Июл-13, 14:21 
Уговорили :)

$ cd tmp
$ wget http://www.win.tue.nl/~aeb/linux/hh/fixelf.c
$ cp /usr/bin/bc /tmp
$ gcc fixelf.c -o fixelf
$ ./fixelf bc
# mount -o remount,noexec /tmp
$ mount | grep tmp
tmpfs on /tmp type tmpfs (rw,noexec,nosuid,nodev)
$ /lib/ld-linux.so.2 ./fixelf.out
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

38. "Предотвращение запуска Wine любым пользователем"  –1 +/
Сообщение от Alan Cox email on 22-Июл-13, 16:34 
Топор - лучшее средство от проблем!

Описали бы лучше:

"Предотвращение запуска компьютера любым пользователем"
"Предотвращение запуска компьютера имея рутовый пароль"
"Предотвращение запуска компьютера имея доступ к рубильнику на трансфрматорной подстанции и рутовый пароль"
"Предотвращение запуска компьютера имея ГОЛОВУ"

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

39. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от konst email(ok) on 23-Июл-13, 03:05 
> Топор - лучшее средство от проблем!
> Описали бы лучше:
> "Предотвращение запуска компьютера любым пользователем"
> "Предотвращение запуска компьютера имея рутовый пароль"
> "Предотвращение запуска компьютера имея доступ к рубильнику на трансфрматорной подстанции
> и рутовый пароль"
> "Предотвращение запуска компьютера имея ГОЛОВУ"

Описали бы лучше, как заставить комментаторов предварительно ВНИМАТЕЛЬНО прочитать сабж.
(хотя бы первую строку)

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

40. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 25-Июл-13, 22:47 
Это троллинг вайна ;-)
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

41. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от askh (ok) on 27-Июл-13, 00:41 
А зачем? Это не позволит достичь поставленных автором целей, и, вообще говоря, первое же обновление Wine вернёт его на место.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

42. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от askh (ok) on 27-Июл-13, 00:52 
> это костыль в чистом виде. Это можно легко обойти.

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

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

43. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 29-Июл-13, 09:47 
В какой среде это надо выполнять? Apparmor или SELinux надо при этом отключать?
У меня упрямо выдает:
error while loading shared libraries
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

44. "Предотвращение запуска Wine любым пользователем"  +1 +/
Сообщение от Alan Cox email on 29-Июл-13, 14:02 
А зачем пользователь случайно ставит WINE и не желает её случайно запускать?

Ещё и случайно под рутом и слуайно на сервере!

Или это случайный пользователь?


на абсурдный совет - абсурдный комент

А потом из-за случайных пользователей случайные перебои в работе серверов возникают.


Спасибо за случайный совет :)

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

45. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от лопстер on 29-Июл-13, 14:31 
виндовое решение какоето :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

46. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 29-Июл-13, 23:52 
Это логичнее. Мы не надеемся на то, что поведение Wine останется прежним по отношению к файлику .wine, а делаем ровно то, что подразумеваем: проверяем EUID и в зависимости от него принимаем решение.
Кстати, что вы будете делать, если в системе не один рут и у них не одна и та же домашняя директория? А что если WINEPREFIX вдруг определен?


P.S.
Предложенное решение показывало верный ход мыслей, но оно не до конца верно. Правильным будет что-то такое:

alias wine=`[ "$EUID" == 0 ] || /usr/bin/wine`;

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

47. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Омский линуксоид email(ok) on 30-Июл-13, 00:19 
Можно ещё Apparmor покрутить.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

48. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Иван Иванович Иванов on 01-Авг-13, 12:58 
Default CentOS 6.4 i686, SeLinux=disabled.

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

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

49. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 08-Авг-13, 07:40 
> alias wine=`[ "$EUID" == 0 ] && false`;

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

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

50. "Предотвращение запуска Wine любым пользователем"  +/
Сообщение от Аноним (??) on 22-Окт-13, 16:24 
А то!
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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