Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

При выполнении стороннего программного обеспечения (ПО) в среде Astra Linux Special Edition 1.7 с установленным актуальным оперативным обновлением может нарушаться работа некоторых программ. При этом может возникать ранее не наблюдавшаяся ошибка "Недостаточно прав" ("Permission denied"), например "cannot enable executable stack as shared object requires: Permission denied". Данная ошибка может быть вызвана попыткой ПО разрешить исполнение кода, находящегося в программном стеке. Исполнение такого кода допустимо на некоторых аппаратных платформах, но может представлять угрозу для безопасности, поэтому по умолчанию запрещено.

Диагностика

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

Command

sudo /usr/sbin/ausearch -m AVC | grep mprotect

Пример вывода команды:

Блок кода
type=AVC msg=audit(1734413451.012:20444): parsec=denied fn=parsec_file_mprotect requested=x pid=9108 comm="a.out"


Рекомендации

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

    Описанное ниже изменение в настройке операционной системы ведет к снижению её защищенности. Применяя это изменение вы принимаете на себя ответственность за возможные последствия.

    Для отключения контроля:

    • добавить параметр ядра parsec.execstack со значением 1 в строку значений параметра GRUB_CMDLINE_LINUX_DEFAULT в конфигурационном файле /etc/default/grub. Пример результирующей строки:
      Блок кода
      GRUB_CMDLINE_LINUX_DEFAULT="parsec.mac=0 quiet net.ifnames=0 parsec.execstack=1"
    • обновить конфигурацию загрузчика:
      Command
      sudo update-grub
    • перезагрузить компьютер.

    Для обратного включения контроля после обновления ПО:

    • убрать параметр ядра parsec.execstack из строки значений параметра GRUB_CMDLINE_LINUX_DEFAULT или заменить его значение на 0 в конфигурационном файле /etc/default/grub. Пример результирующей строки:
      Блок кода
      GRUB_CMDLINE_LINUX_DEFAULT="parsec.mac=0 quiet net.ifnames=0 parsec.execstack=0"
    • обновить конфигурацию загрузчика:
      Command
      sudo update-grub
    • перезагрузить компьютер.

...