LINUX.ORG.RU

С какими правами вы запускаете проприетарные программы?


0

2

Интересно ли Dropbox'у содержимое ваших .ssh и .gnupg? А любителям поломать дырявый Flash Plugin? Что вы отвечаете человеку, предлагающему созвониться по Skype?

Не флэшем единым живы дыры в браузерах. Виндовые трояны, запущенные под wine, успешно шифруют фотографии и музыку и крадут пароли из оказавшегося под боком Qip.

Какой баланс между безопасностью и удобством выработали для себя вы? Интересуют рецепты, истории успеха и неуспеха.

  1. Своего пользователя 498 (51%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Своего пользователя и root (например, официальный deb-пакет) 344 (35%)

    *****************************************************************************************************************************************************************************************************************************

  3. Не запускаю 167 (17%)

    ***********************************************************************************************************

  4. В виртуальном окружении 57 (6%)

    ************************************

  5. Дополнительного пользователя для небезопасных задач) 45 (5%)

    ****************************

  6. Выделенного для данного приложения пользователя 37 (4%)

    ***********************

  7. Своего пользователя, ограничивая приложение (SELinux, AppArmor…) 30 (3%)

    *******************

  8. В chroot 28 (3%)

    *****************

  9. На отдельной машине 22 (2%)

    **************

  10. Другой вариант 16 (2%)

    **********

  11. В специальной песочнице 14 (1%)

    ********

Всего голосов: 1258, всего проголосовавших: 981

Своего пользователя

unikum ★★★★★
()

Флеш в google-chrome под юзером конечно.

А так проприетарный софт не использую.

Deleted
()

Skype от другого пользователя. (Вообще написал скрипт для этих целей)

Dropbox заменил на Wuala.

Opera, Prey и Osmos от юзера.

Suntechnic ★★★★★
()

паранойи тред
с необходимыми

megabaks ★★★★
()

Интересно ли Dropbox'у содержимое ваших .ssh и .gnupg?

облака не нужны. совсем.

А любителям поломать дырявый Flash Plugin?

ололо

Что вы отвечаете человеку, предлагающему созвониться по Skype?

отвечаю, что созвонимся

Виндовые трояны, запущенные под wine

дай мне хоть один рабочий

успешно шифруют фотографии и музыку

какой идиот хранит фото и музыку в WINE_PREFIX?

и крадут пароли из оказавшегося под боком Qip.

не думаю, что нормальный человек будет юзать это убожество, да еще и в линуксе?

feinsbot
()
Ответ на: комментарий от feinsbot

дай мне хоть один рабочий

Как-то удалось запустить порнобанер. Он был полноэкранным изображением рабочего стола, такого как если бы он был под вендой из префикса wine. С alt его можно было сдвинуть в сторону.

Suntechnic ★★★★★
()
Ответ на: комментарий от bk_
#!/bin/bash
# Коды завершения
UA_REQUEST=60		# Прервано пользователем
NO_REQUEST=61		# Нет одного или нескольких параметров
NU_REQUEST=62		# Указан несуществующий пользователь
NEH_REQUEST=63		# Не удалось создать папку пользователя
FCXA_REQUEST=64		# Не удалось создать файл авторизации
SUDOFAIL_REQUEST=65	# Ошибка авторизации супер-пользователя
UE_REQUEST=69		# Непредвиденная ошибка
HELP_REQUEST=70		# HELP


# Справка
if [ "$1" = "-h"  -o "$1" = "--help" ]     # Request help.
then
	echo; echo "Порядок использования:	$0 user [option] command"
	echo "			$0 [-h|--help] - выводит эту справку"; echo
	sed --silent -e '/DOCUMENTATIONHELP$/,/^DOCUMENTATIONHELP/p' "$0" |
	sed -e '/DOCUMENTATIONHELP/d';
	exit $HELP_REQUEST;
fi

: << DOCUMENTATIONHELP
Запускает GUI-приложение от имени другого пользователя
Для правильной работы ваша система должна пробрасывать переменную XAUTHORITY через sudo
и вы должны иметь права на sudo - вам потребуется ввести свой пароль
	user - пользователь от имени которого необходимо выполнить command
	option - однобуквенный ключ указывающий в каком домашнем каталоге выполнять command
	если ключ опущен, то для пользователей с uid < 1000 будет созданн временный каталог в /tmp,
	а для пользователей с uid > 999 будет использоваться каталог указанный в /etc/passwd,
		h - выполнить в домашнем каталоге пользователя указанном в /etc/passwd
		t - создать временныый каталог для выполнения этой задачи
