ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  @ 2022-01-12 17:10 ` Dmitry V. Levin
  2022-01-12 18:00   ` Vladimir D. Seleznev
    0 siblings, 2 replies; 16+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 17:10 UTC (permalink / raw)
  To: ALT Devel discussion list

On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> 	2 NEW bugs
[...]
> #41695	libgtop         	normal  	 ---
> Содержит suid-бинарник

Я думаю, есть смысл, чтобы ядро за этим следило.
Загружаешь ему список разрешённых privileged executables,
все остальные запрещены.


-- 
ldv


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-12 17:10 ` [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов? Dmitry V. Levin
@ 2022-01-12 18:00   ` Vladimir D. Seleznev
  2022-01-12 18:04     ` Vladimir D. Seleznev
                       ` (2 more replies)
    1 sibling, 3 replies; 16+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-12 18:00 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 08:10:10PM +0300, Dmitry V. Levin wrote:
> On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> > 	2 NEW bugs
> [...]
> > #41695	libgtop         	normal  	 ---
> > Содержит suid-бинарник
> 
> Я думаю, есть смысл, чтобы ядро за этим следило.
> Загружаешь ему список разрешённых privileged executables,
> все остальные запрещены.

Лучше сопровождать белый список suid-бинарников, которые можно собирать
в репозитории (с привязкой к пакетам, в которых они упакованы). И
дополнять этот список только после вычитки кода инженером безопасности.

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  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:52     ` Alexey V. Vissarionov
  2 siblings, 0 replies; 16+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-12 18:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 09:00:49PM +0300, Vladimir D. Seleznev wrote:
> On Wed, Jan 12, 2022 at 08:10:10PM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> > > 	2 NEW bugs
> > [...]
> > > #41695	libgtop         	normal  	 ---
> > > Содержит suid-бинарник
> > 
> > Я думаю, есть смысл, чтобы ядро за этим следило.
> > Загружаешь ему список разрешённых privileged executables,
> > все остальные запрещены.
> 
> Лучше сопровождать белый список suid-бинарников, которые можно собирать
> в репозитории (с привязкой к пакетам, в которых они упакованы). И
> дополнять этот список только после вычитки кода инженером безопасности.

Как, например, это сделано в SUSE:

https://en.opensuse.org/openSUSE:Package_security_guidelines#Setuid_Binaries

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  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 18:52     ` Alexey V. Vissarionov
  2 siblings, 1 reply; 16+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 18:07 UTC (permalink / raw)
  To: devel

On Wed, Jan 12, 2022 at 09:00:49PM +0300, Vladimir D. Seleznev wrote:
> On Wed, Jan 12, 2022 at 08:10:10PM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> > > 	2 NEW bugs
> > [...]
> > > #41695	libgtop         	normal  	 ---
> > > Содержит suid-бинарник
> > 
> > Я думаю, есть смысл, чтобы ядро за этим следило.
> > Загружаешь ему список разрешённых privileged executables,
> > все остальные запрещены.
> 
> Лучше сопровождать белый список suid-бинарников, которые можно собирать
> в репозитории (с привязкой к пакетам, в которых они упакованы). И
> дополнять этот список только после вычитки кода инженером безопасности.

Белый список для всего репозитория получается недостаточно гибким.
Допустим, ты делаешь какой-нибудь дистрибутив и не можешь не включить
туда какой-нибудь суидный файл, например, тот же pkexec, хотя на localhost
ты бы такой суидный файл и за версту бы не подпустил.


