ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] q: current sudo default: was it all worth it?
@ 2007-05-21 13:45 Michael Shigorin
  2007-05-21 13:58 ` Slava Dubrovskiy
  2007-05-21 14:20 ` Dmitry V. Levin
  0 siblings, 2 replies; 7+ messages in thread
From: Michael Shigorin @ 2007-05-21 13:45 UTC (permalink / raw)
  To: devel


[-- Attachment #1.1: Type: text/plain, Size: 1696 bytes --]

	Здравствуйте.
Ещё вопрос к Диме, набодавшись с sudo и в итоге откатив 
с 1.6.8p12-alt2 на 1.6.7p5-alt6.1 в процессе выяснения
причины проблемы после dist-upgrade с сизифа примерно
двухмесячной давности на 4.0-branch: что даёт 

- Enabled env_reset, requiretty and tty_tickets options by default.

помимо уже обсуждавшегося облома с использованием sudo 
и графических программ?

На сейчас поймали при таком раскладе (полукиоск): минимальный
десктоп от одного пользователя висит на :0.0, при этом есть
кнопка запуска браузера на :0.1 (отдельный монитор) от другого
пользователя.

Помогло в сумме получасовое изучение sudoers(5) 
и колупание с  visudo(8), приведшее к:

# Defaults specification
Defaults !env_reset
Defaults !requiretty
Defaults !tty_tickets

Наверное, для сервера произведённые изменения теоретически
полезны, но вот на десктопе нас с таким дефолтным поведением
закидают тухлыми болванками и будут правы.

Настойчиво предлагаю такое:

- добавить в закомментированном виде эти три строчки
  в /etc/sudoers в пакете;

- добавить приложенный control facility (меня он не устраивает
  тем, что при отсутствии трогаемых строчек статус останется
  unknown вместо явной фиксации дефолтов, но сейчас не соображу,
  как это сделать);

- проверить соответствие пакетного состояния кода и /etc/sudoers
  описанию в sudoers(5) -- сейчас в манпейдже off by default, на
  деле же эти три опции включены (что документировано только в
  rpm changelog);

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

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #1.2: sudoers --]
[-- Type: text/plain, Size: 565 bytes --]

#!/bin/sh

. /etc/control.d/functions

CONFIG=/etc/sudoers

new_summary "sudoers defaults"

new_subst server \
        '^(#+Defaults !|Defaults )(env_reset|requiretty|tty_tickets)$' \
        's,^#*Defaults \!\?\(\(env_reset\|requiretty\|tty_tickets\)\)$,Defaults \1,'
new_subst desktop \
        '^(Defaults !|#Defaults )(env_reset|requiretty|tty_tickets)$' \
        's,^#*Defaults \!\?\(\(env_reset\|requiretty\|tty_tickets\)\)$,Defaults !\1,'

new_help server  "Strict sudoers defaults"
new_help desktop "Relaxed sudoers defaults"

control_subst "$CONFIG" "$*"

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] q: current sudo default: was it all worth it?
  2007-05-21 13:45 [devel] q: current sudo default: was it all worth it? Michael Shigorin
@ 2007-05-21 13:58 ` Slava Dubrovskiy
  2007-05-21 14:20 ` Dmitry V. Levin
  1 sibling, 0 replies; 7+ messages in thread
From: Slava Dubrovskiy @ 2007-05-21 13:58 UTC (permalink / raw)
  To: ALT Devel discussion list

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

Michael Shigorin пишет:
> 	Здравствуйте.
> Ещё вопрос к Диме, набодавшись с sudo и в итоге откатив 
> с 1.6.8p12-alt2 на 1.6.7p5-alt6.1 в процессе выяснения
> причины проблемы после dist-upgrade с сизифа примерно
> двухмесячной давности на 4.0-branch: что даёт 
>
> - Enabled env_reset, requiretty and tty_tickets options by default.
>
> помимо уже обсуждавшегося облома с использованием sudo 
> и графических программ?
>
> На сейчас поймали при таком раскладе (полукиоск): минимальный
> десктоп от одного пользователя висит на :0.0, при этом есть
> кнопка запуска браузера на :0.1 (отдельный монитор) от другого
> пользователя.
>
> Помогло в сумме получасовое изучение sudoers(5) 
> и колупание с  visudo(8), приведшее к:
>
> # Defaults specification
> Defaults !env_reset
> Defaults !requiretty
> Defaults !tty_tickets
>   
В kubuntu последнем две последние строчки присутствуют сразу по умолчанию.