Коды завершения:
	60 - Прервано пользователем
	61 - Нет одного или нескольких параметров
	62 - Указан несуществующий пользователь
	63 - Не удалось создать папку позьзователя
	64 - Не удалось создать файл авторизации
	65 - Ошибка авторизации супер-пользователя
	69 - Непредвиденная ошибка
	70 - HELP
		
by dr.Faust aka Suntechnic
GNU/GPL 3 (2010)
DOCUMENTATIONHELP

# Обработка естественных ошибок
# Проверка параметров
if [ "$1" = "" -o "$2" = "" ]
then
	echo "$0: пропущен операнд"
	echo "Попробуйте '$0 --help' для получения более подробного описания."
	exit $NO_REQUEST
fi
# Проверка пользователя
PSWDNT=`cat /etc/passwd | grep "$1:x:"`	# Запись о пользователе в /etc/passwd
if [ "$PSWDNT" = "" ]
then
	echo "$0: неизвестный пользователь: $1"
	exit $NU_REQUEST
fi

# Получаем переменные и устанавливаем home
# Окружение
DSPL=$DISPLAY
MYXA=$XAUTHORITY

TMPUSER=$1	# Пользователь
PLACE=$2	# Предположительно ключ home
# CMND=$3	# Команда

# Устанавливаем переменные
case $PLACE in
	["h"])
		# Выполняем операцию в домашнем каталоге из /etc/passwd
		# Получаем информацию о пользователе
		CMNDAWK=`echo 'BEGIN{ FS = ":" }{ print $6 }'`
			LCHOME=`echo $PSWDNT | awk "$CMNDAWK"`
		CMNDAWK=`echo 'BEGIN{ FS = ":" }{ print $3 }'`
			LCUID=`echo $PSWDNT | awk "$CMNDAWK"`
		if [ "$LCUID" -lt "1000" ]
		then
			# Операция в домашнем каталоге пользователя с UID < 1000
			echo "Вы пытаетесь выполнить '$CMND' от имени пользователя '$TMPUSER' (UID: $LCUID) в его домашнем каталоге: $LCHOME"
			read -p "Всё равно продолжить? (Да - только 'y') [y/n]: " myyn
			if [ "$myyn" != "y" ]
			then
				echo "Прервано пользователем"
				exit $UA_REQUEST
			fi
		fi
		shift
		shift
		CMND=$@
	;;
	["t"])
		# Выполняем операцию во временном домашнем каталоге
		LCHOME=/tmp/tudo-$TMPUSER
		shift
		shift
		CMND=$@
	;;
	*)
		# Выполняем операцию в каком-то домашнем каталоге... ;)
		# Получаем UID
		CMNDAWK=`echo 'BEGIN{ FS = ":" }{ print $3 }'`
		LCUID=`echo $PSWDNT | awk "$CMNDAWK"`
		if [ "$LCUID" -lt "1000" ]
		then
			PLACE="t"
			LCHOME=/tmp/tudo-$TMPUSER
		else
			PLACE="h"
			CMNDAWK=`echo 'BEGIN{ FS = ":" }{ print $6 }'`
			LCHOME=`echo $PSWDNT | awk "$CMNDAWK"`
		fi
		shift
		CMND=$@
esac
# Проверяем теперь уже окончательную команду
if [ "$CMND" = "" ]
then
	echo "$0: пропущен операнд"
	echo "Попробуйте '$0 --help' для получения более подробного описания."
	exit $NO_REQUEST
fi

# Собственно рабочий код
# Тут нам потребуется судо
sudo true
if [ "$?" != "0" ]
then
	echo "$0: провал авторизации"
	exit $SUDOFAIL_REQUEST
fi

if [ "$PLACE" = "t" ]
then
	# Необходима временная домашняя папка
	# Создаём временный домашний каталог
	sudo mkdir $LCHOME
	if [ "$?" = "0" ]
	then
		# Если мы действительно создали временный домашний каталог, запишем путь к нему в файл - это потребуется в дальнейшем для безопасного его удаления
		LCLCHOME="$LCHOME""_lc"
		# Указатель на удачное создание каталога
		sudo echo "$LCHOME" >> $LCLCHOME
		sudo chmod 0777 $LCLCHOME
	fi	
	sudo chown $TMPUSER $LCHOME
else
	if [ ! -d $LCHOME ]
	then
		# а каталога-то и нет...
		sudo mkdir $LCHOME
		if [ "$?" = "0" ]
		then
			$PLACE="ht"
		else
			echo "Домашний каталог '$LCHOME' не существует, а попытка его создания завершилась провалом"
			exit $NEH_REQUEST
		fi
		sudo chown $TMPUSER $LCHOME
	fi
