[devel] q: current sudo default: was it all worth it?

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Вт Май 22 01:16:45 MSD 2007


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/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070522/10304daa/attachment-0001.bin>


Подробная информация о списке рассылки Devel