-- 
ldv


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-12 18:07     ` Dmitry V. Levin
@ 2022-01-12 18:23       ` Vladimir D. Seleznev
  2022-01-12 23:12         ` Dmitry V. Levin
  0 siblings, 1 reply; 16+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-12 18:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Jan 12, 2022 at 09:07:23PM +0300, Dmitry V. Levin wrote:
> On Wed, Jan 12, 2022 at 09:00:49PM +0300, Vladimir D. Seleznev wrote:
> > On Wed, Jan 12, 2022 at 08:10:10PM +0300, Dmitry V. Levin wrote:
> > > On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> > > > 	2 NEW bugs
> > > [...]
> > > > #41695	libgtop         	normal  	 ---
> > > > Содержит suid-бинарник
> > > 
> > > Я думаю, есть смысл, чтобы ядро за этим следило.
> > > Загружаешь ему список разрешённых privileged executables,
> > > все остальные запрещены.
> > 
> > Лучше сопровождать белый список suid-бинарников, которые можно собирать
> > в репозитории (с привязкой к пакетам, в которых они упакованы). И
> > дополнять этот список только после вычитки кода инженером безопасности.
> 
> Белый список для всего репозитория получается недостаточно гибким.
> Допустим, ты делаешь какой-нибудь дистрибутив и не можешь не включить
> туда какой-нибудь суидный файл, например, тот же pkexec, хотя на localhost
> ты бы такой суидный файл и за версту бы не подпустил.

Одно другому вроде не должно мешать. Если сделать некий whitelist в ядре
по-умолчанию, то это может нарушить принцип наименьшего удивления, хотя
сама идея, чтобы это контролировалось ядром, мне нравится (altha это
умеет). В случае белого же списка для репозитории будет явно известно,
какие suid-бинарники могут быть, и не возникнет по-умолчанию ситуации,
что суид есть, но он не работает.

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  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:52     ` Alexey V. Vissarionov
  2022-01-30 20:47       ` Michael Shigorin
  2 siblings, 1 reply; 16+ messages in thread
From: Alexey V. Vissarionov @ 2022-01-12 18:52 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2022-01-12 21:00:49 +0300, Vladimir D. Seleznev wrote:

 >>> #41695	libgtop		normal	 ---
 >>> Содержит suid-бинарник
 >> Я думаю, есть смысл, чтобы ядро за этим следило.
 >> Загружаешь ему список разрешённых privileged executables,
 >> все остальные запрещены.
 > Лучше сопровождать белый список suid-бинарников, которые можно
 > собирать в репозитории (с привязкой к пакетам, в которых они
 > упакованы). И дополнять этот список только после вычитки кода
 > инженером безопасности.

Это две независимые задачи.

Первая - что можно запускать как SUID. Влили список через sysctl,
потом дали указание отключить этот интерфейс (точно так же, как
/proc/sys/kernel/modules_disabled), и все: запустить бинарь можно,
но SUID не работает. И список уже хрен поменяешь - только если в
/etc/suid.d файл добавить и перезагрузиться. Мне оно видится как
файл + umask, кстати: 4 - разрешен SUID, 2 - разрешен SGID, 6 -
разрешены SUID и SGID, какой бы дикостью это ни было, ибо o+x).

Вторая - что можно собирать в репу. В идеале, конечно, SUID-бинарей
в системе вообще быть не должно, но всем понятно, что бы живем в
неидеальном мире. И как минимум предупреждение о том, что какая-то
софтина пытается протащить SUID-бинарь будет весьма полезно (а кому
очень надо, добавят "suid" в no_sisyphus_check и соберут локально;
мы же этого будем максимально избегать).


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  @ 2022-01-12 22:17     ` Gleb Fotengauer-Malinovskiy
    2022-01-13  8:17       ` Anton V. Boyarshinov
  0 siblings, 2 replies; 16+ messages in thread
From: Gleb Fotengauer-Malinovskiy @ 2022-01-12 22:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1777 bytes --]

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-ных программ, а
задача состоит именно в ограничении вреда от них.

> Второе. Подменить "белый" файл на другой физически.

Очевидно, что такая система взломана уже без возможности восстановления
доверия к ней.

> Третье. А если потребуется дополнить систему своим пакетом со своим
> suid-файлом? 

Например, существующий уже сейчас в ядрах LSM-модуль altha предоставляет
для этого интерфейс:

* kernel.altha.nosuid.enabled = 0, set to 1 to enable
* kernel.altha.nosuid.exceptions =, colon-separated list of enabled SUID
  binaries, for example: ``/bin/su:/usr/libexec/hasher-priv/hasher-priv``

-- 
glebfm

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-12 18:23       ` Vladimir D. Seleznev
@ 2022-01-12 23:12         ` Dmitry V. Levin
  2022-01-13  5:45           ` Vladimir D. Seleznev
  0 siblings, 1 reply; 16+ messages in thread
From: Dmitry V. Levin @ 2022-01-12 23:12 UTC (permalink / raw)
  To: ALT Devel discussion list

