+7 (812) 703-02-02 info@hse.spbstu.ru Max Rutube

SEC-LINUX. Обеспечение безопасности ОС Linux

Длительность дисциплины: 40 ак.ч.


Аннотация

Целью изучения дисциплины «SEC-LINUX. Обеспечение безопасности ОС Linux» является формирование у слушателей знаний и навыков, необходимых для обеспечения информационной безопасности при использовании операционных систем семейства Linux. Выпускник курса будет способен настраивать систему безопасности Linux-серверов и рабочих станций, используя весь спектр доступных механизмов — от базового разграничения прав доступа и аутентификации до систем мандатного контроля и обеспечения целостности.


Знания и умения, полученные в результате изучения

Знания

  • Принципы дискреционного разграничения доступа (DAC). Биты доступа (rwx) для владельца, группы и остальных. Назначение и риски использования атрибутов SUID/SGID. Специальные атрибуты файлов (например, immutable). Концепция Linux-привилегий (Capabilities) как альтернатива SUID.
  • Архитектура и компоненты PAM (Pluggable Authentication Modules). Назначение ключевых модулей PAM (pam_pwquality, pam_faillock и др.). Принципы работы и отличия механизмов повышения полномочий su, sudo и PolKit.
  • Ограничения DAC и необходимость мандатного контроля доступа (MAC). Основные реализации MAC: AppArmor, SELinux и PARSEC. Модель безопасности Белла-Лападулы. Принципы многоуровневой (MLS) и многокатегорийной (MCS) безопасности в SELinux и PARSEC.
  • Уязвимости процесса загрузки ОС и методы их устранения. Роль и настройки загрузчика GRUB2 для обеспечения безопасности. Принципы шифрования данных на уровне разделов диска и файловых систем.
  • Принципы изоляции процессов: пространства имен (namespaces), контрольные группы (cgroups), фильтрация системных вызовов (seccomp). Эволюция от chroot к современным инструментам изоляции. Концепция систем-киосков.
  • Подходы и инструменты для контроля целостности файловых систем (HIDS). Принципы работы и отличия инструментов AIDE, AFICK и osec. Интеграция контроля целостности в комплексные системы мониторинга (SIEM).
  • Понятие и цели создания Замкнутой Программной Среды (ЗПС). Роль и принципы работы технологий Integrity Measurement Architecture (IMA) и Extended Verification Module (EVM).
  • Риски, связанные с использованием съемных носителей и внешних устройств. Принципы контроля доступа на уровне подсистемы ядра.

Умения

  • Настройка доступа с помощью POSIX ACL (Access Control Lists). Управление привилегиями процессов с использованием Capabilities. Практическое применение команд setfacl/getfacl, chattr.
  • Настройка политик паролей: срок действия, сложность, блокировка учетной записи после неудачных попыток входа. Конфигурирование прав пользователей через sudo и PolKit.
  • Настройка профилей AppArmor для ограничения возможностей приложений. Базовая настройка и управление политиками SELinux (работа с контекстами, портами, булевыми переменными). Реализация многоуровневой и многокатегорийной безопасности.
  • Защита процесса загрузки (установка пароля на GRUB2, безопасная конфигурация). Создание и управление зашифрованными разделами с помощью LUKS (Linux Unified Key Setup).
  • Создание изолированных окружений с помощью firejail и bubblewrap (bwrap). Настройка системы-киоска для ограничения среды пользователя.
  • Развертывание, настройка и использование систем контроля целостности AIDE, AFICK и osec. Анализ отчетов и реагирование на нарушения целостности.
  • Настройка контроля доступа к USB-устройствам с помощью USBGuard (создание политик, белых и черных списков).

Содержание дисциплины

Модуль 1. Дискреционное разграничение доступа в Linux.

  • Принципы дискреционного разграничения доступа.
  • Биты доступа UNIX.
  • Атрибуты SUID/SGID.
  • Списки контроля доступа (Posix ACL - Access Control Lists).
  • Специальные атрибуты (флаги) файлов.
  • Привилегии Linux.

Лабораторная работа 1.

  • Настройка списков контроля доступа в Linux (Posix ACL).
  • Управление привилегиями процессов.

Модуль 2. Управление подсистемой аутентификации. Подключаемые модули аутентификации (PAM)

  • Аутентификация и авторизация в ОС Linux.
  • Структура PAM - Pluggable Authentication Modules.
  • Назначение основных модулей PAM.
  • Механизмы повышения полномочий - su/sudo.
  • Механизм PolKit (PolicyKit)

Лабораторная работа 2.

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

Модуль 3. Мандатное разграничение доступа (AppArmor, SELinux, PARSEC).

  • Необходимость мандатного разграничения доступа.
  • Основные реализации мандатного доступа и их особенности.
  • Мандатный доступ средствами AppArmor
  • Целевая (targeted) политика SELinux
  • Модель Белла-Лападулы.
  • Многоуровневая и многокатегорийная безопасность в SELinux и PARSEC

Лабораторная работа 3.

  • Настройка Apparmor, блокировка возможности приложений.
  • Настройка SELinux.
  • Многоуровневая безопасность средствами SELinux/PARSEC.

Модуль 4. Ограничение доступа к узлам с ОС Linux.

  • Обход защитных механизмов системы при физическом доступе к узлу.
  • Обеспечение безопасности процесса загрузки ОС Linux.
  • Настройки загрузчика GRUB2.
  • Инструменты обеспечения доверенной загрузки.
  • Шифрование данных и разделов системы.
  • Контроль доступа к съемным носителям и внешним устройствам.

Лабораторная работа 4.

  • Обеспечение безопасности загрузки ОС Linux.
  • Настройка шифрования разделов системы средствами LUKS.
  • USBGuard. Настройка контроля доступа к отчуждаемым магнитным носителям.

Модуль 5. Использование механизмов изоляции (chroot/namespaces, seccomp, cgroups). Системы-киоски

  • Принципы работы изоляции на файловой системе.
  • Применение Namespaces в Linux.
  • Фильтрация системных вызовов средствами seccomp.
  • Инструменты создания изолированных окружений.
  • Ограничения доступных пользователю приложений (системы-киоски)

Лабораторная работа 5.

  • Настройка изоляции средствами firejail и bwrap
  • Настройка системы-киоска в Linux.

Модуль 6. Контроль целостности системы.

  • Контроль целостности системы и системных файлов. Основные подходы и инструменты.
  • Контроль целостности системы средствами AFICK.
  • Контроль целостности системы средствами AIDE.
  • Контроль целостности системы средствами osec.
  • Контроль целостности системы в комплексных HIDS/SIEM-системах.
  • Технологии создания замкнутой программной среды (ЗПС) в ОС на основе ядра Linux.

Лабораторная работа 6.

  • Использование инструментов AIDE, osec, AFICK для контроля целостности системы.
  • Создание собственного инструментария контроля целостности системы.