fi
# Проверяем получили ли мы каталог
if [ ! -d $LCHOME ]
then
	echo "Домашний каталог '$LCHOME' не существует или его не удалось создать"
	exit $NEH_REQUEST
fi

# Отдаём файл авторизации
LXA=$LCHOME/.xauthority-tudo
sudo cp $MYXA $LXA
sudo chown $TMPUSER $LXA
# Проверяем получили ли файл авторизации
if [ ! -e $LXA ]
then
	echo "Не удалось создать файл авторизации"
	exit $FCXA_REQUEST
fi
# На всякий случай проверяем переменные
# Так как хомяк и файл авторизации будут удалятся, да ещё и от root - проверим что путь к хомяку не "" и не "/"
if [ "$LCHOME" = "" -o "$LCHOME" = "/" ]
then
	echo "Что-то пошло не так..."
	exit $UE_REQUEST
fi
# Экспортируем переменные
export XAUTHORITY=$LXA
export DISPLAY=$DSPL
export HOME=$LCHOME
# Запускаемся
echo "'$CMND' выполняется в следующем окружении:"
sudo -u $TMPUSER env
echo "------------ далее следует вывод выполняемой команды ------------"
sudo -u $TMPUSER $CMND
CMDEXIT_REQUEST=$?
echo "---------------- конец вывода выполняемой команды ----------------"
echo "'$CMND' завершилась с кодом: $CMDEXIT_REQUEST"
# Удаляем файл авторизации
# Тут нам потребуется судо
sudo true
if [ "$?" != "0" ]
then
	echo "$0: провал авторизации"
	echo "Файл авторизации X-сервера ($LXA) не будет удалён"
	if [ "$PLACE" = "t" ]
	then
		echo "Временная домашняя директория ($LCHOME) не будет удалёна"
		echo "Файл-указатель ($LCLCHOME) не будет удалён"
	fi
	exit $SUDOFAIL_REQUEST
fi
sudo rm -f "$LXA"

if [ "$PLACE" = "t" ]
then 
	# Удаляем домашний каталог
	sleep 8
	# Мы должны быть уверены что:
		# 1 Переменная $LCHOME всё ещё указывает на созданный нами каталог
		# 2 Нет больше ни одной копии tudo которая его использует
	if [ -e "$LCLCHOME" -a  -e "$LCHOME" ]
	then
		LCLCHOMECNT=`cat "$LCLCHOME"`
		if [ "$LCHOME" = "$LCLCHOMECNT" -a "$LCHOME" != "" ]
		then
			sudo rm -rf "$LCHOME"
			rm -f "$LCLCHOME"
		else
			echo "Что-то пошло не так при попытке удалить временный домашний каталог '$LCHOME' ..."
			echo "Удалите '$LCHOME' вручную если он действительно не нужен."
			exit $UE_REQUEST
		fi
	else
		echo "Что-то пошло не так при попытке удалить временный домашний каталог '$LCHOME' ..."
		echo "Удалите '$LCHOME' вручную если он действительно не нужен."
		exit $UE_REQUEST
	fi
fi
exit $CMDEXIT_REQUEST 
Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

За скрипт спасибо.

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

bk_ ★★
()

С какими правами вы запускаете проприетарные программы?

Флеш от своего пользователя. Хотя сам флеш использую довольно редко (flashblock с ручным разрешением везде). Проприетарные игрушки из бэндлов — от созданного для этих целей пользователя. Иногда на работе требуется win-софт — запускаю в виртуалке.

Что вы отвечаете человеку, предлагающему созвониться по Skype?

Говорю ему, что видеозвонки не нужны.

Виндовые трояны, запущенные под wine, успешно шифруют фотографии и музыку

Вы храните фотографии и музыку в каталоге вайн-префикса?

Qip

А это-то зачем? 0_o

bloodredfrog ★★
()

Своего пользователя

radg ★★★★
()
Ответ на: комментарий от bk_

Хм... Так он и создан заранее. Точнее у меня их несколько. И от их имени запускается skype например, вот этим скриптом.

Еще от другого юзера у меня на ноуте запускается htop в шестой консоле с рутправами. Этому юзеру запрещено вообще все кроме запуска htop от рута.

Ну и другие задачи бывают.

Suntechnic ★★★★★
()
Ответ на: комментарий от feinsbot

Не помню - давно было.

Помню что это было какое-то видео размером килобайт в 140, в exe файле. Ссылку кинули то ли в почту, то ли в джабер. Что-то меня насторожило - то ли то, что от неизвестного чела пришло, то ли название... Но я сразу подумал - что-то тут не то. И конечно очень захотелось посмотреть. ;)

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

Я это понял. Имею ввиду, для чего такая простыня. Почему бы не сделать rm -rf ~tmpuser при запуске или выключении компьюетра и вместо скрипта сделать sudo -u tmpuser skype ?

