Intereting Posts
Почему устойчивые переменные среды нарушают PATH var Плохо ли иметь слишком много модулей ядра? Отправлять электронные сообщения за пределами сети, с сервера за маршрутизатором DNS и переадресацией портов Как настроить пользовательские квоты для дискового хранилища? Безвестная sudo команды, содержащей запятую Почему результат grep зависит от пути к папке? Как отправить содержимое буфера emacs в gcc без записи на диск? Как получить данные whois только для точного домена? Как Моно волшебный? Почему выход free -h использует разные разделители цифр при запуске cron? rsync рекурсивно с определенной глубиной подпапок Работа для vsftpd.service завершилась неудачно, потому что процесс управления завершился с кодом ошибки Как безопасно искать $ HOME / .bashrc? запуск команды в фоновом режиме и вывод на печать в файл без печати на экран Нужна ли поддержка ядра поддержки NLS?

Можно ли использовать chcon для сужения selinux, чтобы быть менее безопасным, чем установка selinux в разрешающую?

Мне было интересно, возможно ли сделать сервер CentOS 7 менее безопасным с помощью chcon чем если бы SELinux находился в режиме Permissive. Я пытаюсь настроить Phusion Passenger на Nginx для работы с версией Ruby, установленной с помощью rbenv (менеджер версий Ruby, который по существу устанавливает библиотеки Ruby, двоичные файлы, библиотеки и т. Д. В домашнем каталоге пользователя) для пользователя, который не является sudoer , Я использовал такие инструменты, как setroubleshoot-server чтобы существенно решить различные проблемы, такие как SELinux booleans, за исключением того, что эти инструменты не помогают мне в диагностике проблем с версией Ruby, установленной в домашнем каталоге конкретного пользователя. Все работает с Phusion Passenger и Nginx, когда:

  • используя общесистемную установку Ruby (v2.0) (SELinux в режиме принудительного исполнения)
  • используя установленный rbenv Ruby (v2.2.3) (SELinux в разрешающем режиме)
  • используя rbenv установленную Ruby (v2.2.3) после запуска следующей команды (SELinux в режиме принудительного исполнения):

    chcon -R --reference /bin /home/myuser/.rbenv/

Обратите внимание, что я перезапустил сервер между изменениями конфигурации, чтобы проверить наблюдаемое поведение.

Я чувствую, что, по сути, я chcon SELinux, используя chcon чтобы изменить контекст безопасности папки, содержащей rbenv Ruby Ruby, с тем же контекстом безопасности, что и в папке /bin . Существуют ли какие-либо непреднамеренные последствия для безопасности для использования chcon таким образом?

Это может быть вне сферы действия вопроса, но есть ли способ установить контекст безопасности интерпретаторов Ruby, установленных в домашнем каталоге пользователя, который будет использоваться с Nginx и Phusion Passenger?

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

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

Источник: https://source.android.com/security/selinux/