Каковы последствия для безопасности использования allow.sysvipc в тюрьме FreeBSD

Справочная страница для jail Говорит, что allow.sysvipc позволяет "примитивам System V [совместно] использовать единое пространство имен в среде хоста и тюрьмы...", таким образом "... процессы внутри тюрьмы смогут взаимодействовать с... процессами вне тюрьмы и в других тюрьмах ".

Каковы практические последствия этого для безопасности? Самая экстремальная интерпретация подразумевает, что при использовании этой опции эффективная безопасность во всей инфраструктуре тюрьмы невелика. (Если процессы могут вмешиваться и взаимодействовать с другими процессами на хосте и в других тюрьмах, тогда зачем вообще беспокоиться о тюрьме?)

1 ответ

Итак, получается, что крайняя интерпретация верна. Разрешение sysvipc "... победить [s] всю цель наличия тюрьмы; привилегированные пользователи из тюрьмы смогут влиять на процессы вне среды, в которой находится тюрьма".

ОБНОВЛЕНИЕ 3 августа 2010: После некоторого случайного исследования я смог уточнить некоторые детали. Проблема связана с тем, что разрешения процесса основаны на UID (обратите внимание, что это означает число, а не строковый идентификатор). Таким образом, даже если пользовательские пространства для хоста и тюрьмы взаимно разделены, это разделение не является железным, и учитывая, что root имеет UID 0, мы получаем приведенную выше цитату. Некоторые варианты минимизации риска:

  1. Убедитесь, что все пользователи по всей системе (хост и тюрьмы) имеют разные UID
  2. Отключите вход в систему root для джейлов (не поможет с процессами, запускаемыми от имени root, поэтому sudo трюки, но некоторые лучше, чем ничего.)
Другие вопросы по тегам