От других дистрибутивов Astra Linux отличается наличием различных механизмов безопасности разработанных специалистами группы компаний «Astra Linux» — один из них это запрет исполняемого бита.
Напомню, чтобы активировать запрет исполняемого бита нужно выполнить одну из нескольких команд:
sudo astra-nochmodx-lock enable # механизм будет доступен и после перезагрузки - команда создаёт юнит в systemd
echo 1 > /parsecfs/nochmodx # механизм будет запущен, но только до перезагрузки системы
Я подразумеваю, что Вы знакомы с дискреционным разграничением доступа в операционной системе, поэтому просто покажу пару интересных особенностей, которые заметил в процессе эксплуатации.
Первая состоит в том, что запрет исполняемого бита нужно активировать сразу после установки операционной системы, не давая работать в ней пользователю.
Если пользователь уже работал в системе ранее он мог создать файлы с правами на выполнение — после активации запрета исполняемого бита они так и останутся исполняемыми.
Если пользователю будет доступен хоть один из файлов с правами на запись и исполнение он может заменить его любым другим файлом сделав его исполняемым.
Файл который надо запустить:
./file1 - rw-r--r--
Файл который ранее был создан с правами на выполнение, например в tmp домашнего каталога пользователя:
./file2 - rwx-r-xr-x
Заменим файл:
cat ./file1 > ./file2
Выполним file1 который стал file2:
./file2
Запустить скрипт в случае активированного запрета исполняемого бита можно с помощью командной оболочки
Скрипт не имеет прав на выполнение.
./file1.sh rw-rw----
cat ./file1.sh
#!/bin/bash
echo 123
/bin/bash ./file1.sh
123
Разумеется, при использовании всех доступных механизмов защиты информации реализовать указанные особенности не получится.
Замкнутая программная среда не даст запустить не подписанный бинарный файл, а запрет консоли не даст пользователю выполнить указанные команды (но с запретом консоли не всё однозначно — их можно выполнить даже когда консоль заблокирована — подробнее).
Если Вы всё-таки не активировали nochmodx сразу, а запускать замкнутую программную среду не планируете, то проверьте каталоги пользователей на файлы доступные на исполнение.
Пара возможных команд, вариантов на самом деле больше:
find /home -perm -u=wx -type f
find /home -perm 777 -type f
Всем спасибо за внимание, до новых встреч.