bk_ ★★
()
Ответ на: комментарий от bk_

Для универсальности. Например экран gdm настроить. Для этого надо запустить настройку внешнего вида от юзера gdm.

Кроме того, sudo -u tmpuser skype - не прокатит. Он не сможет подключится к иксам. Тут обычно советуют, разрешить доступ к иксам другим пользователям. Ну что-то вроде совета подпереть окно, чтобы вор через него не забрался, выломанной входной дверью. То-есть по любому надо пробросить файл авторизации иксов.

Suntechnic ★★★★★
()

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

rigiy ★★
()
Ответ на: комментарий от feinsbot

какой идиот хранит фото и музыку в WINE_PREFIX?

file  ~/.wine/drive_c/users/$USER/* | grep "symbolic link"                                                   
/home/vadim/.wine/drive_c/users/vadim/Рабочий стол:      symbolic link to `/home/vadim/Desktop'
/home/vadim/.wine/drive_c/users/vadim/Мои документы:     symbolic link to `/home/vadim'
/home/vadim/.wine/drive_c/users/vadim/Мои рисунки:       symbolic link to `/home/vadim/'
/home/vadim/.wine/drive_c/users/vadim/Мои фильмы:        symbolic link to `/home/vadim/'
/home/vadim/.wine/drive_c/users/vadim/Моя музыка:        symbolic link to `/home/vadim/'
Felagund
() автор топика
Ответ на: комментарий от Felagund

Довелось как-то помогать товарищу, запустившему «интересный» экзешник из файлообменника. Оказался винлокер. Музыку оно просто попереименовывало, а вот сканы конспектов (дело было в сессию) пропали безвозвратно.

Felagund
() автор топика
Ответ на: комментарий от rigiy

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

Felagund
() автор топика
Ответ на: комментарий от bk_

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

Suntechnic ★★★★★
()
Ответ на: комментарий от x3al

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

Felagund
() автор топика
Ответ на: комментарий от Felagund

Либо у меня криокамера течет, либо скайп есть в репозиториях дебиана.

rigiy ★★
()
Ответ на: комментарий от Felagund

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

bloodredfrog ★★
()
Ответ на: комментарий от feinsbot

какой идиот хранит фото и музыку в WINE_PREFIX?

Напоминаю: любой запущенный под вайном софт может ВНЕЗАПНО воспользоваться линуксовыми сисколлами и делать всё то же, что и нативный софт. Потому, что вайн не является эмулятором. Это документировано.

x3al ★★★★★
()
Ответ на: комментарий от Felagund

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

Так это, бинарники бинарниками, а служебные файлы пакета (control, postinst, preinst — или как они там в дебиане называются) вполне можно же посмотреть и, при необходимости, поправить.

bloodredfrog ★★
()

skype - apparmor

Тут вообще-то надо и с линуксовыми бинарниками под gpl поосторожнее - запутил тут как-то unetbootin сборку с оф. сайта (требует root), а при аудите фс (да, я страдаю паранойей) обнаружил срань от него в /usr/bin/*

timur_dav ☆☆☆☆☆
()

> например, официальный deb-пакет

Или RPM-пакет. А как же вариант «а ещё неофициальные и непонятно кем сделанные бинарники, потому что мне начихать»? Я такого не нашёл. Но мой ответ другой.

ZenitharChampion ★★★★★
()

Драйвера от nvidia от рута конечно, df и flash от юзера, а остальная проприетарщина не нужна.

mopsene ★★★
()

Вообще стараюсь не запускать.

lmtea
()
Ответ на: комментарий от neocrust

Тред-детектор параноиков =]

Ну тогда уж счетчик, раз голосование.

segfault ★★★★★
()

Понятия не имею, что такое dropbox, не пользуюсь flash, скайпом тоже не пользуюсь (но есть желание прикупить веб-камеру - а там, глядишь, и firefox начнет поддерживать input с камеры, а гугол «запилит» свой скайп на html5).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от lmtea

После него в моей системе появились новые /usr/bin/ubnnelnx и /usr/bin/ubnsylnx, хотя он поставлялся статич. бинарником. Я так понимаю, что это он зачем-то мне засунул syslinux. Поведение как у вендовой проги, бл...дь.

timur_dav ☆☆☆☆☆
()
Ответ на: комментарий от timur_dav

Ааа... Я уж думал троян какой... Но это же по-любому есть в исходниках! Хотя чужие бинарники я тоже стараюсь не запускать

lmtea
()

Ничего настолько важного дома не храню, все нужное синхронизировано с дропбоксом и U1, использую ПО с хорошей репутацией.

note173 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.