В предыдущей статье мы изучили на практике способ обхода блокировки консоли (astra-console-lock) операционной системы Astra Linux 1.7 для запуска произвольных shell-команд.

Сегодня я предлагаю разобрать данный механизм за пределами команды astra-console-lock, так как по сути это всего лишь вершина айсберга.

Итак, после запуска команды astra-console-lock enable автоматически производится несколько действий:

1. В каталоге /etc/systemd/system создаётся юнит systemd — astra-console-lock.service, его задача запускать astra-console-lock каждый раз после старта системы;

2. Если отсутствует, создаётся группа astra-console и в неё автоматически включаются члены группы astra-admin;

3. В файл /etc/security/access.conf добавляется строчка:

-:ALL EXCEPT astra-console :LOCAL

Собственно, в этой строчке «магия», которая не пускает Вас войти в учётную запись с использованием комбинаций клавиш F1-6 + Alt + Ctrl .

Изучив файл /etc/security/access.conf , Вы увидите подробное описание работы таблицы управления доступом входа в систему (Login access control table в оригинале). Если смотреть ещё глубже, указанная таблица — это часть механизма pam_access.so.

Итак, знак минус в начале строки — это «запретить», ALL — всем, EXCEPT кроме astra-console — группа -исключение, LOCAL — правило будет действовать только для локальных пользователей.

4. Оставшаяся часть «магии» ограничивается правами доступа — для всех терминалов и псевдотерминалов, размещённых в каталоге /dev/ , назначается группа astra-console, а каталог /dev/pts становится доступен только для владельца и группы astra-console.

astra_console_lock
И недоступен для остальных — такова их судьба,
заключающаяся в вечных лишениях

Таким образом, после настройки пользователи не смогут использовать консоль ни в графическом режиме, ни с помощью комбинаций клавиш F1-6 + Alt + Ctrl.

Данный механизм не блокирует запуск скриптов, а просто ограничивает ввод произвольных команд. Для блокировки запуска скриптов нужно блокировать интерпретаторы в совокупности с запретом исполняемого бита

Выводы:
Данный механизм создаёт группу astra-console, настраивает pam_access.so (изменяя его конфигурационный файл access.conf), ограничивает права доступа к терминалам и псевдотерминалам.
Указанную настройку возможно провести на любом другом дистрибутиве Linux и она будет работать аналогичным образом (что и рекомендую сделать).

Добавить комментарий

Ваш e-mail не будет опубликован.