LINUX.ORG.RU

Tor и некоторые другие демоны запускаются со странными правами

 , , , ,


1

5

Я решил в целях безопасности запускать tor от имени одноименного пользователя, созданного portage при установке тора:

sudo -u tor tor
. И что же я обнаружил - в top видно что демон (да, в torrc указана опция RunAsDaemon 1) выполняется от юзера tor, но стоит зайти в Xfce и запустить xfce4-taskmanger, как можно заметить, что диспетчер задач считает, что процесс выполняется с правами root. Вывод
ls -la /proc/<pid_tor>
вызывает удивление:
ls: невозможно считать символьную ссылку /proc/5121/cwd: Отказано в доступе
ls: невозможно считать символьную ссылку /proc/5121/root: Отказано в доступе
ls: невозможно считать символьную ссылку /proc/5121/exe: Отказано в доступе
итого 0
dr-xr-xr-x  8 tor  tor  0 фев 21 18:41 .
dr-xr-xr-x 90 root root 0 фев 21 12:30 ..
-rw-r--r--  1 root root 0 фев 21 18:42 autogroup
-r--------  1 root root 0 фев 21 18:42 auxv
-r--r--r--  1 root root 0 фев 21 18:42 cgroup
-r--r--r--  1 root root 0 фев 21 18:42 cmdline
-rw-r--r--  1 root root 0 фев 21 18:42 comm
-rw-r--r--  1 root root 0 фев 21 18:42 coredump_filter
lrwxrwxrwx  1 root root 0 фев 21 18:42 cwd
-r--------  1 root root 0 фев 21 18:42 environ
lrwxrwxrwx  1 root root 0 фев 21 18:42 exe
dr-x------  2 root root 0 фев 21 18:42 fd
dr-x------  2 root root 0 фев 21 18:42 fdinfo
-r--------  1 root root 0 фев 21 18:42 io
-r--------  1 root root 0 фев 21 18:42 ipaddr
-r--r--r--  1 root root 0 фев 21 18:42 limits
-rw-r--r--  1 root root 0 фев 21 18:42 loginuid
dr-x------  2 root root 0 фев 21 18:42 map_files
-r--r--r--  1 root root 0 фев 21 18:42 maps
-rw-------  1 root root 0 фев 21 18:42 mem
-r--r--r--  1 root root 0 фев 21 18:42 mountinfo
-r--r--r--  1 root root 0 фев 21 18:42 mounts
-r--------  1 root root 0 фев 21 18:42 mountstats
dr-xr-xr-x  7 tor  tor  0 фев 21 18:42 net
dr-x--x--x  2 root root 0 фев 21 18:42 ns
-rw-r--r--  1 root root 0 фев 21 18:42 oom_adj
-r--r--r--  1 root root 0 фев 21 18:42 oom_score
-rw-r--r--  1 root root 0 фев 21 18:42 oom_score_adj
-r--------  1 root root 0 фев 21 18:42 personality
lrwxrwxrwx  1 root root 0 фев 21 18:42 root
-r--r--r--  1 root root 0 фев 21 18:42 schedstat
-r--r--r--  1 root root 0 фев 21 18:42 sessionid
-r--r--r--  1 root root 0 фев 21 18:41 stat
-r--r--r--  1 root root 0 фев 21 18:41 statm
-r--r--r--  1 root root 0 фев 21 18:42 status
dr-xr-xr-x  3 tor  tor  0 фев 21 18:42 task
И это при том что никакого suid/sgid бита на /usr/bin/tor не выставлено. И такие права имеет так же ntpd демон запущенный от юзера ntp (за исключением, понятно net и task) с помощью openrc а еще ssh-agent автозапускаемый при старте xfce. Но, например таким-же образом запускаемый gpg-agent или gvfsd имеют следующие права:
итого 0
dr-xr-xr-x   8 user  user  0 фев 27 16:32 .
dr-xr-xr-x 127 root root 0 фев 27 13:33 ..
-rw-r--r--   1 user  user  0 фев 27 17:20 autogroup
-r--------   1 user  user  0 фев 27 17:20 auxv
-r--r--r--   1 user  user  0 фев 27 17:20 cgroup
-r--r--r--   1 user  user  0 фев 27 16:32 cmdline
-rw-r--r--   1 user  user  0 фев 27 17:20 comm
-rw-r--r--   1 user  user  0 фев 27 17:20 coredump_filter
lrwxrwxrwx   1 user  user  0 фев 27 17:20 cwd -> /
-r--------   1 user  user  0 фев 27 17:20 environ
lrwxrwxrwx   1 user  user  0 фев 27 17:20 exe -> /usr/libexec/gvfsd
dr-x------   2 user  user  0 фев 27 17:20 fd
dr-x------   2 user  user  0 фев 27 17:20 fdinfo
-r--------   1 user  user  0 фев 27 17:20 io
-r--------   1 user  user  0 фев 27 17:20 ipaddr
-r--r--r--   1 user  user  0 фев 27 17:20 limits
-rw-r--r--   1 user  user  0 фев 27 17:20 loginuid
dr-x------   2 user  user  0 фев 27 17:20 map_files
-r--r--r--   1 user  user  0 фев 27 17:20 maps
-rw-------   1 user  user  0 фев 27 17:20 mem
-r--r--r--   1 user  user  0 фев 27 17:20 mountinfo
-r--r--r--   1 user  user  0 фев 27 17:20 mounts
-r--------   1 user  user  0 фев 27 17:20 mountstats
dr-xr-xr-x   6 user  user  0 фев 27 17:20 net
dr-x--x--x   2 user  user  0 фев 27 17:20 ns
-rw-r--r--   1 user  user  0 фев 27 17:20 oom_adj
-r--r--r--   1 user  user  0 фев 27 17:20 oom_score
-rw-r--r--   1 user  user  0 фев 27 17:20 oom_score_adj
-r--------   1 user  user  0 фев 27 17:20 personality
lrwxrwxrwx   1 user  user  0 фев 27 17:20 root -> /
-r--r--r--   1 user  user  0 фев 27 17:20 schedstat
-r--r--r--   1 user  user  0 фев 27 17:20 sessionid
-r--r--r--   1 user  user  0 фев 27 16:32 stat
-r--r--r--   1 user  user  0 фев 27 17:20 statm
-r--r--r--   1 user  user  0 фев 27 17:20 status
dr-xr-xr-x   4 user  user  0 фев 27 17:20 task
Правда вывод
sudo lsof -c tor
говорит о том что используемые процессом файлы открыты от юзера tor. Я пробовал cделать владельцем бинарника пользователя tor и, поставив на него suid бит запустить. Пробовал запускать от своего текущего пользователя, от которого залогинен. Но все равно в диспетчере задач он root, а
ls -la /proc/<pid>
дает такой пугающий вывод. Интересно что когда запускаешь
sudo -u tor tor
, в taskmanager видно, что процесс вроде как был запущен от tor, но тут же был завершен и запущен уже как root. У меня вопрос к знатокам безопасности linux: нормально ли что процесс так запускается, может ли демон с такими правами читать/писать/запускать файлы с правами root в системе? Если да то спасет ли chroot со всеми кроме самой нижней (capabilitys ..) ограничениями grsecurity в конфиге ядра, или он с такими правами может выбраться из chroot-a или запустить процесс за его пределами? Устанавливал я Xfce по вот этой http://wiki.enchtex.info/howto/gentoo/gentoo_install_xfce и этой http://wiki.gentoo.org/wiki/Xfce/Guide/ru инструкции и поэтому у меня стоят D-bus, consolekit и policykit, pam еще по зависимостям притянулся, может в ком то из них дело? А может дело в ядре?



