Предисловие…………………………………………………………………………………………… 15
Благодарности…………………………………………………………………………………………………………………………… 15
О чем эта книга…………………………………………………………………………………………………………………………… 15
Как устроена эта книга……………………………………………………………………………………………………………… 16
Кому она будет полезна……………………………………………………………………………………………………………. 16
Об авторе……………………………………………………………………………………………………………………………………. 17
Введение………………………………………………………………………………………………… 18
Основы информационной безопасности………………………………………………………………………………….. 18
Роль Linux в инфраструктуре……………………………………………………………………………………………………. 19
История и философия Linux………………………………………………………………………………………………………. 19
Мифы о безопасности Linux……………………………………………………………………………………………………… 19
Миф 1: «На Linux нет вирусов»………………………………………………………………………………………… 19
Миф 2: «Если не root — значит, безопасно»……………………………………………………………………. 20
Миф 3: «Открытый код — значит, безопасный»……………………………………………………………… 20
Миф 4: «Linux безопасен по умолчанию»……………………………………………………………………….. 20
Современные угрозы и векторы атак……………………………………………………………………………………….. 20
Уязвимости в ядре и базовых сервисах……………………………………………………………………………. 20
Злоупотребление доверенными механизмами………………………………………………………………… 20
LOTL (Living Off The Land)……………………………………………………………………………………………….. 21
Контейнеры и облачные среды………………………………………………………………………………………… 21
Supply Chain: атаки на цепочку поставки……………………………………………………………………….. 21
Edge и IoT……………………………………………………………………………………………………………………………. 21
Модели угроз и их применение в безопасности Linux……………………………………………………………. 22
STRIDE………………………………………………………………………………………………………………………………… 22
DREAD………………………………………………………………………………………………………………………………… 22
MITRE ATT&CK………………………………………………………………………………………………………………… 22
Практический подход к безопасности……………………………………………………………………………………… 23
Этика и ответственность…………………………………………………………………………………………………………… 23
Мотивация и призыв к действию………………………………………………………………………………………………. 23
Глава 1. Основы архитектуры Linux………………………………………………………. 25
Уровни привилегий……………………………………………………………………………………………………………………. 26
Пространства выполнения………………………………………………………………………………………………………… 26
Инициализация…………………………………………………………………………………………………………………………… 27
Механизмы перехода………………………………………………………………………………………………………………… 27
Архитектурные особенности……………………………………………………………………………………………………. 27
Ядро и его компоненты……………………………………………………………………………………………………………… 28
Аудит и безопасность………………………………………………………………………………………………………………… 28
Аудит системы с помощью Linux Audit Framework, Lynis и auditd……………………………….. 29
Встроенные механизмы аудита………………………………………………………………………………………… 30
Глава 2. Защита загрузчика и безопасная загрузка………………………………… 32
Этапы загрузки Linux………………………………………………………………………………………………………………… 32
Описание этапов………………………………………………………………………………………………………………… 33
Загрузчик GRUB. Настройка безопасности……………………………………………………………………………. 34
Методы защиты GRUB………………………………………………………………………………………………………. 34
Пароль на доступ к меню загрузки………………………………………………………………………….. 34
Защита параметров загрузки…………………………………………………………………………………… 35
Подпись ядра и модулей…………………………………………………………………………………………… 35
Шифрование конфигурации…………………………………………………………………………………….. 35
Загрузчик Syslinux. Методы обеспечения безопасности……………………………………………………….. 35
Методы защиты Syslinux…………………………………………………………………………………………………… 36
Пароль на доступ к меню загрузки………………………………………………………………………….. 36
Ограничение доступа к консоли……………………………………………………………………………… 36
Защита конфигурационных файлов………………………………………………………………………… 36
Загрузчик rEFInd. Безопасная настройка………………………………………………………………………………… 36
Загрузчик systemd-boot. Настройки, повышающие безопасность………………………………………… 37
Методы защиты systemd-boot…………………………………………………………………………………………… 37
Подпись ядра…………………………………………………………………………………………………………….. 37
Пароль UEFI………………………………………………………………………………………………………………. 38
Шифрование дисков………………………………………………………………………………………………….. 38
UEFI и Secure Boot. Принципы, настройка, обход………………………………………………………………….. 38
Методы защиты………………………………………………………………………………………………………………….. 39
Цифровая подпись кода……………………………………………………………………………………………. 39
Загрузка только проверенного ПО………………………………………………………………………….. 39
Защита от руткитов и буткит-атак………………………………………………………………………….. 39
Блокировка изменения загрузчика и ядра………………………………………………………………. 40
Совместимость с современными методами криптографической защиты……………. 40
Уровни доступа………………………………………………………………………………………………………………….. 40
Векторы атаки……………………………………………………………………………………………………………………. 40
Популярные атаки на UEFI……………………………………………………………………………………………….. 41
Защиты от записи в хранилище основной прошивки……………………………………………………… 41
Настройка Secure Boot………………………………………………………………………………………………………. 42
Пример. Полнодисковое шифрование с LUKS2 Argon2id на Debian 12………………………………… 42
Практика. Настройка Secure Boot на своем устройстве………………………………………………………… 43
Глава 3. Уровни безопасности и модели управления доступом………………. 44
Дискретная модель доступа DAC (Discretionary Access Control)…………………………………………… 44
Мандатная модель доступа MAC (Mandatory Access Control)……………………………………………… 44
SELinux: политика важнее root…………………………………………………………………………………………. 45
AppArmor: контроль по именам………………………………………………………………………………………… 46
Smack: безопасность для встраиваемых систем…………………………………………………………….. 47
Tomoyo: контроль поведения……………………………………………………………………………………………. 47
Классические модели: Biba, MLS, BSD Extended……………………………………………………………. 48
Сертифицированный уровень: Astra Linux SE…………………………………………………………………. 48
Выводы……………………………………………………………………………………………………………………………………….. 49
Глава 4. Аутентификация и авторизация……………………………………………….. 50
Права доступа. Углубленное руководство по chmod, chown, chgrp……………………………………… 50
Настройка пользовательских окружений для повышения безопасности…………………………….. 51
Методы аутентификации: от паролей до MFA……………………………………………………………………….. 52
Система контроля доступа (ACL): расширяя стандартные права……………………………………….. 53
Настройка PAM для повышения безопасности………………………………………………………………………. 53
Системы управления секретами. HashiCorp Vault………………………………………………………………….. 55
Глава 5. Мониторинг системы, сервисов и пользовательской активности в Linux 57
Исторический и событийный мониторинг……………………………………………………………………………….. 57
Метамониторинг………………………………………………………………………………………………………………………… 57
Время отклика и SLA…………………………………………………………………………………………………………………. 57
Контроль нагрузки от мониторинга…………………………………………………………………………………………. 58
Мониторинг системных ресурсов…………………………………………………………………………………………….. 58
Мониторинг сетевых сервисов…………………………………………………………………………………………………. 58
Отслеживание активности пользователей………………………………………………………………………………. 58
Централизованный сбор логов…………………………………………………………………………………………………. 59
Автоматизация оповещений……………………………………………………………………………………………………… 59
Пример. Базовая настройка Zabbix………………………………………………………………………………………….. 59
Интерпретация данных и поведенческий анализ……………………………………………………………………. 60
Риски ложных срабатываний……………………………………………………………………………………………………. 60
Рекомендации…………………………………………………………………………………………………………………………….. 60
Глава 6. Песочницы для приложений…………………………………………………….. 62
Что такое песочница. Какие принципы лежат в ее основе…………………………………………………….. 62
Зачем использовать песочницы. Преимущества и случаи применения……………………………….. 63
Flatpak и Snap как системы распространения приложений со встроенными механизмами песочницы 64
Популярные решения………………………………………………………………………………………………………………… 64
Firejail: легкая изоляция через пространства имен………………………………………………………….. 64
gVisor: контейнеры с собственной реализацией системных вызовов……………………………. 65
Как работает gVisor………………………………………………………………………………………………….. 65
bubblewrap: контейнеризация для десктопа и не только………………………………………………… 66
chroot: изоляция по старинке…………………………………………………………………………………………….. 66
systemd-nspawn: изоляция на уровне systemd…………………………………………………………………. 66
seccomp и seccomp-bpf: фильтрация системных вызовов………………………………………………. 67
Примеры настройки песочницы для приложений…………………………………………………………………… 67
Изоляция браузера Firefox с помощью Firejail…………………………………………………………………. 68
Усиление безопасности системного сервиса через systemd…………………………………………… 68
Побег из песочницы: примеры выхода и защиты от этого…………………………………………………….. 68
Практический выбор………………………………………………………………………………………………………………….. 69
Глава 7. Выбор ядра и дистрибутива……………………………………………………… 70
Виды ядра…………………………………………………………………………………………………………………………………… 70
Generic Stable Kernel…………………………………………………………………………………………………………… 71
Libre Kernel………………………………………………………………………………………………………………………….. 71
Hardened Kernel………………………………………………………………………………………………………………….. 71
Выводы……………………………………………………………………………………………………………………………….. 72
Выбор дистрибутива…………………………………………………………………………………………………………………. 72
Безопасные дистрибутивы: от изоляции к анонимности……………………………………………….. 72
Whonix: анонимность и защита от слежки……………………………………………………………… 72
Qubes OS: модульная безопасность с помощью виртуализации………………………….. 73
Сертифицированные решения и российские дистрибутивы………………………………………………….. 74
Astra Linux Special Edition (SE)………………………………………………………………………………………….. 75
Реализация MAC в Astra Linux SE…………………………………………………………………………… 75
Поддержка аппаратных токенов и доверенной загрузки……………………………………… 76
Администрирование и сопровождение…………………………………………………………………… 76
РЕД ОС………………………………………………………………………………………………………………………………… 76
ALT Linux и ROSA……………………………………………………………………………………………………………… 77
Подбор дистрибутива для специализированных задач…………………………………………………………. 77
Глава 8. Системы инициализации…………………………………………………………. 78
systemd: комплексная модель управления и безопасности……………………………………………………. 78
Архитектура……………………………………………………………………………………………………………………….. 79
Механизмы безопасности…………………………………………………………………………………………………. 79
Анализ жесткой настройки……………………………………………………………………………………………….. 80
Контейнеризация и переносимость………………………………………………………………………………….. 80
OpenRC: модульная простота и ручной контроль…………………………………………………………………. 81
Архитектура……………………………………………………………………………………………………………………….. 81
Безопасность и ограничения…………………………………………………………………………………………….. 81
Преимущества…………………………………………………………………………………………………………………….. 82
Недостатки…………………………………………………………………………………………………………………………. 82
Runit: скорость, надежность, минимум кода…………………………………………………………………………… 82
Архитектура……………………………………………………………………………………………………………………….. 82
Безопасность………………………………………………………………………………………………………………………. 83
Преимущества…………………………………………………………………………………………………………………….. 83
Недостатки…………………………………………………………………………………………………………………………. 83
s6: надежность, изоляция, контроль…………………………………………………………………………………………. 83
Архитектура……………………………………………………………………………………………………………………….. 83
Механизмы безопасности…………………………………………………………………………………………………. 84
Преимущества…………………………………………………………………………………………………………………….. 84
Недостатки…………………………………………………………………………………………………………………………. 85
Сравнение систем инициализации…………………………………………………………………………………………… 85
Что выбирать и когда………………………………………………………………………………………………………………… 85
Практика. Жесткая настройка инициализации для безопасности………………………………………… 86
systemd: контроль через unit-файлы…………………………………………………………………………………. 86
OpenRC: контроль через скрипты…………………………………………………………………………………….. 87
Runit: контроль через chpst……………………………………………………………………………………………….. 87
s6: минимализм с предсказуемостью……………………………………………………………………………….. 87
Общие рекомендации………………………………………………………………………………………………………………… 87
Глава 9. Безопасность виртуализации……………………………………………………. 89
Основные угрозы и уязвимости в системах виртуализации…………………………………………………… 89
Обеспечение безопасности гипервизора…………………………………………………………………………………. 90
Изоляция и безопасность виртуальных машин………………………………………………………………………. 90
Безопасность сети в виртуальных системах…………………………………………………………………………… 91
Мониторинг и аудит в виртуальных системах……………………………………………………………………….. 91
Особенности безопасности контейнерной виртуализации……………………………………………………. 92
Безопасность хоста……………………………………………………………………………………………………………. 93
Rootless Docker и Podman………………………………………………………………………………………………….. 93
Безопасная сборка и запуск контейнеров………………………………………………………………………… 93
Изоляция и контроль………………………………………………………………………………………………………….. 94
Сеть и доступ……………………………………………………………………………………………………………………… 94
Аудит и секреты…………………………………………………………………………………………………………………. 94
Глава 10. Безопасность сети и коммуникаций……………………………………….. 95
Настройка сетевого стека…………………………………………………………………………………………………………. 95
Диагностика соединений…………………………………………………………………………………………………………… 95
iptables и nftables………………………………………………………………………………………………………………………… 96
iptables…………………………………………………………………………………………………………………………………. 96
Основные действия, которые могут быть выполнены с помощью iptables………….. 96
nftables………………………………………………………………………………………………………………………………… 97
Сравнение iptables и nftables: производительность и безопасность……………………………………… 98
Основные отличия iptables и nftables……………………………………………………………………………….. 98
Архитектура………………………………………………………………………………………………………………. 98
Синтаксис………………………………………………………………………………………………………………….. 98
Производительность…………………………………………………………………………………………………. 98
Применение правил…………………………………………………………………………………………………… 98
Примеры безопасности……………………………………………………………………………………………………… 99
Настройка NAT и проброс портов…………………………………………………………………………………………… 99
Пример NAT через iptables (SNAT, MASQUERADE)……………………………………………………….. 99
Проброс порта на внутренний сервер (DNAT)………………………………………………………………. 100
NAT на nftables…………………………………………………………………………………………………………………. 100
Фингерпринтинг и сетевые отпечатки……………………………………………………………………………………. 100
Защита от фингерпринтинга…………………………………………………………………………………………………… 100
Zero Trust: недоверие ко всем по умолчанию………………………………………………………………………… 101
Глава 11. Обеспечение целостности системы……………………………………….. 102
Настройка Integrity Policy Enforcement (IPE)………………………………………………………………………… 102
Основные понятия IPE……………………………………………………………………………………………………… 102
Проверка поддержки IPE в ядре……………………………………………………………………………………… 103
Настройка и компиляция IPE (при необходимости)……………………………………………………… 103
Настройка политики IPE…………………………………………………………………………………………………. 103
Пример базовой политики IPE……………………………………………………………………………….. 104
Создание политики на основе хеша файлов………………………………………………………… 104
Настройка политик на основе подписей………………………………………………………………. 104
Пример политики с разными правилами………………………………………………………………. 104
Настройка GRUB……………………………………………………………………………………………………. 105
Режимы работы IPE…………………………………………………………………………………………………………. 105
Режим аудита (Audit Mode)……………………………………………………………………………………. 105
Режим принуждения (Enforce Mode)……………………………………………………………………… 106
Мониторинг и журналирование……………………………………………………………………………. 106
Тестирование…………………………………………………………………………………………………………… 106
Применение атрибута immutable для контроля целостности системы……………………………….. 106
Мониторинг изменений: инструменты Tripwire, OSSEC, AIDE……………………………………………. 107
Tripwire: настройка и использование для безопасности Linux…………………………………….. 107
Инициализация базы данных………………………………………………………………………………… 108
Конфигурация политики………………………………………………………………………………………… 108
Обработка отчетов…………………………………………………………………………………………………. 108
Советы по использованию……………………………………………………………………………………… 108
OSSEC……………………………………………………………………………………………………………………………….. 109
Установка OSSEC……………………………………………………………………………………………………. 109
Конфигурация OSSEC…………………………………………………………………………………………….. 109
Проверка целостности файлов………………………………………………………………………………. 110
Уведомления и оповещения……………………………………………………………………………………. 110
Практическое использование и примеры……………………………………………………………… 110
AIDE………………………………………………………………………………………………………………………………….. 110
Установка AIDE………………………………………………………………………………………………………. 111
Автоматизация и уведомления………………………………………………………………………………. 111
Примеры использования AIDE для безопасности……………………………………………….. 112
Системы обнаружения вторжений (IDS): различные IDS, их настройка и использование. 112
Snort…………………………………………………………………………………………………………………………………… 112
Установка Snort………………………………………………………………………………………………………. 112
Конфигурация Snort………………………………………………………………………………………………… 112
Запуск Snort…………………………………………………………………………………………………………….. 113
Мониторинг и управление……………………………………………………………………………………… 113
Примеры использования Snort……………………………………………………………………………….. 113
Suricata………………………………………………………………………………………………………………………………. 114
Установка Suricata………………………………………………………………………………………………….. 114
Основная настройка……………………………………………………………………………………………….. 114
Правила и политики……………………………………………………………………………………………….. 115
Мониторинг и анализ……………………………………………………………………………………………… 115
Примеры использования Suricata………………………………………………………………………….. 115
Защита от атак с помощью доверенных приложений (LOTL-атаки)………………………………….. 115
Мониторинг и логирование…………………………………………………………………………………………….. 116
Примеры использования LOTL-атак………………………………………………………………………………. 117
Настройка dm-verity для проверки контрольных сумм файлов и обеспечения целостности 117
Принцип работы dm-verity………………………………………………………………………………………………. 117
Установка и настройка dm-verity…………………………………………………………………………………… 117
Создание образа файловой системы только для чтения…………………………………….. 117
Создание хеш-дерева……………………………………………………………………………………………… 118
Монтирование с проверкой целостности……………………………………………………………… 118
Обеспечение безопасности и целостности…………………………………………………………… 118