Summary: | Использование sudo для группы wheel по умолчанию | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Andrey Cherepanov <cas> |
Component: | sudo | Assignee: | Evgeny Sinelnikov <sin> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | blocker | ||
Priority: | P2 | CC: | asy, erthad, gkot, grenka, grenka, ktirf, lav, ldv, php-coder, pr0f.a7ex, rider, sin |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Andrey Cherepanov
2008-12-25 11:20:32 MSK
mike@ подсказал, что оптимальнее будет добавление правила control sudo wheel, применяющего предлагаемое изменение Соответственно, не меняя модель безопасности по умолчанию, в дестопных дистрибутивах можно включать это правило при установке. Так до сих пор и закомментирована строка $ grep wheel sudoers.in # %wheel ALL=(ALL) ALL # %wheel ALL=(ALL) NOPASSWD: ALL В sudo-1.6.8p12-alt12 уже пропали закомментированные строки, позволяющие пользователям в группе wheel использовать sudo. По сути, sudo неработоспособен. Кроме root'а его никто использовать не может без правки sudoers, но никаких предупреждений на это счёт нет. Если я не ошибаюсь, в Simply у нас так и есть. А для сизифа - это наверное не очень хорошее решение. Вероятно всё же лучше будет решение, описанное тут: https://bugzilla.altlinux.org/show_bug.cgi?id=14205 В текущий версии sudo шаблоны имеются: [root@workstation ~]# rpm -q sudo sudo-1.8.20p2-alt1.M80P.1 [root@workstation ~]# grep -i wheel /etc/sudoers User_Alias WHEEL_USERS = %wheel #Defaults:WHEEL_USERS !env_reset ## Uncomment to allow members of group wheel to execute any command # WHEEL_USERS ALL=(ALL) ALL # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL Кроме того, для уточнения конфигурации достаточно добавить файл с дополнительными настройками в каталог /etc/sudoers.d [root@workstation ~]# tail -n3 /etc/sudoers ## Read drop-in files from /etc/sudoers.d ## (the '#' here does not indicate a comment) #includedir /etc/sudoers.d По поводу control. Уже существует вот такая политика: [root@workstation ~]# grep WHEEL /etc/sudoers User_Alias WHEEL_USERS = %wheel #Defaults:WHEEL_USERS !env_reset # WHEEL_USERS ALL=(ALL) ALL # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL [root@workstation ~]# grep WHEEL_USERS /etc/sudoers User_Alias WHEEL_USERS = %wheel #Defaults:WHEEL_USERS !env_reset # WHEEL_USERS ALL=(ALL) ALL # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL [root@workstation ~]# control sudoers strict [root@workstation ~]# control sudoers help strict: Enable strict environment rules relaxed: Disable strict environment rules [root@workstation ~]# control sudoers relaxed [root@workstation ~]# grep WHEEL_USERS /etc/sudoers User_Alias WHEEL_USERS = %wheel Defaults:WHEEL_USERS !env_reset # WHEEL_USERS ALL=(ALL) ALL # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL Возможно, нужно добавить подобную для WHEEL_USERS ALL=(ALL) ALL и сделать её по умолчанию. Такой вариант пойдёт? Набросал вот такую политику: [root@workstation1 ~]# control sudowheel summary sudo rule "ALL=(ALL) ALL" for wheel users [root@workstation1 ~]# control sudowheel help disabled: Disable sudo for wheel users enabled: Enable sudo for wheel users [root@workstation1 ~]# control sudowheel enabled [root@workstation1 ~]# grep WHEEL_USERS /etc/sudoers User_Alias WHEEL_USERS = %wheel Defaults:WHEEL_USERS !env_reset WHEEL_USERS ALL=(ALL) ALL # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL [root@workstation1 ~]# control sudowheel disabled [root@workstation1 ~]# grep WHEEL_USERS /etc/sudoers User_Alias WHEEL_USERS = %wheel Defaults:WHEEL_USERS !env_reset # WHEEL_USERS ALL=(ALL) ALL # WHEEL_USERS ALL=(ALL) NOPASSWD: ALL [root@workstation1 ~]# control sudowheel disabled Включаем с enabled, по умолчанию? Я за (В ответ на комментарий №8) > Включаем с enabled, по умолчанию? Может всё-таки флажок в альтераторе? Флажок - это другой пакет и другая задача. Флажков нужно много и разных. Но это ui. Им нужно отдельно заниматься. Флажок - это другой пакет и другая задача. Флажков нужно много и разных. Но это ui. Им нужно отдельно заниматься. (В ответ на комментарий №12) > Флажок - это другой пакет и другая задача. Флажков нужно много и разных. Но это > ui. Им нужно отдельно заниматься. Лично я не вижу смысла делать по дефолту включённый судо. Мой опыт использования различных дистрибутивов говорит о том, что в большинстве из них всё же судо выключен. А вот если выпускающий дистрибутив решит поменять это поведение, то он всегда может включить его или выключить. Кстати, у нас в workstation K по дефолту именно так уже давно. Ну, если опираться на личные предпочтения, то лично я не вижу смысла в установленном sudo без возможности его использовать сразу. А вообще, ручка как бы имеется. Поставил зачем-то sudo, но использовать не собираешься в конфигурации, по умолчанию - перенастрой. Вообще, сценариев три: - sudo не установлен - "баба с возу, кобыле легче"; - sudo установлен, но не настроен, по умолчанию. Это равносильно тому, что он не установлен до тех пор пока его не настроят; - sudo установлен, и как-то настроен, по умолчанию. Последнее хотелось бы получить в результате. А что значит "как-то", требуется уточнить. Сейчас я планирую обновление sudo с новым control sudowheel, с включенным по умолчанию правилом "WHEEL_USERS ALL=(ALL) ALL". Это означает, что если установлен пакет sudo, а пользователь находится в группе whеel, этот пользователь получает права администратора без знания пароля рута. Вот так теперь себе можно будет отстрелить ногу: [sin@tor sudo]$ sudo control sudowheel enabled [sin@tor sudo]$ sudo control sudowheel disabled [sin@tor sudo]$ sudo ls sin is not in the sudoers file. This incident will be reported. [sin@tor sudo]$ sudo control sudowheel sin is not in the sudoers file. This incident will be reported. sudo-1:1.8.25p1-alt1 -> sisyphus: Tue Nov 06 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt1 - Update to latest release - Disable ubt macros due binary package identity change - Replace libsudo_util.so to libexecdir - Add new cvtsudoers utility Fri Apr 27 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.22-alt1 - Update to latest winter release - Add sudowheel control with rule "ALL=(ALL) ALL" for wheel users enabled by default (closes: 18344) Thu Nov 23 2017 Evgeny Sinelnikov <sin@altlinux> 1:1.8.21p2-alt1 - Update to latest autumn release Fri Jun 02 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20p2-alt1 - Update to first summer security release Wed May 31 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20p1-alt1 - Update to spring security release ((Fixes: CVE-2017-1000367) Mon May 29 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20-alt1 - Update to latest spring release Tue Jan 10 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt6 - Add compatibility trigger for /etc/sudoers.d and /etc/sudo.d - Avoid sudoreplay pre and post control warnings Mon Jan 02 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt5 - Add warning if /etc/sudo.d directory exixsts Wed Dec 28 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt4 - Disable sudo rule for root by default Tue Dec 27 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt3 - Fixed relaxed control rule for sudoers Mon Dec 26 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt2 - Build without *.la files in modules directory Wed Dec 21 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt1 - Updated to last stable release 1.8.19p1 with sssd features Вот и доверяй свои пакеты другим после такого... (In reply to comment #15) > Сейчас я планирую обновление sudo с новым control sudowheel, с > включенным по умолчанию правилом "WHEEL_USERS ALL=(ALL) ALL". > Это означает, что если установлен пакет sudo, а пользователь находится > в группе whеel, этот пользователь получает права администратора без знания > пароля рута. Это изменение неприемлемо, верните прежнее умолчание на место, пожалуйста. согласен с Димой. такой дефолт не приемлем. Т.к. у нас всегда первый пользователь попадает в группу wheel, то все приложения под ним получают автоматом рута без пароля. Женя, если ты хочешь сделать такую политику - её можно положить в отдельный пакет, который будет доставляться в систему. А, если sudo парольный, то нормально. Меня не напрягает. Дима, не мог бы ты пояснить в чём именно проблема ? Ну, в том-то и дело, что парольный. Так что тут другая штука. Тут вопрос такой. sudo в систему приезжает даже тем, кто его не хочет, если он поставляется с дистрибутивом. Далее есть два сценария - либо его донастраивает тот, кто хочет использовать, либо отключает тот, кто из каких-то соображений, не хочет. У нас всегда был второй вариант принят, как политика. Установленный sudo не должен быть настроен даже в парольном режиме исходя из этой политики. У меня нет желания её оспаривать. У меня только один вопрос - разве это не осбуждалось в ещё в апреле, когда я первый раз об этом написал? (В ответ на комментарий №19) > согласен с Димой. такой дефолт не приемлем. > > Т.к. у нас всегда первый пользователь попадает в группу wheel, то все > приложения под ним получают автоматом рута без пароля. Это ужасный и неприемлемый дефолт, когда первый попавшийся пользователь добавляется в группу wheel. (В ответ на комментарий №22) > (В ответ на комментарий №19) > > согласен с Димой. такой дефолт не приемлем. > > > > Т.к. у нас всегда первый пользователь попадает в группу wheel, то все > > приложения под ним получают автоматом рута без пароля. > Это ужасный и неприемлемый дефолт, когда первый попавшийся пользователь > добавляется в группу wheel. Ну, так нельзя. Откуда взялся безпарольный sudo? Это не так. Откуда взялся первый попавшийся? Первый пользователь, который устанавливает ОС знает пароль рута. Да, поставить может один, а пользоваться - другой. Но это уже политика доверия пользователям, а не вопрос безопасности. Такие аргументы совершенно несправедливы, и, конечно, неприемлемы. Есть свои за и против, но не в том, на что пока что было указано. sudo-1:1.8.25p1-alt2 -> sisyphus: Thu Nov 08 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt2 - Reapply replace libsudo_util.so to libexecdir (avoid rpath in binaries) - Set sudowheel control with rule "ALL=(ALL) ALL" for wheel users disabled by default (closes: 18344) ну тогда reopen, до лучших времён (В ответ на комментарий №25)
> ну тогда reopen, до лучших времён
А что reopen то? Давайте сразу WONTFIX?
Сделайте переключатель в control (например, sudo-like-fedora-or-ubuntu) со включенным по умолчанию disable. так и сделали, но это не то, о чём ты вешал багу в 2008 году. (In reply to comment #28) > так и сделали, но это не то, о чём ты вешал багу в 2008 году. Я считаю, что этот вопрос не стоит решать на уровне пакета. Его стоит решать на уровне дистрибутивного решения и его умолчаний. Чтобы этот набор умолчаний мог быть задан разом для всех настроек нужно сделать соответствующий модуль альтератора. Это и будет механихмом применения политик. В том числе и групповых, часть из которых прилетает в домене. (In reply to comment #20) > А, если sudo парольный, то нормально. > > Меня не напрягает. Дима, не мог бы ты пояснить в чём именно проблема ? Хоть я и не Дима, но вставлю свои 5 копеек. Сейчас, с "control sudo wheelonly", наличие пользователя в группе означает то, что он в принципе имеет возможность запустить sudo, а что именно он может делать определяется конфигом самого sudo. А в ситуации "%wheel ALL=(ALL) ALL" какие-то дополнительные описания теряют смысл. Разве что для случая control sudo public, но так делать тоже не очень хочется. sudo-1:1.8.28-alt1 -> c8.1: Tue Oct 15 2019 Evgeny Sinelnikov <sin@altlinux> 1:1.8.28-alt1 - Update to autumn security release (closes: 37334) - Code execution with euid==0 in rare box configurations (fixes: CVE-2019-14287) - Fix post script for sudowheel control in case of upgrade in not default state Thu Apr 11 2019 Evgeny Sinelnikov <sin@altlinux> 1:1.8.27-alt1 - Update to last winter release Fri Dec 07 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.26-alt1 - Update to last autumn release - Fix post script for sudowheel control (closes: 35611) Thu Nov 08 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt2 - Reapply replace libsudo_util.so to libexecdir (avoid rpath in binaries) - Set sudowheel control with rule "ALL=(ALL) ALL" for wheel users disabled by default (closes: 18344) Tue Nov 06 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt1 - Update to latest release - Disable ubt macros due binary package identity change - Replace libsudo_util.so to libexecdir - Add new cvtsudoers utility Fri Apr 27 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.22-alt1 - Update to latest winter release - Add sudowheel control with rule "ALL=(ALL) ALL" for wheel users enabled by default (closes: 18344) Thu Nov 23 2017 Evgeny Sinelnikov <sin@altlinux> 1:1.8.21p2-alt1 - Update to latest autumn release Fri Jun 02 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20p2-alt1 - Update to first summer security release Wed May 31 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20p1-alt1 - Update to spring security release ((Fixes: CVE-2017-1000367) Mon May 29 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20-alt1 - Update to latest spring release Tue Jan 10 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt6 - Add compatibility trigger for /etc/sudoers.d and /etc/sudo.d - Avoid sudoreplay pre and post control warnings Mon Jan 02 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt5 - Add warning if /etc/sudo.d directory exixsts Wed Dec 28 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt4 - Disable sudo rule for root by default Tue Dec 27 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt3 - Fixed relaxed control rule for sudoers Mon Dec 26 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt2 - Build without *.la files in modules directory Wed Dec 21 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt1 - Updated to last stable release 1.8.19p1 with sssd features (In reply to comment #31) > sudo-1:1.8.28-alt1 -> c8.1: > Thu Nov 08 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt2 > - Reapply replace libsudo_util.so to libexecdir (avoid rpath in binaries) > - Set sudowheel control with rule "ALL=(ALL) ALL" for wheel users disabled > by default (closes: 18344) Я так понимаю, неудачная реакция робота на это вот изменение прошлогодне? Да, робот на что-то упорно реагирует. sudo-1:1.8.28-alt1 -> p8: Tue Oct 15 2019 Evgeny Sinelnikov <sin@altlinux> 1:1.8.28-alt1 - Update to autumn security release (closes: 37334) - Code execution with euid==0 in rare box configurations (fixes: CVE-2019-14287) - Fix post script for sudowheel control in case of upgrade in not default state Thu Apr 11 2019 Evgeny Sinelnikov <sin@altlinux> 1:1.8.27-alt1 - Update to last winter release Fri Dec 07 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.26-alt1 - Update to last autumn release - Fix post script for sudowheel control (closes: 35611) Thu Nov 08 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt2 - Reapply replace libsudo_util.so to libexecdir (avoid rpath in binaries) - Set sudowheel control with rule "ALL=(ALL) ALL" for wheel users disabled by default (closes: 18344) Tue Nov 06 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt1 - Update to latest release - Disable ubt macros due binary package identity change - Replace libsudo_util.so to libexecdir - Add new cvtsudoers utility Fri Apr 27 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.22-alt1 - Update to latest winter release - Add sudowheel control with rule "ALL=(ALL) ALL" for wheel users enabled by default (closes: 18344) Thu Nov 23 2017 Evgeny Sinelnikov <sin@altlinux> 1:1.8.21p2-alt1 - Update to latest autumn release Ложное закрытие при обновлении в бранче sudo-1:1.8.28-alt1 -> c8: Tue Oct 15 2019 Evgeny Sinelnikov <sin@altlinux> 1:1.8.28-alt1 - Update to autumn security release (closes: 37334) - Code execution with euid==0 in rare box configurations (fixes: CVE-2019-14287) - Fix post script for sudowheel control in case of upgrade in not default state Thu Apr 11 2019 Evgeny Sinelnikov <sin@altlinux> 1:1.8.27-alt1 - Update to last winter release Fri Dec 07 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.26-alt1 - Update to last autumn release - Fix post script for sudowheel control (closes: 35611) Thu Nov 08 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt2 - Reapply replace libsudo_util.so to libexecdir (avoid rpath in binaries) - Set sudowheel control with rule "ALL=(ALL) ALL" for wheel users disabled by default (closes: 18344) Tue Nov 06 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.25p1-alt1 - Update to latest release - Disable ubt macros due binary package identity change - Replace libsudo_util.so to libexecdir - Add new cvtsudoers utility Fri Apr 27 2018 Evgeny Sinelnikov <sin@altlinux> 1:1.8.22-alt1 - Update to latest winter release - Add sudowheel control with rule "ALL=(ALL) ALL" for wheel users enabled by default (closes: 18344) Thu Nov 23 2017 Evgeny Sinelnikov <sin@altlinux> 1:1.8.21p2-alt1 - Update to latest autumn release Fri Jun 02 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20p2-alt1 - Update to first summer security release Wed May 31 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20p1-alt1 - Update to spring security release ((Fixes: CVE-2017-1000367) Mon May 29 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.20-alt1 - Update to latest spring release Tue Jan 10 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt6 - Add compatibility trigger for /etc/sudoers.d and /etc/sudo.d - Avoid sudoreplay pre and post control warnings Mon Jan 02 2017 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt5 - Add warning if /etc/sudo.d directory exixsts Wed Dec 28 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt4 - Disable sudo rule for root by default Tue Dec 27 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt3 - Fixed relaxed control rule for sudoers Mon Dec 26 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt2 - Build without *.la files in modules directory Wed Dec 21 2016 Evgeny Sinelnikov <sin@altlinux.ru> 1:1.8.19p1-alt1 - Updated to last stable release 1.8.19p1 with sssd features (In reply to comment #35) > Ложное закрытие при обновлении в бранче И опять. Если в *7 обновлений не будет, больше уже не должно само закрываться. Держите годный лайфхак: можно просто при обновлении удалить в ченджлоге запись (Closes: #18344). А вообще имеет смысл закрыть багу как WONTFIX, потому что людям, от которых зависит решение данного вопроса, удобнее по-другому. (In reply to comment #38) > Держите годный лайфхак: можно просто при обновлении удалить в ченджлоге запись > (Closes: #18344). А вообще имеет смысл закрыть багу как WONTFIX, потому что > людям, от которых зависит решение данного вопроса, удобнее по-другому. Я уже не понимаю в чём вопрос и в чём его решение для всех, а также какое-то особенное решение для тех людей, от которых зависит решение этого вопроса, и в чём для них это решение. Поэтому зафиксирую что-то определённое. Правило, позволяющее включить парольный sudo, по умолчанию, в дистрибутивах отключено, но ручка для включения этого правила имеется: ~ # control sudowheel disabled ~ # grep 'WHEEL_USERS ALL=(ALL) ALL' /etc/sudoers #WHEEL_USERS ALL=(ALL) ALL ~ # control sudowheel enabled ~ # control sudowheel enabled ~ # grep 'WHEEL_USERS ALL=(ALL) ALL' /etc/sudoers WHEEL_USERS ALL=(ALL) ALL Возможности создавать дистрибутивные решения с заданной политикой или включать эту политику, исходя из внутреннего распорядка работы, предоставлены. На этом данную задачу предлагаю закрыть. |