ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Aleksei Nikiforov <darktemplar@altlinux.org>
To: devel@lists.altlinux.org
Subject: Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
Date: Thu, 13 Jan 2022 10:23:00 +0300
Message-ID: <8ad4b4ba-bc26-608e-363b-dddd6cea44c5@altlinux.org> (raw)
In-Reply-To: <Yd/LUACxAZZvBI2/@portlab>

13.01.2022 09:48, Vladimir D. Seleznev пишет:
> On Thu, Jan 13, 2022 at 09:07:45AM +0300, Sergei Epiphanov wrote:
>>
>>
>> Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> 13 января 2022 г.
>> 01:18:29 написал:
>>
>>> Hi,
>>>
>>> On Thu, Jan 13, 2022 at 12:51:28AM +0300, Sergei Epiphanov wrote:
>>>>
>>>> "Dmitry V. Levin" <ldv@altlinux.org> 12 января 2022 г. 20:10:13 написал:
>>>>
>>>>> On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
>>>>>> 2 NEW bugs
>>>>> [...]
>>>>>> #41695 libgtop         normal   ---
>>>>>> Содержит suid-бинарник
>>>>>
>>>>> Я думаю, есть смысл, чтобы ядро за этим следило.
>>>>> Загружаешь ему список разрешённых privileged executables,
>>>>> все остальные запрещены.
>>>>
>>>> Мне это не очень нравится.
>>>> Во-первых, suid можно заменить на запуск через sudo или su.
>>>
>>> И это всяко лучше, чем использование непроверенных suid-ных программ, а
>>> задача состоит именно в ограничении вреда от них.
>>
>> Здесь как раз и проблема. Пример я уже привёл. Приходится ставить на
>> команду выполнение sudo без пароля, что позволяет пользователю самому
>> рулить программой через sudo.
> 
> Так идея не в том, чтобы не позволять пользователю рулить системой
> (совсем даже наоборот).
> 
> Если вы ставите команду на выполнение через sudo без пароля, вы это
> делаете явно, и явно запускаете команду.
> 
> Проблема же произвольных suid-бинарников в том, что при правах доступа
> не строже 4xx1 (*) любой пользователь может её запустить (в т.ч.
> злонамеренный или скомпрометированный), тем самым повысив себе
> привилегии.  И даже если процесс сэндбоксится, сбрасывает привилегии,
> всё-равно есть возможность пытаться сколь угодно долго (*) выполнить
> произвольный код в привилегированном окружении до наступления успеха,
> при этом эксплуатируемая ошибка не обязательно должна быть при этом
> именно в запускаемом суидном бинарнике.
> 
> Но в любом случае решение, как управлять системой остаётся за
> пользователем в зависимости от его модели угроз.
> 
> * В одном проекте была реализована функциональность, запрещающая на
> некоторое время запускать suid-ные команды пользователю, у которого
> анормально завершил работу setuid'ный процесс.
> 
> P.S. Re: sudo: why not?
> https://www.openwall.com/lists/owl-users/2004/10/20/6
> 

Здравствуйте.

Могу ещё предложить whitelist на уровне пакетного менеджера. При 
установке или обновлении пакета, если в нём есть suid/sgid файлы, 
сравнивать их с разрешённым списком в пакетном менеджере, и если этот 
файл в списке отсутствует, то suid/sgid снимать. Также можно при этом 
проверять что этот файл из определённого пакета, а в пакетном менеджере 
включать/выключать эту фичу. Такой список будет более гибким чем в 
сборочнице, а в сравнении с ядром - зависит от реализаций.

С уважением,
Алексей Никифоров


  reply	other threads:[~2022-01-13  7:23 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-12 17:10 ` Dmitry V. Levin
2022-01-12 18:00   ` Vladimir D. Seleznev
2022-01-12 18:04     ` Vladimir D. Seleznev
2022-01-12 18:07     ` Dmitry V. Levin
2022-01-12 18:23       ` Vladimir D. Seleznev
2022-01-12 23:12         ` Dmitry V. Levin
2022-01-13  5:45           ` Vladimir D. Seleznev
2022-01-12 18:52     ` Alexey V. Vissarionov
2022-01-30 20:47       ` Michael Shigorin
2022-01-12 22:17     ` Gleb Fotengauer-Malinovskiy
2022-01-13  6:48         ` Vladimir D. Seleznev
2022-01-13  7:23           ` Aleksei Nikiforov [this message]
2022-01-13  7:25             ` Anton Farygin
2022-01-13  7:29             ` Vladimir D. Seleznev
2022-01-13  7:45               ` Anton Farygin
2022-01-13  8:17       ` Anton V. Boyarshinov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8ad4b4ba-bc26-608e-363b-dddd6cea44c5@altlinux.org \
    --to=darktemplar@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git