Чем страшна команда sudo?

junixar
Дата: 08.03.2010 11:52:39
Всем привет.

Занимаемся разработкой распределённой WorkFlow системы. Система будет работать в организации, которая имеет несколько мощных кластеров и суперкомпьютеров (всё под Linux).

Текущая архитектура системы такая: имеется один сервер с движком WorkFlow и на каждом доступном ресурсе (кластер или суперкомпьютер) имеется постоянно работающий агент. Сервер выбирает требуемые ресурсы для задач, связывается с агентом, отправляет данные и команды, контролирует выполнение задач, получает результаты.

Каждый WorkFlow - это набор задач, которые могут выполняться на разных ресурсах, часто параллельно.

Сейчас пользователи работают с этим ресурсами на уровне подключения через SSH и запуска shell-скриптов.

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

Наше решение было - запускать задачи с помощью команды sudo. Т.е. агент, а точнее пользователь, от имени которого запускается агент, имеет права на выполнение определённого ограниченного набора команд от имени определённых пользователей без пароля. И тогда всё идёт гладко.

Однако!!! Админы организации нашу идею напрочь зарубили и сказали, что у нас кривая архитектура. Что они никогда не дадут нам использовать sudo и что нам нужно всё делать по другому. Например, для каждой задачи запускать от имени нужного пользователя агента (через ssh). При этом наш сервер будет иметь сертификаты пользователей, чтобы коннектиться к ресурсам от их имени.

Вот такая дилема. Пока админов в чём-то убедить не получается. Они стоят на своём, что настроить для нас sudo нельзя, что при этом пострадает безопастность, что у нас кривая архитектура и что мы должны всё переделывать, лишь бы не использовать sudo.

Может я что-то не понимаю и использовать sudo действительно неправильно и небезопасно?

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

Буду очень благодарен всем, кто откликнется.
Андрей Панфилов
Дата: 08.03.2010 13:44:44
junixar,

Админы правы:
1. за время существования sudo, в ней было найдено багов больше, чем в sendmail и named вместе взятых
2. при работе через ssh открывается управляющий терминал - возможности для аудита куда выше чем вы у себя решите в логах написать