-- 
WBR,
Dubrovskiy Vyacheslav


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 3249 bytes --]

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

* Re: [devel] q: current sudo default: was it all worth it?
  2007-05-21 13:45 [devel] q: current sudo default: was it all worth it? Michael Shigorin
  2007-05-21 13:58 ` Slava Dubrovskiy
@ 2007-05-21 14:20 ` Dmitry V. Levin
  2007-05-21 17:39   ` [devel] sudo env_keep Dmitry V. Levin
  1 sibling, 1 reply; 7+ messages in thread
From: Dmitry V. Levin @ 2007-05-21 14:20 UTC (permalink / raw)
  To: ALT Devel discussion list

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

Hi,

On Mon, May 21, 2007 at 04:45:41PM +0300, Michael Shigorin wrote:
> Ещё вопрос к Диме, набодавшись с sudo и в итоге откатив 
> с 1.6.8p12-alt2 на 1.6.7p5-alt6.1 в процессе выяснения
> причины проблемы после dist-upgrade с сизифа примерно
> двухмесячной давности на 4.0-branch: что даёт 
> 
> - Enabled env_reset, requiretty and tty_tickets options by default.

requiretty в 1.6.8p12-alt2 снова работает так же как и в 1.6.7p5-alt6.1;
Я предположил, что requiretty работает лучше чем мой патч, но очень быстро
убедился, что это не так.

> помимо уже обсуждавшегося облома с использованием sudo 
> и графических программ?

Переход на env_reset, когда нужные переменные явно разрешены в sudoers,
решает класс проблем вида
CVE-2006-0151
CVE-2005-4158
CVE-2005-2959
CVE-2004-1051

> На сейчас поймали при таком раскладе (полукиоск): минимальный
> десктоп от одного пользователя висит на :0.0, при этом есть
> кнопка запуска браузера на :0.1 (отдельный монитор) от другого
> пользователя.
> 
> Помогло в сумме получасовое изучение sudoers(5) 
> и колупание с  visudo(8), приведшее к:
> 
> # Defaults specification
> Defaults !env_reset
> Defaults !requiretty
> Defaults !tty_tickets

Пожалуй, хватило бы
Defaults env_keep += "DISPLAY"

В FC так сделано по умолчанию, может и нам стоит это сделать.

> Наверное, для сервера произведённые изменения теоретически
> полезны, но вот на десктопе нас с таким дефолтным поведением
> закидают тухлыми болванками и будут правы.

Для меня закидывание не является аргументом.
Если вам нужен контраргумент, то покажите пальцем на FC.

> Настойчиво предлагаю такое:
> 
> - добавить в закомментированном виде эти три строчки
>   в /etc/sudoers в пакете;

!env_reset полезен только в одном случае: нужно запустить софтину
"прямо сейчас", при этом security is not my problem.
Во всех остальных случаях достаточно env_keep.

!requiretty не нужен, поскольку это значение по умолчанию.

Когда бывает нужен !tty_tickets, мне тоже не понятно.

> - проверить соответствие пакетного состояния кода и /etc/sudoers
>   описанию в sudoers(5) -- сейчас в манпейдже off by default, на
>   деле же эти три опции включены (что документировано только в
>   rpm changelog);

Там есть недоделка; исправление вносятся в исходный код документации,
которая не воссоздаётся в нужном объёме.

> - хорошо бы для десктопа этот дефолт сменить на вполне разумный,
>   каковой и положен апстримом.

Некоторые считают, что для десктопа разумным является
%wheel ALL = (root) NOPASSWD: ALL

Что из этого следует?
То, что представления о разумности порой сильно различаются.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] sudo env_keep
  2007-05-21 14:20 ` Dmitry V. Levin
