Я включил SElinux в принудительном режиме в Amazon Linux и вижу, что время, затрачиваемое на доступ к файлу (чтение / запись / обновление), увеличилось в среднем на 2-4 секунды. Исходный процесс - это Salt, а доступ к файлу связан с файловым. Управляемым состоянием Salt. https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html#salt.states.file.managed В файле audit.log нет соответствующих отказов. В качестве подхода грубой силы мы попытались добавить разрешающие правила для всех отказов в журнале с помощью audit2allow, но не смогли сократить время, необходимое для доступа к файлам.
Известно ли, что SElinux снижает производительность доступа к файловой системе? Существуют ли известные процессы в системе Linux, которые влияют на время доступа к файлам?
Короткий ответ: да, это вызывает дополнительную задержку, но она настолько мала, что вам все равно
Длинный ответ: SELinux увеличивает задержку, потому что:
его метка хранится внутри расширенного атрибута, который представляет собой дополнительный тег метаданных (для чтения / анализа), прикрепленный к каждому файлу;
он должен сравнивать только что прочитанные метаданные с текущей загруженной двоичной политикой.
Чтобы минимизировать влияние на производительность, ядро Linux сохраняет кеш AVC, чтобы обойти самые тяжелые этапы процесса чтения / сравнения. Более подробную информацию можно найти Вот и Вот
Вывод в том, что в общем случае SELinux влияет на производительность только на 0-2% и может быть проигнорирован с точки зрения производительности
SELinux обычно применяет принудительное исполнение в системах, которые выполняют больше операций ввода-вывода в секунду, чем ваша. Кроме того, операции ввода-вывода, которые регулярно занимают несколько секунд, являются недопустимо низкой производительностью, независимо от системы хранения или дополнительных накладных расходов.
Происходит что-то еще. Использовать Богатые инструменты производительности Linux раскрыть это. Некоторые стартовые идеи:
biolatency
. fio
, или просто touch
(Для некоторых из них требуются новейшие ядра для bpf и других функций. Я не знаю, насколько хороши инструменты Amazon Linux для всего этого.)