Последнее исправление: Linuxoid2015 (всего исправлений: 1)
Ответ на: комментарий от backbone

Проблема в том что даже если я запускаю tor от того пользователя, от которого залогинен безо всяких su или sudo он все равно выполняется с теми правами (первый вывод ls -la /proc/'pid_tor' в моем посте(конечно каталог task и net приэтом имеет разрешение user)) не будучи помеченным suid, и ntpd запущенный системой инициализации с опцией NTPD_OPTS="-g -u ntp:ntp" то же имеет такие же разрешения и рассматривается xfce4-taskmanager-ом как запущенный от root. А

su -c /usr/bin/tor tor
у меня чёто требует какой то пароль. А какой я введу пароль если в /etc/shadow у tor в поле пароля восклицательный знак?

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

Ну да, так то же можно сделать но картину вывода

ls -la /proc/'pid_tor'
это не меняет. И меня больше всего беспокоит что есть демоны полностью работающие от юзера, а есть ни в какую не желющие расставаться с некоторыми root привилегиями даже если им добавить юзерский suid и запускать от юзера. Что то мне подсказывает что дело в ядре, что то я там нахимичил наверное. На какие опции стоит обратить внимание, кто может подсказать?

Linuxoid2015
() автор топика
Ответ на: комментарий от Linuxoid2015
  1. По логике, если к-л файл в псевдофайловой /proc имеет owner:group=root:root, то это не снижает безопасности, т.к. для доступа требует больше привилегий. Главное чтобы для процесса UID==tor.
  2. Почему такие выхлопы и почему так работает sudo хз. (у меня, кстати, su по-другому работает).
  3. Про xfce4-taskmanger тоже непонятно, может дело в нём самом.

Вот ещё, unix.stackexchange.com

backbone ★★★★★
()
Последнее исправление: backbone (всего исправлений: 1)
Ответ на: комментарий от backbone

Спасибо за разъяснение,

Вот ещё, unix.stackexchange.com

очень познавательно. И похоже ты прав, даже на оф форуме xfce отмечают расхождение в значении uid отображаемом xfce4-taskmanager и например ps

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