@ 2007-05-21 17:39   ` Dmitry V. Levin
  2007-05-21 21:16     ` [devel] q: current sudo default: was it all worth it? Michael Shigorin
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry V. Levin @ 2007-05-21 17:39 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, May 21, 2007 at 06:20:27PM +0400, Dmitry V. Levin wrote:
> On Mon, May 21, 2007 at 04:45:41PM +0300, Michael Shigorin wrote:
[...]
> > На сейчас поймали при таком раскладе (полукиоск): минимальный
> > десктоп от одного пользователя висит на :0.0, при этом есть
> > кнопка запуска браузера на :0.1 (отдельный монитор) от другого
> > пользователя.
> > 
> > Помогло в сумме получасовое изучение sudoers(5) 
> > и колупание с  visudo(8), приведшее к:
> > 
> > # Defaults specification
> > Defaults !env_reset
> > Defaults !requiretty
> > Defaults !tty_tickets
> 
> Пожалуй, хватило бы
> Defaults env_keep += "DISPLAY"
> 
> В FC так сделано по умолчанию, может и нам стоит это сделать.

К слову, их патч на sudoers (FC6+) sudo-1.6.8p12-env-reset.patch выглядит так:

--- sudo-1.6.8p12/sudoers.env_reset	2006-02-08 16:58:15.000000000 +0100
+++ sudo-1.6.8p12/sudoers	2006-02-08 16:59:02.000000000 +0100
@@ -13,6 +13,14 @@
 
 # Defaults specification
 
+Defaults    env_reset
+Defaults    env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
+                        LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
+                        LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
+                        LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
+                        LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
+                        _XKB_CHARSET"
+
 # Runas alias specification
 
 # User privilege specification

Мне кажется, что тут много лишнего...


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] q: current sudo default: was it all worth it?
  2007-05-21 17:39   ` [devel] sudo env_keep Dmitry V. Levin
@ 2007-05-21 21:16     ` Michael Shigorin
  2007-05-22  9:55       ` Dmitry V. Levin
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Shigorin @ 2007-05-21 21:16 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Mon, May 21, 2007 at 06:20:27PM +0400, Dmitry V. Levin wrote:
> > помимо уже обсуждавшегося облома с использованием sudo 
> > и графических программ?
> Переход на env_reset, когда нужные переменные явно разрешены в
> sudoers, решает класс проблем вида
> CVE-2006-0151
> CVE-2005-4158
> CVE-2005-2959
> CVE-2004-1051

Помню, но ведь получается явный tradeoff.  Давайте в таких
случаях интересоваться в devel@, кому не лень прикинуть use cases
и нарисовать control file -- не всегда единоличное решение
оказывается приемлемым для других применений.

> > Помогло в сумме получасовое изучение sudoers(5) 
> > и колупание с  visudo(8), приведшее к:
> > # Defaults specification
> > Defaults !env_reset
> > Defaults !requiretty
> > Defaults !tty_tickets
> Пожалуй, хватило бы
> Defaults env_keep += "DISPLAY"

Возможно, попробую проверить.

> В FC так сделано по умолчанию, может и нам стоит это сделать.

А давай.

> > Наверное, для сервера произведённые изменения теоретически
> > полезны, но вот на десктопе нас с таким дефолтным поведением
> > закидают тухлыми болванками и будут правы.
> Для меня закидывание не является аргументом.

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

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

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

> Если вам нужен контраргумент, то покажите пальцем на FC.

Вот как раз FC для меня не аргумент, в отличие от той строчки
самой по себе (если окажется достаточно).

> > Настойчиво предлагаю такое:
> > - добавить в закомментированном виде эти три строчки
> >   в /etc/sudoers в пакете;
> !env_reset полезен только в одном случае: нужно запустить
> софтину "прямо сейчас", при этом security is not my problem.
> Во всех остальных случаях достаточно env_keep.
> !requiretty не нужен, поскольку это значение по умолчанию.
> Когда бывает нужен !tty_tickets, мне тоже не понятно.

Спасибо; см. тж. ниже.

> > - проверить соответствие пакетного состояния кода и /etc/sudoers
> >   описанию в sudoers(5) -- сейчас в манпейдже off by default, на
> >   деле же эти три опции включены (что документировано только в
> >   rpm changelog);
> Там есть недоделка; исправление вносятся в исходный код
> документации, которая не воссоздаётся в нужном объёме.

Давай попробую сделать на результат хотя бы.

> > - хорошо бы для десктопа этот дефолт сменить на вполне
> >   разумный, каковой и положен апстримом.
> Некоторые считают, что для десктопа разумным является
> %wheel ALL = (root) NOPASSWD: ALL
> Что из этого следует?
> То, что представления о разумности порой сильно различаются.

Да, конечно.  Так у нас на то есть control(8).


On Mon, May 21, 2007 at 09:39:54PM +0400, Dmitry V. Levin wrote:
> Мне кажется, что тут много лишнего...

Аналогично.


On Mon, May 21, 2007 at 04:58:39PM +0300, Slava Dubrovskiy wrote:
> > # Defaults specification
> > Defaults !env_reset
> > Defaults !requiretty
> > Defaults !tty_tickets
> В kubuntu последнем две последние строчки присутствуют сразу по умолчанию.

BTW я недостаточно внимательно прочитал manpage:

       env_reset   If set, sudo will reset the environment to only contain the
                   following variables: HOME, LOGNAME, PATH, SHELL, TERM, and
                   USER (in addition to the SUDO_* variables).  Of these, only
                   TERM is copied unaltered from the old environment.  The
                   other variables are set to default values (possibly modi-
                   fied by the value of the set_logname option).  If sudo was
                   compiled with the SECURE_PATH option, its value will be
                   used for the PATH environment variable.  Other variables
                   may be preserved with the env_keep option.

       requiretty  If set, sudo will only run when the user is logged in to a
                   real tty.  This will disallow things like "rsh somehost
                   sudo ls" since rsh(1) does not allocate a tty.  Because it
                   is not possible to turn off echo when there is no tty
                   present, some sites may with to set this flag to prevent a
                   user from entering a visible password.  This flag is *off* by
                   default.

       tty_tickets If set, users must authenticate on a per-tty basis.  Nor-
                   mally, sudo uses a directory in the ticket dir with the
                   same name as the user running it.  With this flag enabled,
                   sudo will use a file named for the tty the user is logged
                   in on in that directory.  This flag is *on* by default.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] q: current sudo default: was it all worth it?
  2007-05-21 21:16     ` [devel] q: current sudo default: was it all worth it? Michael Shigorin
