- Ядерная защита в Astra Linux SE 1.6 и как ее включить. Ядро Hardened
- Ядро hardened в Astra Linux SE 1.6
- Включаем использование ядра hardened в Astra Linux SE 1.6
- Параметры модуля ядра Parsec, задаваемые в файле /boot/boot.conf
- Ядерная защита в Astra Linux SE 1.6 и как ее включить. Ядро Hardened
- Ядро hardened в Astra Linux SE 1.6
- Включаем использование ядра hardened в Astra Linux SE 1.6
- Временное отключение параметрами командной строки GRUB
- Использование режима восстановления при неудачной загрузке
- Постоянное отключение amdgpu наcтройками параметров загрузки и настройка графического режима
Ядерная защита в Astra Linux SE 1.6 и как ее включить. Ядро Hardened
Как защититься от ядерных эксплоитов эксплуатирующих уязвимости ядра Linux? Рассмотрим как это реализовано в отечественной ОС Astra Linux SE 1.6.
Многие из Вас слышали, а кто-то давно уже использует ОС Astra Linux SE 1.6 — отечественную операционную систему, сертифицированную по ФСБ, Минобороны и ФСТЭК России. На платформе Astra Linux развернуты и функционируют десятки информационных систем — как в государственных, так и в коммерческих структурах. На фоне определенного ажиотажа вокруг отечественных ОС и темы импортозамещения становится особенно актуально применение Astra Linux SE. Много слов сказано о безопасности этой операционной системы и большинство пользователей считают, что достаточно просто установить ОС Astra Linux и они получат безопасную среду для работы автоматически, ничего не настраивая. Конечно это не так. И в этой статье я расскажу об одном из основных компонентов комплекса средств защиты (КСЗ) — ядре hardened и покажу как нужно его использовать.
Ядро hardened в Astra Linux SE 1.6
Ядро hardened — это несколько изменений в компиляторе и ядре, которые увеличивают общую защищенность системы от взлома. Ядро hardened умеет блокировать массу потенциально опасных операций. В ОС Astra Linux SE 1.6 поставляется две версии ядра — это hardened и generic. Ядро hardened более компактное по размеру. Из него убраны многие компоненты, которые не используются для обычной работы, но могут использоваться для отладки. Так же в этом ядре присутствуют технологии, которые обеспечивают очистку информации стека ядра после системных вызовов. Это позволяет защититься от некоторых эксплоитов, которые нацелены на считывание неочищенной информации после системных вызовов.
На практике hardened ядро на несколько (2-3%) медленнее, чем ядро generic, но оно обеспечивает эффективную защиту от эксплоитов, которые нацелены на эксплуатацию уязвимостей ядра (ядерных эксплоитов).
Ограничения по работе с памятью в ядре hardened:
- запрет записи в область памяти, помеченную как исполняемая;
- запрет создания исполняемых областей памяти;
- запрет перемещения сегмента кода;
- запрет создания исполняемого стека;
- случайное распределение адресного пространства процесса;
- очистка остаточной информации из стека ядра после системных вызовов.
Включаем использование ядра hardened в Astra Linux SE 1.6
Включить использование ядра hardened можно во время установки Astra Linux SE 1.6 и позже, уже непосредственно в установленной ОС.
Во время установки Astra Linux SE 1.6 эта настройка делается в разделе «Дополнительные настройки ОС».
Для того, чтобы ОС по умолчанию загружала ядро hardened необходимо отметить параметр «Использовать по умолчанию ядро Hardened».
Так же, чтобы исключить возможность выбора пользователем варианта загрузки незащищенного ядра generic, необходимо в этом же разделе установить параметр «Запретить вывод меню загрузчика».
Если Вы не установите параметры описанные выше, и продолжите установку Astra Linux SE 1.6, то после установки ОС, во время загрузки, по умолчанию будет загружаться незащищенное ядро generic, а не hardened. Так же, с такими настройками, у пользователя будет возможность выбора ядра generic для загрузки.
Скорее всего, такая ситуация с загрузкой по умолчанию незащищенного ядра generic встретится у многих администраторов. Для того, чтобы настроить загрузку защищенного ядра hardened в уже установленной ОС, необходимо администратором (высокоцелостным root) в графическом интерфейсе открыть — «Панель управления — Система — Загрузчик GRUB2» и сделать следующие настройки:
- «Запись по умолчанию» — ядро hardened
- «Следующая запись станет загружаемой по умолчанию» — выбрать
- «Автоматически загружать запись по умолчанию после показа меню» — немедленно
После этих настроек, ОС будет сразу загружаться с защищенным ядром hardened, а возможность у пользователя выбрать для загрузки незащищенное ядро generic будет отсутствовать.
Параметры модуля ядра Parsec, задаваемые в файле /boot/boot.conf
Если ранее в системе существовали файлы с метками, имеющими уровень целостности выше установленного на данный момент, это может вызвать отказ в предоставлении доступа к этим файлам (сокетам, каталогам,…)
- parsec.ccnr_relax=1
дает непривилегированному пользователю возможность производить запись файлов с разным уровнем конфиденциальности в контейнер (каталог) с установленным флагом ccnr.
Допустимые значения: 0/1.
Значение по умолчанию: 0
- parsec.reset_ilev_on_chroot (Reset Label on chroot)
Сброс (обнуление) уровня целостности метки у дочерних процессов при использовании родительским процессом системных вызовов: chroot(2) и pivot_root(2).
Текущее значение целостности: никак не влияет на поведение.
Допустимые значения : 0/1, y/n,…
Значение по умолчанию: true (обнуляет уровень)
- parsec.noload_files (Reject load at low integrity level)
Запрет загрузки модулей ядра, встроенного программного обеспечения, образов kexec, ключей и сертификатов X.509 привилегированным пользователем (root, uid=0), но с низким уровнем целостности.
Допустимые значения : 0/1, y/n,…
Значение по умолчанию: true (загрузка запрещена)
- parsec.ccnr_reject (Disallow root to set CCNR* flags)
Запрет установки флага ccnr (см. Руководство администратора) привилегированным пользователем (root, uid=0).
Ядерная защита в Astra Linux SE 1.6 и как ее включить. Ядро Hardened
Как защититься от ядерных эксплоитов эксплуатирующих уязвимости ядра Linux? Рассмотрим как это реализовано в отечественной ОС Astra Linux SE 1.6.
Многие из Вас слышали, а кто-то давно уже использует ОС Astra Linux SE 1.6 — отечественную операционную систему, сертифицированную по ФСБ, Минобороны и ФСТЭК России. На платформе Astra Linux развернуты и функционируют десятки информационных систем — как в государственных, так и в коммерческих структурах. На фоне определенного ажиотажа вокруг отечественных ОС и темы импортозамещения становится особенно актуально применение Astra Linux SE. Много слов сказано о безопасности этой операционной системы и большинство пользователей считают, что достаточно просто установить ОС Astra Linux и они получат безопасную среду для работы автоматически, ничего не настраивая. Конечно это не так. И в этой статье я расскажу об одном из основных компонентов комплекса средств защиты (КСЗ) — ядре hardened и покажу как нужно его использовать.
Ядро hardened в Astra Linux SE 1.6
Ядро hardened — это несколько изменений в компиляторе и ядре, которые увеличивают общую защищенность системы от взлома. Ядро hardened умеет блокировать массу потенциально опасных операций. В ОС Astra Linux SE 1.6 поставляется две версии ядра — это hardened и generic. Ядро hardened более компактное по размеру. Из него убраны многие компоненты, которые не используются для обычной работы, но могут использоваться для отладки. Так же в этом ядре присутствуют технологии, которые обеспечивают очистку информации стека ядра после системных вызовов. Это позволяет защититься от некоторых эксплоитов, которые нацелены на считывание неочищенной информации после системных вызовов.
На практике hardened ядро на несколько (2-3%) медленнее, чем ядро generic, но оно обеспечивает эффективную защиту от эксплоитов, которые нацелены на эксплуатацию уязвимостей ядра (ядерных эксплоитов).
Ограничения по работе с памятью в ядре hardened:
- запрет записи в область памяти, помеченную как исполняемая;
- запрет создания исполняемых областей памяти;
- запрет перемещения сегмента кода;
- запрет создания исполняемого стека;
- случайное распределение адресного пространства процесса;
- очистка остаточной информации из стека ядра после системных вызовов.
Включаем использование ядра hardened в Astra Linux SE 1.6
Включить использование ядра hardened можно во время установки Astra Linux SE 1.6 и позже, уже непосредственно в установленной ОС.
Во время установки Astra Linux SE 1.6 эта настройка делается в разделе «Дополнительные настройки ОС».
Для того, чтобы ОС по умолчанию загружала ядро hardened необходимо отметить параметр «Использовать по умолчанию ядро Hardened».
Так же, чтобы исключить возможность выбора пользователем варианта загрузки незащищенного ядра generic, необходимо в этом же разделе установить параметр «Запретить вывод меню загрузчика».
Если Вы не установите параметры описанные выше, и продолжите установку Astra Linux SE 1.6, то после установки ОС, во время загрузки, по умолчанию будет загружаться незащищенное ядро generic, а не hardened. Так же, с такими настройками, у пользователя будет возможность выбора ядра generic для загрузки.
Скорее всего, такая ситуация с загрузкой по умолчанию незащищенного ядра generic встретится у многих администраторов. Для того, чтобы настроить загрузку защищенного ядра hardened в уже установленной ОС, необходимо администратором (высокоцелостным root) в графическом интерфейсе открыть — «Панель управления — Система — Загрузчик GRUB2» и сделать следующие настройки:
- «Запись по умолчанию» — ядро hardened
- «Следующая запись станет загружаемой по умолчанию» — выбрать
- «Автоматически загружать запись по умолчанию после показа меню» — немедленно
После этих настроек, ОС будет сразу загружаться с защищенным ядром hardened, а возможность у пользователя выбрать для загрузки незащищенное ядро generic будет отсутствовать.
Временное отключение параметрами командной строки GRUB
Данный вариант настройки будет действовать до перезагрузки системы. Для выполнения настройки:
В меню загрузчика Grub нажмите «e» для редактирования параметров загрузки ядра,
в конце строки «linux» укажите параметры: nomodeset xdriver=vesa
и нажмите F10.
После выполнения этих действия система должна загрузиться с использованием драйвера vesa.
Использование режима восстановления при неудачной загрузке
Если загрузка не удалась воспользуйтесь режимом восстановления. Если используется режим восстановления
- Выполните все действия до появления окна «Войти в режим восстановления» и в нем укажите какой раздел является корневым (например /dev/sda1 );
- В следующем окне выберите «Запуск оболочки» в указанном корневом разделе;
- После запуска оболочки появится приглашение командной строки.
Если раздел /boot находится на отдельном разделе, то необходимо его дополнительно смонтировать командой:
Постоянное отключение amdgpu наcтройками параметров загрузки и настройка графического режима
Для постоянного отключения amdgpu и настройки графики с использованием драйвера vesa необходимо:
- В конец конфигурационного файла /etc/modprobe.d/blacklist.conf добавить следующие строки:
blacklist amdgpu options amdgpu modeset=0