On Wed, Jan 12, 2022 at 09:23:03PM +0300, Vladimir D. Seleznev wrote:
> On Wed, Jan 12, 2022 at 09:07:23PM +0300, Dmitry V. Levin wrote:
> > On Wed, Jan 12, 2022 at 09:00:49PM +0300, Vladimir D. Seleznev wrote:
> > > On Wed, Jan 12, 2022 at 08:10:10PM +0300, Dmitry V. Levin wrote:
> > > > On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> > > > > 	2 NEW bugs
> > > > [...]
> > > > > #41695	libgtop         	normal  	 ---
> > > > > Содержит suid-бинарник
> > > > 
> > > > Я думаю, есть смысл, чтобы ядро за этим следило.
> > > > Загружаешь ему список разрешённых privileged executables,
> > > > все остальные запрещены.
> > > 
> > > Лучше сопровождать белый список suid-бинарников, которые можно собирать
> > > в репозитории (с привязкой к пакетам, в которых они упакованы). И
> > > дополнять этот список только после вычитки кода инженером безопасности.
> > 
> > Белый список для всего репозитория получается недостаточно гибким.
> > Допустим, ты делаешь какой-нибудь дистрибутив и не можешь не включить
> > туда какой-нибудь суидный файл, например, тот же pkexec, хотя на localhost
> > ты бы такой суидный файл и за версту бы не подпустил.
> 
> Одно другому вроде не должно мешать.

Любой белый список suid executables на уровне репозитория будет создавать
ощущение ложной безопасности, и вряд ли принесёт какую-нибудь пользу,
за исключением фильтрации совсем уж случайных suid executables.
Зато его придётся мантейнить, будут непрекращающиеся споры.  Зачем?

Вот что можно было бы полезного сделать на уровне репозитория, так это
запретить такие suid executables, которые по умолчанию доступны для
запуска всем без исключения.

> по-умолчанию, то это может нарушить принцип наименьшего удивления, хотя
> сама идея, чтобы это контролировалось ядром, мне нравится (altha это
> умеет).

Ну так использовать надо, раз умеет.  Хотя я бы предпочёл какое-нибудь
более простое решение.


-- 
ldv


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-12 23:12         ` Dmitry V. Levin
@ 2022-01-13  5:45           ` Vladimir D. Seleznev
  0 siblings, 0 replies; 16+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-13  5:45 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Jan 13, 2022 at 02:12:53AM +0300, Dmitry V. Levin wrote:
> On Wed, Jan 12, 2022 at 09:23:03PM +0300, Vladimir D. Seleznev wrote:
> > On Wed, Jan 12, 2022 at 09:07:23PM +0300, Dmitry V. Levin wrote:
> > > On Wed, Jan 12, 2022 at 09:00:49PM +0300, Vladimir D. Seleznev wrote:
> > > > On Wed, Jan 12, 2022 at 08:10:10PM +0300, Dmitry V. Levin wrote:
> > > > > On Wed, Jan 12, 2022 at 04:34:06AM +0000, QA Team Robot wrote:
> > > > > > 	2 NEW bugs
> > > > > [...]
> > > > > > #41695	libgtop         	normal  	 ---
> > > > > > Содержит suid-бинарник
> > > > > 
> > > > > Я думаю, есть смысл, чтобы ядро за этим следило.
> > > > > Загружаешь ему список разрешённых privileged executables,
> > > > > все остальные запрещены.
> > > > 
> > > > Лучше сопровождать белый список suid-бинарников, которые можно собирать
> > > > в репозитории (с привязкой к пакетам, в которых они упакованы). И
> > > > дополнять этот список только после вычитки кода инженером безопасности.
> > > 
> > > Белый список для всего репозитория получается недостаточно гибким.
> > > Допустим, ты делаешь какой-нибудь дистрибутив и не можешь не включить
> > > туда какой-нибудь суидный файл, например, тот же pkexec, хотя на localhost
> > > ты бы такой суидный файл и за версту бы не подпустил.
> > 
> > Одно другому вроде не должно мешать.
> 
> Любой белый список suid executables на уровне репозитория будет создавать
> ощущение ложной безопасности, и вряд ли принесёт какую-нибудь пользу,
> за исключением фильтрации совсем уж случайных suid executables.

