Назад | Перейти на главную страницу

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

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

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

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

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

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