@ 2007-05-22  9:55       ` Dmitry V. Levin
  2007-05-22 10:01         ` Michael Shigorin
  0 siblings, 1 reply; 7+ messages in thread
From: Dmitry V. Levin @ 2007-05-22  9:55 UTC (permalink / raw)
  To: ALT Devel discussion list

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

Hi,

On Tue, May 22, 2007 at 12:16:45AM +0300, Michael Shigorin wrote:
> On Mon, May 21, 2007 at 06:20:27PM +0400, Dmitry V. Levin wrote:
> > > помимо уже обсуждавшегося облома с использованием sudo 
> > > и графических программ?
> > Переход на env_reset, когда нужные переменные явно разрешены в
> > sudoers, решает класс проблем вида
> > CVE-2006-0151
> > CVE-2005-4158
> > CVE-2005-2959
> > CVE-2004-1051
> 
> Помню, но ведь получается явный tradeoff.  Давайте в таких
> случаях интересоваться в devel@, кому не лень прикинуть use cases
> и нарисовать control file -- не всегда единоличное решение
> оказывается приемлемым для других применений.

Если уж на то пошло, то env_reset включил upstream:

http://git.altlinux.org/people/ldv/packages/?p=sudo.git;a=commitdiff;h=v1.6.8p12-30-gf8e1e2d
$ sed -n '/Upgrading.*1\.7/,/Upgrading.*1\.6\.8/p' /usr/share/doc/sudo-1.6.8p12/UPGRADE


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: [devel] q: current sudo default: was it all worth it?
  2007-05-22  9:55       ` Dmitry V. Levin
@ 2007-05-22 10:01         ` Michael Shigorin
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Shigorin @ 2007-05-22 10:01 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, May 22, 2007 at 01:55:07PM +0400, Dmitry V. Levin wrote:
> Если уж на то пошло, то env_reset включил upstream:

Понял, спасибо.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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

end of thread, other threads:[~2007-05-22 10:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-21 13:45 [devel] q: current sudo default: was it all worth it? Michael Shigorin
2007-05-21 13:58 ` Slava Dubrovskiy
2007-05-21 14:20 ` Dmitry V. Levin
2007-05-21 17:39   ` [devel] sudo env_keep Dmitry V. Levin
2007-05-21 21:16     ` [devel] q: current sudo default: was it all worth it? Michael Shigorin
2007-05-22  9:55       ` Dmitry V. Levin
2007-05-22 10:01         ` Michael Shigorin

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