Ну, как сказать.

На срезе Сизифа от 13 января 2022 года архитектуры x86_64 явно упаковано
116 suid-бинарников в 74 пакетах (и только в 9 из них упакованы
control'ы), собранных из 67 исходников, и только 39 из этих бинарников
запрещены от исполнения для others.

При этом, это явно не все suid-бинарники, т.к. некоторые выставляют
suid-бит в postinstall-скриптах, но автоматизировать их выявление
возможно установкой каждого пакета.

Абсурдная ситуация: более доверенные исполняемые файлы покрыты
control'ами или защищены от исполнения через группу-владельца, а менее
доверенные — нет.

> Зато его придётся мантейнить, будут непрекращающиеся споры.  Зачем?

А это плохо? Может, споров будет и не так много?

Сходу, взглянув на список, мне кажется, что некоторые suid-биты
поставлены избыточно, по ошибке или по не знанию. Например, для
бинарников, реализующих/монтирующих файловые системы через fuse, на
самом деле не нужен suid-бит (его достаточно на fusermount).

> Вот что можно было бы полезного сделать на уровне репозитория, так это
> запретить такие suid executables, которые по умолчанию доступны для
> запуска всем без исключения.
> 
> > по-умолчанию, то это может нарушить принцип наименьшего удивления, хотя
> > сама идея, чтобы это контролировалось ядром, мне нравится (altha это
> > умеет).
> 
> Ну так использовать надо, раз умеет.  Хотя я бы предпочёл какое-нибудь
> более простое решение.

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  @ 2022-01-13  6:48         ` Vladimir D. Seleznev
  2022-01-13  7:23           ` Aleksei Nikiforov
  0 siblings, 1 reply; 16+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-13  6:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-13  6:48         ` Vladimir D. Seleznev
@ 2022-01-13  7:23           ` Aleksei Nikiforov
  2022-01-13  7:25             ` Anton Farygin
  2022-01-13  7:29             ` Vladimir D. Seleznev
  0 siblings, 2 replies; 16+ messages in thread
From: Aleksei Nikiforov @ 2022-01-13  7:23 UTC (permalink / raw)
  To: devel

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 снимать. Также можно при этом 
проверять что этот файл из определённого пакета, а в пакетном менеджере 
включать/выключать эту фичу. Такой список будет более гибким чем в 
сборочнице, а в сравнении с ядром - зависит от реализаций.

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


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-13  7:23           ` Aleksei Nikiforov
@ 2022-01-13  7:25             ` Anton Farygin
  2022-01-13  7:29             ` Vladimir D. Seleznev
  1 sibling, 0 replies; 16+ messages in thread
From: Anton Farygin @ 2022-01-13  7:25 UTC (permalink / raw)
  To: devel

On 13.01.2022 10:23, Aleksei Nikiforov wrote:
>>
>> P.S. Re: sudo: why not?
>> https://www.openwall.com/lists/owl-users/2004/10/20/6
>>
>
> Здравствуйте.
>
> Могу ещё предложить whitelist на уровне пакетного менеджера. При 
> установке или обновлении пакета, если в нём есть suid/sgid файлы, 
> сравнивать их с разрешённым списком в пакетном менеджере, и если этот 
> файл в списке отсутствует, то suid/sgid снимать. Также можно при этом 
> проверять что этот файл из определённого пакета, а в пакетном 
> менеджере включать/выключать эту фичу. Такой список будет более гибким 
> чем в сборочнице, а в сравнении с ядром - зависит от реализаций. 

Да это ерунда - пользователи отлично умеют устанавливать софт минуя 
пакетный менеджер.

Лучше, всё-таки, на уровне ядра.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-13  7:23           ` Aleksei Nikiforov
  2022-01-13  7:25             ` Anton Farygin
@ 2022-01-13  7:29             ` Vladimir D. Seleznev
  2022-01-13  7:45               ` Anton Farygin
  1 sibling, 1 reply; 16+ messages in thread
From: Vladimir D. Seleznev @ 2022-01-13  7:29 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Jan 13, 2022 at 10:23:00AM +0300, Aleksei Nikiforov wrote:
> 13.01.2022 09:48, Vladimir D. Seleznev пишет:
> [...]
> 
> Здравствуйте.

Hi!

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

Мне кажется, или вы имеете в виду control(8)? :)

-- 
   WBR,
   Vladimir D. Seleznev


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-13  7:29             ` Vladimir D. Seleznev
@ 2022-01-13  7:45               ` Anton Farygin
  0 siblings, 0 replies; 16+ messages in thread
From: Anton Farygin @ 2022-01-13  7:45 UTC (permalink / raw)
  To: devel

On 13.01.2022 10:29, Vladimir D. Seleznev wrote:
> On Thu, Jan 13, 2022 at 10:23:00AM +0300, Aleksei Nikiforov wrote:
>> 13.01.2022 09:48, Vladimir D. Seleznev пишет:
>> [...]
>>
>> Здравствуйте.
> Hi!
>
>> Могу ещё предложить whitelist на уровне пакетного менеджера. При
>> установке или обновлении пакета, если в нём есть suid/sgid файлы,
>> сравнивать их с разрешённым списком в пакетном менеджере, и если этот
>> файл в списке отсутствует, то suid/sgid снимать. Также можно при этом
>> проверять что этот файл из определённого пакета, а в пакетном менеджере
>> включать/выключать эту фичу. Такой список будет более гибким чем в
>> сборочнице, а в сравнении с ядром - зависит от реализаций.
> Мне кажется, или вы имеете в виду control(8)? :)
>
Только принудительный.



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-12 22:17     ` Gleb Fotengauer-Malinovskiy
  @ 2022-01-13  8:17       ` Anton V. Boyarshinov
  1 sibling, 0 replies; 16+ messages in thread
From: Anton V. Boyarshinov @ 2022-01-13  8:17 UTC (permalink / raw)
  To: devel

В Thu, 13 Jan 2022 01:17:04 +0300
Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> пишет:

> Например, существующий уже сейчас в ядрах LSM-модуль altha предоставляет
> для этого интерфейс:
> 
> * kernel.altha.nosuid.enabled = 0, set to 1 to enable
> * kernel.altha.nosuid.exceptions =, colon-separated list of enabled SUID
>   binaries, for example: ``/bin/su:/usr/libexec/hasher-priv/hasher-priv``

Пожалуй, у этого интерфейса, есть определённые недостатки. А именно,
неудобно собирать этот список из каких либо .d файлов (хотя можно
сделать обработчик .d файлов, который будет генерировать конфиг для
sysctl или прямо выполнять sysctl)


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов?
  2022-01-12 18:52     ` Alexey V. Vissarionov
@ 2022-01-30 20:47       ` Michael Shigorin
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Shigorin @ 2022-01-30 20:47 UTC (permalink / raw)
  To: devel

On Wed, Jan 12, 2022 at 09:52:19PM +0300, Alexey V. Vissarionov wrote:
> >> Я думаю, есть смысл, чтобы ядро за этим следило.
> > Лучше сопровождать белый список suid-бинарников
> Это две независимые задачи.

+1

> Первая - что можно запускать как SUID. Влили список через sysctl,
> потом дали указание отключить этот интерфейс (точно так же, как
> /proc/sys/kernel/modules_disabled), и все: запустить бинарь можно,
> но SUID не работает. И список уже хрен поменяешь - только если в
> /etc/suid.d файл добавить и перезагрузиться. Мне оно видится как
> файл + umask, кстати: 4 - разрешен SUID, 2 - разрешен SGID, 6 -
> разрешены SUID и SGID, какой бы дикостью это ни было, ибо o+x).
> 
> Вторая - что можно собирать в репу. В идеале, конечно, SUID-бинарей
> в системе вообще быть не должно, но всем понятно, что бы живем в
> неидеальном мире. И как минимум предупреждение о том, что какая-то
> софтина пытается протащить SUID-бинарь будет весьма полезно (а кому
> очень надо, добавят "suid" в no_sisyphus_check и соберут локально;
> мы же этого будем максимально избегать).

Не знаю, чем именно делается checkinstall, но туда бы и добавить
проверку (не)появления новых suid/sgid binaries в процессе
установки пакета -- как раз на случай мухлежа в %post с целью
обхода 140-check-perms.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-01-30 20:47 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12 17:10 ` [devel] Q: пора разрешать privileged executables явно на уровне дистрибутивов? 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
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

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