Опубликовано

Встречайте: “Практическая безопасность Linux”

Практическая безопасность Linux

Рассмотрены практические аспекты обеспечения безопасности в Linux. Подробно описаны архитектура системы, уровни привилегий и механизмы управления доступом (DAC, MAC, SELinux, AppArmor). Даны рекомендации по настройке безопасной загрузки, аудиту, журналированию и контролю активности пользователей. Отдельное внимание уделено изоляции приложений, сетевой безопасности, защите данных и памяти, а также противодействию руткитам и вредоносному коду. Рассмотрены методы шифрования, усиления ядра и использования IDS/IPS-систем. Рассказано о защите памяти, настройке компилятора и усилении безопасности ядра. Завершающие главы посвящены расследованию инцидентов безопасности: сбору и анализу логов, использованию инструментов форензики, документированию, восстановлению и постинцидентному анализу.

Для системных администраторов и специалистов по информационной безопасности

Подробное руководство по защите операционной системы

Миф о том, что Linux по умолчанию безопасен, давно пора развеять. Эта книга — подробное практическое руководство по защите Linux-систем: от архитектуры ядра и модели прав доступа до расследования инцидентов безопасности. Она предоставляет все необходимые знания и инструменты для эффективной защиты операционной системы.

Издание ориентировано на системных администраторов, специалистов по информационной безопасности, ИТ-менеджеров и инженеров, которые стремятся глубже понять и укрепить защиту своих Linux-систем.

В книге рассматриваются:

  • Основы архитектуры Linux: как работает ядро, системные вызовы и управление памятью; механизмы безопасности ядра и пользовательского пространства
  • Безопасная загрузка: защита GRUB, Syslinux и UEFI Secure Boot от компрометации
  • Модели доступа и права: настройка многопользовательской безопасности, AppArmor и SELinux
  • Аутентификация и авторизация: SSH-ключи, двухфакторная аутентификация, управление правами с помощью chmod, chown и ACL
  • Песочницы для приложений: изоляция процессов с использованием Firejail и systemd-песочниц
  • Сетевые аспекты безопасности: настройка брандмауэров (iptables, nftables), VPN, SSH и предотвращение атак
  • Контроль целостности: использование Tripwire, AIDE и систем IDS для обнаружения вторжений
  • Антивирусы и руткиты: практические рекомендации по защите от вредоносных программ
  • Шифрование и защита памяти: LUKS, защита от переполнений буфера и атак холодной загрузки
  • Расследование инцидентов безопасности: методы сбора и анализа логов, сетевого трафика и снапшотов, использование инструментов форензики (Volatility, Autopsy, Sleuth Kit), документирование результатов и восстановление системы после инцидента

Книгу “Практическая безопасность Linux” можно купить в нашем интенет-магазине.

Предисловие…………………………………………………………………………………………… 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

Глава 12. Антивирусы и обнаружение руткитов…………………………………… 119

Зачем нужны антивирусы в Linux. Риски и случаи использования…………………………………….. 119

Инструменты для обнаружения скрытых процессов и модулей ядра в Linux…………………… 120

Шифровальщики………………………………………………………………………………………………………………………. 120

Майнеры…………………………………………………………………………………………………………………………………… 121

Руткиты и буткиты в Linux: что это такое и как они угрожают безопасности………………….. 121

Методы обнаружения руткитов: rkhunter, chkrootkit…………………………………………………………… 122

Примеры антивирусов для Linux……………………………………………………………………………………………. 122

Как защититься от вирусов, руткитов и буткитов………………………………………………………………… 124

Глава 13. Защита данных…………………………………………………………………….. 125

Инфраструктура публичных ключей (PKI) и безопасность в Linux……………………………………. 125

Доверие в PKI……………………………………………………………………………………………………………………. 125

Управление сертификатами в Linux……………………………………………………………………………….. 126

Выбор библиотеки SSL: OpenSSL и LibreSSL……………………………………………………………………….. 126

GNU Privacy Guard (GPG). Работа с ключами……………………………………………………………………….. 127

Типы ключей…………………………………………………………………………………………………………………….. 127

Генерация ключей……………………………………………………………………………………………………………. 127

Импорт и экспорт ключей……………………………………………………………………………………………….. 128

Шифрование файловой системы…………………………………………………………………………………………….. 129

dm-crypt…………………………………………………………………………………………………………………………….. 129

eCryptfs……………………………………………………………………………………………………………………………… 130

LUKS………………………………………………………………………………………………………………………………….. 131

VeraCrypt…………………………………………………………………………………………………………………………… 133

Опции разбиения на разделы и монтирования……………………………………………………………………… 134

Разбиение на разделы……………………………………………………………………………………………………… 134

Опции монтирования……………………………………………………………………………………………………….. 135

Файл /etc/fstab…………………………………………………………………………………………………………. 135

FUSE и его применение……………………………………………………………………………………………………………. 136

Применение FUSE-шифрования в контексте безопасности………………………………………….. 137

Рекомендации по использованию FUSE-шифрования………………………………………………….. 137

Безопасность хранения информации: LVM и RAID…………………………………………………………….. 137

Резервное копирование и восстановление данных. Лучшие практики и инструменты…….. 139

Инструменты для резервного копирования…………………………………………………………………… 140

Восстановление данных………………………………………………………………………………………………….. 140

План восстановления после аварий (DRP)…………………………………………………………………….. 141

Безопасное удаление данных: инструменты и методы……………………………………………………….. 142

Глава 14. Защита памяти в Linux…………………………………………………………. 144

Уязвимости памяти в Linux……………………………………………………………………………………………………… 144

Address Space Layout Randomization (ASLR)………………………………………………………………………… 145

Data Execution Prevention (DEP/NX)……………………………………………………………………………………….. 146

Stack Canaries в Linux……………………………………………………………………………………………………………… 146

Настройка компилятора………………………………………………………………………………………………….. 147

Control Flow Integrity (CFI) в Linux…………………………………………………………………………………………. 147

Примеры реализации CFI………………………………………………………………………………………………… 148

Сравнение SLUB с другими аллокаторами памяти в Linux с точки зрения безопасности.. 149

Выбор аллокатора…………………………………………………………………………………………………………… 150

hardened_malloc……………………………………………………………………………………………………………………….. 150

Настройка и использование……………………………………………………………………………………………. 151

Kernel Heap Hardening……………………………………………………………………………………………………………… 152

SELinux или AppArmor…………………………………………………………………………………………………….. 153

Безопасность файла подкачки……………………………………………………………………………………………….. 153

Основные меры по обеспечению безопасности файла подкачки………………………………… 153

Шифрование файла подкачки……………………………………………………………………………….. 153

Регулярная очистка файла подкачки……………………………………………………………………. 154

Мониторинг и ограничение использования файла подкачки…………………………….. 154

Что такое атака холодной загрузки……………………………………………………………………………………….. 154

Шифрование памяти………………………………………………………………………………………………………………… 155

Шифрование памяти и управление доступом в Intel SGX……………………………………………. 155

Шифрование памяти и управление доступом в AMD SEV…………………………………………… 155

Сравнение Intel SGX и AMD SEV……………………………………………………………………………………. 156

Защита от атак DMA……………………………………………………………………………………………………………….. 156

Отключение неиспользуемых портов…………………………………………………………………………….. 157

Использование безопасности сетевых устройств…………………………………………………………. 157

Мониторинг и обновления системы……………………………………………………………………………….. 157

Языки программирования, безопасные для памяти……………………………………………………………… 157

Rust……………………………………………………………………………………………………………………………………. 157

Python………………………………………………………………………………………………………………………………… 158

Java……………………………………………………………………………………………………………………………………. 158

Выводы……………………………………………………………………………………………………………………………………… 158

Глава 15. Усиление безопасности ядра Linux и компилятора……………….. 159

Kernel Self Protection Project (KSPP) и его роль в усилении безопасности ядра Linux……….. 160

Использование патчей Grsecurity/PaX и их возможности…………………………………………………….. 162

Утилита sysctl и ее роль в безопасности ядра Linux…………………………………………………………….. 163

Зачем использовать sysctl для безопасности…………………………………………………………………. 164

Основные параметры безопасности ядра, управляемые через sysctl………………………….. 164

Защита от подмены IP-адреса……………………………………………………………………………….. 164

Отключение перенаправления ICMP (пингов)……………………………………………………… 164

Отключение отправки ICMP-перенаправлений…………………………………………………… 164

Защита от атак SYN-флуд……………………………………………………………………………………… 164

Отключение ответа на широковещательные запросы………………………………………… 165

Отключение IP-перенаправления………………………………………………………………………….. 165

Ограничение доступа к памяти ядра…………………………………………………………………….. 165

Управление ASLR…………………………………………………………………………………………………… 165

Отключение дампов памяти для suid/sgid-файлов……………………………………………….. 165

Защита от форк-бомб……………………………………………………………………………………………… 166

Как применять настройки sysctl……………………………………………………………………………………… 166

Временное изменение параметров………………………………………………………………………… 166

Постоянное сохранение настроек…………………………………………………………………………. 166

Использование отдельного файла в директории /etc/sysctl.d/…………………………….. 166

Практические рекомендации по настройке sysctl для безопасности…………………………… 166

Уменьшение поверхности атаки на ядро Linux…………………………………………………………………….. 167

Способы уменьшения поверхности атаки на ядро……………………………………………………….. 167

Практические примеры уменьшения поверхности атаки…………………………………………….. 168

Отключение дампов ядра и его роль в обеспечении безопасности системы……………………… 169

Причины отключения дампов ядра………………………………………………………………………………… 169

Как отключить дампы ядра в Linux……………………………………………………………………………….. 169

Важные моменты при отключении дампов ядра…………………………………………………………… 170

Альтернативы отключению дампов……………………………………………………………………………….. 170

Дополнительные рекомендации……………………………………………………………………………………… 171

Внесение модулей ядра в черный список и обеспечение безопасности системы……………… 171

Почему важно блокировать определенные модули ядра…………………………………………….. 171

Внесение модулей в черный список……………………………………………………………………………….. 172

Способы блокировки модулей………………………………………………………………………………. 172

Особенности и предостережения…………………………………………………………………………… 173

Дополнительные меры безопасности…………………………………………………………………………….. 173

Практические примеры блокировки модулей……………………………………………………………….. 173

Самостоятельная компиляция ядра для усиления безопасности………………………………………… 174

Почему стоит самостоятельно компилировать ядро……………………………………………………. 174

Подготовка к компиляции ядра………………………………………………………………………………………. 175

Шаги по компиляции ядра………………………………………………………………………………………………. 175

Ключевые настройки для усиления безопасности……………………………………………………….. 176

Отключение ненужных модулей и функций…………………………………………………………. 176

Включение механизмов безопасности………………………………………………………………….. 176

Отключение неиспользуемых системных вызовов………………………………………………. 177

Включение Control Flow Integrity (CFI)…………………………………………………………………. 177

Включение Security Audit……………………………………………………………………………………….. 177

Компиляция и установка ядра………………………………………………………………………………………… 177

Проверка работы нового ядра………………………………………………………………………………………… 178

Дополнительные меры для обеспечения безопасности……………………………………………….. 178

Защита процессора при конфигурировании ядра Linux……………………………………………………… 178

Понимание уязвимостей процессора……………………………………………………………………………… 179

Настройка ядра Linux для защиты процессора……………………………………………………………. 179

Включение изоляции таблиц страниц ядра (Kernel Page Table Isolation, KPTI)… 179

Включение защиты от Spectre……………………………………………………………………………….. 179

Включение функции Microcode Update…………………………………………………………………. 180

Ограничение спекулятивного выполнения…………………………………………………………… 180

Включение Rogue Data Cache Load (RDCL) Mitigations……………………………………… 180

Использование Control-flow Enforcement Technology (CET)………………………………. 180

Обновление компилятора и использование защитных опций…………………………….. 181

Удаление устаревших и неиспользуемых функций…………………………………………….. 181

Ограничение доступа к отладочным интерфейсам……………………………………………… 181

Отслеживание состояния защиты………………………………………………………………………….. 181

Основы безопасности компиляции…………………………………………………………………………………………. 182

Использование опций безопасности компилятора……………………………………………………….. 182

Удаление отладочной информации из релизной версии……………………………………………… 183

Обзор ключевых опций безопасности компилятора GCC……………………………………………………. 184

Ключевые опции безопасности в GCC…………………………………………………………………………… 184

Защита стека (Stack Protector)……………………………………………………………………………….. 184

Усиление стандартных функций (Fortify Source)…………………………………………………. 185

Позиционно-независимый код (Position Independent Executable, PIE)……………….. 185

Защита разделов памяти (Relocation Read-Only, RELRO)………………………………….. 185

Address Sanitizer (ASan)…………………………………………………………………………………………… 186

Undefined Behavior Sanitizer (UBSan)……………………………………………………………………. 186

Контроль потока управления (Control Flow Integrity, CFI)………………………………….. 186

Предупреждения компилятора………………………………………………………………………………. 186

Ограничение размера исполняемых файлов………………………………………………………… 187

Лучшие практики при использовании опций безопасности GCC………………………. 187

Пример полной команды компиляции с опциями безопасности………………………… 187

Основные опции безопасности в Clang и их использование………………………………………………… 188

Основные опции безопасности в Clang………………………………………………………………………….. 188

Stack Canaries (Защита стека)……………………………………………………………………………….. 188

Address Sanitizer (ASan)…………………………………………………………………………………………… 189

Undefined Behavior Sanitizer (UBSan)……………………………………………………………………. 189

Memory Sanitizer (MSan)………………………………………………………………………………………… 189

Control Flow Integrity (CFI)……………………………………………………………………………………… 190

SafeStack………………………………………………………………………………………………………………….. 190

Fortify Source……………………………………………………………………………………………………………. 190

Position Independent Executables (PIE) и Position Independent Code (PIC)………….. 190

Relocation Read-Only (RELRO)………………………………………………………………………………. 191

Stack Clash Protection……………………………………………………………………………………………… 191

Рекомендации по использованию опций безопасности……………………………………………….. 191

Пример полного использования опций безопасности………………………………………………….. 192

Сравнение библиотек C с точки зрения безопасности: musl, glibc и др………………………………. 192

Сравнение библиотек C в контексте безопасности………………………………………………………. 192

Рекомендации по обеспечению безопасности при выборе библиотеки C………………….. 193

Глава 16. Безопасность приложений…………………………………………………….. 194

ModSecurity………………………………………………………………………………………………………………………………. 194

Fail2Ban…………………………………………………………………………………………………………………………………….. 195

Безопасные практики разработки. Принципы обеспечения безопасности на этапе разработки         196

Глава 17. Работа с уязвимостями………………………………………………………….. 198

Обновление системы……………………………………………………………………………………………………………….. 198

Общий стандарт уязвимостей (CWE). Классификация и понимание типов уязвимостей…. 199

Использование Security Advisories и CVE. Поиск и использование информации об уязвимостях         201

Инструменты для сканирования уязвимостей. Обзор и использование
популярных инструментов……………………………………………………………………………………………………… 202

Сравнение инструментов сканирования уязвимостей………………………………………………….. 202

Как использовать инструменты для сканирования уязвимостей………………………………… 203

Практика применения сканера OpenSCAP для поиска уязвимостей…………………………………… 204

Анализ результатов…………………………………………………………………………………………………………. 204

Использование разных профилей…………………………………………………………………………………… 204

Автоматизация и интеграция………………………………………………………………………………………….. 205

Глава 18. Расследование инцидентов безопасности……………………………… 206

Типы инцидентов. Классификация инцидентов и особенности каждого типа…………………… 207

Подготовка к расследованию инцидентов безопасности. Создание плана действий,
сбор команды, инструменты…………………………………………………………………………………………………… 208

Сбор команды…………………………………………………………………………………………………………………… 209

Необходимые инструменты……………………………………………………………………………………………. 209

Сбор и сохранение данных. Методы сбора логов, снапшотов системы,
сетевого трафика……………………………………………………………………………………………………………………… 210

Сбор логов………………………………………………………………………………………………………………………… 210

Создание снимков системы (снапшотов)……………………………………………………………………….. 210

Сбор сетевого трафика……………………………………………………………………………………………………. 211

Журналы системных служб…………………………………………………………………………………… 211

Журналы аутентификации…………………………………………………………………………………….. 212

Журналы приложений……………………………………………………………………………………………. 212

Инструменты для анализа логов…………………………………………………………………………………….. 212

Рекомендации по анализу логов…………………………………………………………………………………….. 212

Анализ сетевой активности. tcpdump и Wireshark — ваши защитники
от нежелательного трафика в Linux………………………………………………………………………………………. 213

tcpdump: быстрый и эффективный снифер командной строки…………………………………….. 213

Wireshark: мощный графический анализатор пакетов…………………………………………………. 214

Обнаружение подозрительного трафика……………………………………………………………………….. 214

Обнаружение вредоносных процессов в Linux. Утилиты lsof, netstat и другие методы……. 215

Идентификация подозрительных процессов…………………………………………………………………. 215

lsof: список открытых файлов…………………………………………………………………………………………. 215

netstat: информация о сетевых соединениях…………………………………………………………………. 216

Другие полезные утилиты……………………………………………………………………………………………….. 216

Форензика файловых систем Linux. Восстановление удаленных файлов
и анализ временных меток………………………………………………………………………………………………………. 216

Восстановление удаленных файлов………………………………………………………………………………. 217

Процесс восстановления………………………………………………………………………………………… 217

Анализ временнх меток…………………………………………………………………………………………………. 218

Использование инструментов форензики: Volatility, Autopsy, Sleuth Kit…………………………….. 218

Volatility…………………………………………………………………………………………………………………………….. 218

Получение дампа памяти……………………………………………………………………………………….. 219

Autopsy……………………………………………………………………………………………………………………………… 220

The Sleuth Kit…………………………………………………………………………………………………………………….. 221

Основные утилиты TSK………………………………………………………………………………………….. 221

Работа с образами дисков……………………………………………………………………………………… 222

Документирование и отчетность в расследовании инцидентов безопасности Linux: от анализа к действиям               222

Этапы документирования……………………………………………………………………………………………….. 222

Структура отчета…………………………………………………………………………………………………………….. 223

Рекомендации по дальнейшим действиям……………………………………………………………………… 224

Восстановление системы Linux после инцидента безопасности………………………………………… 224

Постинцидентный анализ: уроки из прошлого, безопасность будущего…………………………… 226

Правовые аспекты кибербезопасности Linux: взаимодействие
с правоохранительными органами и сохранение цепочки доказательств………………………… 227

Приказы, регулирующие взаимодействие с компетентными органами………………………. 227

Приказ № 524 ФСБ (для организаций, обрабатывающих ПД)…………………………… 227

Приказ № 17 ФСТЭК………………………………………………………………………………………………. 228

Приказ № 21 ФСТЭК………………………………………………………………………………………………. 228

Приказ № 31 (2024) ФСТЭК + приказ № 235………………………………………………………… 228

Взаимодействие с органами при расследовании………………………………………………………….. 228

Легализация данных для расследования……………………………………………………………… 229

Глава 19. Практические рекомендации………………………………………………… 231

Создание и поддержание безопасной среды Linux: ключевые аспекты…………………………….. 231

Лучшие практики безопасности Linux: свод рекомендаций……………………………………………….. 232

Заключение………………………………………………………………………………………….. 233

Будущее безопасности Linux: перспективы и новые технологии……………………………………….. 233

Ресурсы для дальнейшего изучения безопасности Linux: книги, курсы и сообщества…….. 234

Предметный указатель…………………………………………………………………………. 236

Опубликовано

Вышла книга”Astra Linux. 30 уроков для начинающих”

Astra Linux. 30 уроков для начинающих

В книге  30 уроков для пользователей, начинающих осваивать популярный отечественный дистрибутив Astra Linux. С позиции пользователя описано решение типичных задач – от установки дистрибутива и настройки  графического интерфейса Fly до простейшего администрирования системы.  Рассмотрены настольные приложения, такие как офисный пакет LibreOffice, графический редактор GIMP, мультимедиа-программы для просмотра видео и воспроизведения музыки. Приведены инструкции по запуску Windows-приложений и установке популярных мессенджеров (Skype, Telegram, Viber) на компьютер. Также затронуты  вопросы, установки ОС на физический и виртуальный компьютер, подключения двух мониторов и других дополнительных устройств. Для закрепления материала даны контрольные вопросы и самостоятельные упражнения.

Для широкого круга пользователей

Осваиваем отечественный дистрибутив Astra Linux

В книге  30 уроков для пользователей, начинающих осваивать популярный отечественный дистрибутив Astra Linux, который широко внедряется в последнее время с целью замены Microsoft Windows. С позиции пользователя описано решение типичных задач – от установки дистрибутива до простейшего администрирования системы. Рассмотрены настольные приложения, такие как офисный пакет LibreOffice, мультимедиа-программы для просмотра видео и воспроизведения музыки. Приведены инструкции по запуску Windows-приложений и установке популярных мессенджеров.  Дополнительно затронуты  вопросы, установки операционной системы на физический и виртуальный компьютер, подключения двух мониторов и других дополнительных устройств. Для закрепления материала даны контрольные вопросы и самостоятельные упражнения.

  • Установка системы
  • Кастомизация графического интерфейса Fly
  • Настройка и защита сети
  • Установка мессенджеров Viber, Telegram, Skype
  • Мультимедиа-программы
  • Офисный пакет LibreOffice
  • Графический редактор GIMP
  • Подключение смартфона к компьютеру (iPhone, Android)
  • Начальные навыки администрирования
  • Работа с устройствами: подключение принтера, жесткого диска и дополнительного монитора

Книгу “Astra Linux. 30 уроков для начинающих” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие…………………………………………………………………………………………… 11

Часть I. Начало работы………………………………………………………………… 13

Урок 1. Установка дистрибутива……………………………………………………………. 15

1.1. Получение дистрибутива…………………………………………………………………………………………………… 15

1.2. Подготовка к установке……………………………………………………………………………………………………… 16

1.2.1. Подготовка к установке на физический компьютер………………………………………………. 16

Создание загрузочной флешки……………………………………………………………………………….. 16

Загрузка дистрибутива с USB-накопителя…………………………………………………………….. 18

1.2.2. Подготовка к установке на виртуальный компьютер……………………………………………. 18

Установка гостевой операционной системы…………………………………………………………. 23

1.3. Выбор типа установки……………………………………………………………………………………………………….. 23

1.4. Выбор способа переключения раскладки клавиатуры…………………………………………………… 25

1.5. Установка имени компьютера……………………………………………………………………………………………. 25

1.6. Создание локального пользователя………………………………………………………………………………….. 26

1.7. Установка часового пояса…………………………………………………………………………………………………. 28

1.8. Разметка жесткого диска……………………………………………………………………………………………………. 29

1.9. Выбор компонентов системы…………………………………………………………………………………………….. 37

1.10. Дополнительные настройки ОС………………………………………………………………………………………. 39

1.11. Установка загрузчика GRUB и завершение установки…………………………………………………. 40

1.12. Выбор уровня защищенности………………………………………………………………………………………….. 42

1.13. Самостоятельные упражнения………………………………………………………………………………………… 46

Урок 2. Интерфейс пользователя, вход в систему и завершение работы…. 47

2.1. Меню загрузчика………………………………………………………………………………………………………………… 47

2.2. Вход в систему…………………………………………………………………………………………………………………….. 49

2.3. Рабочий стол Fly…………………………………………………………………………………………………………………. 50

2.4. Настройка автоматического входа в систему………………………………………………………………….. 52

2.5. Завершение работы…………………………………………………………………………………………………………….. 52

2.6. Контрольные вопросы и самостоятельные упражнения…………………………………………………. 55

Урок 3. Кастомизация интерфейса пользователя……………………………………. 56

3.1. Настройка панели быстрого запуска……………………………………………………………………………….. 56

3.2. Настройка панели задач……………………………………………………………………………………………………. 57

3.2.1. Смена расположения панели задач………………………………………………………………………… 57

3.2.2. Изменение размера панели задач……………………………………………………………………………. 57

3.2.3. Делаем панель задач компактнее……………………………………………………………………………. 59

3.2.4. Автоматическое сокрытие панели задач……………………………………………………………….. 60

3.3. Переключатель рабочих столов………………………………………………………………………………………… 60

3.4. Изменение разрешения рабочего стола……………………………………………………………………………. 62

3.5. Смена обоев…………………………………………………………………………………………………………………………. 63

3.6. Изменение темы оформления……………………………………………………………………………………………… 65

3.7. Изменение параметров блокировки…………………………………………………………………………………… 67

3.8. Панель управления……………………………………………………………………………………………………………… 67

3.8.1. Редактирование главного меню………………………………………………………………………………. 70

3.8.2. Изменение раскладки клавиатуры………………………………………………………………………….. 71

3.8.3. Менеджер устройств………………………………………………………………………………………………… 72

3.8.4. Изменение параметров электропитания…………………………………………………………………. 72

3.9. Контрольные вопросы и самостоятельные упражнения…………………………………………………. 74

Урок 4. Командная строка……………………………………………………………………… 75

4.1. Способы доступа к командной строке……………………………………………………………………………… 75

4.2. Автодополнение командной строки………………………………………………………………………………….. 76

4.3. Получение справки по команде…………………………………………………………………………………………. 77

4.4. Некоторые базовые команды Linux………………………………………………………………………………….. 77

4.4.1. Перенаправление ввода/вывода……………………………………………………………………………… 77

4.4.2. Команда clear — очистка экрана……………………………………………………………………………. 79

4.4.3. Команды free и df — информация о системных ресурсах…………………………………….. 79

4.4.4. Команды w, who и whoami — информация о пользователях………………………………… 80

4.4.5. Команды top и htop — вывод информации о запущенных процессах………………… 80

4.4.6. Команды more и less — постраничный вывод……………………………………………………….. 83

4.5. Самостоятельные упражнения………………………………………………………………………………………….. 83

Часть II. Сеть и Интернет……………………………………………………………… 85

Урок 5. Настройка соединения с Интернетом………………………………………… 87

5.1. Настройка подключения по локальной сети……………………………………………………………………. 87

5.2. Подключаемся по Wi-Fi………………………………………………………………………………………………………. 89

5.3. Используем сторонние DNS……………………………………………………………………………………………….. 91

5.4. Файлы конфигурации сети в Linux……………………………………………………………………………………. 92

5.5. Самостоятельные упражнения………………………………………………………………………………………….. 94

Урок 6. Защита соединения с помощью VPN…………………………………………. 95

6.1. Вкратце о VPN…………………………………………………………………………………………………………………….. 95

6.2. Настройка VPN в Astra Linux…………………………………………………………………………………………….. 96

6.3. Самостоятельные упражнения………………………………………………………………………………………… 102

Урок 7. Конфигурация сети………………………………………………………………….. 103

7.1. Имена сетевых интерфейсов…………………………………………………………………………………………….. 103

7.2. Сервис network-manager: перезапуск сети……………………………………………………………………… 104

7.3. Утилита nm-connection-editor………………………………………………………………………………………….. 105

7.4. Маршрутизация………………………………………………………………………………………………………………… 107

7.4.1. Просмотр таблицы маршрутизации……………………………………………………………………… 108

7.4.2. Изменение таблицы маршрутизации……………………………………………………………………. 109

7.4.3. Сохранение маршрутов после перезапуска системы…………………………………………. 111

7.5. Команды диагностики сети……………………………………………………………………………………………… 112

7.6. Самостоятельные упражнения………………………………………………………………………………………… 114

Урок 8. Настройка брандмауэра…………………………………………………………… 115

8.1. Немного теории: что такое брандмауэр?……………………………………………………………………….. 115

8.2. Базовая настройка UFW…………………………………………………………………………………………………… 117

8.3. Создание правил для сервисов………………………………………………………………………………………… 119

8.4. Разрешаем IP-адреса………………………………………………………………………………………………………… 120

8.5. Запрещаем IP-адреса и службы………………………………………………………………………………………. 120

8.6. Удаление/сброс правил……………………………………………………………………………………………………. 120

8.7. Графический конфигуратор брандмауэра……………………………………………………………………… 121

8.8. Самостоятельные упражнения………………………………………………………………………………………… 123

Часть III. Программы и приложения…………………………………….. 125

Урок 9. Установка программ и приложений…………………………………………. 127

9.1. Способы установки программ в Linux……………………………………………………………………………. 127

9.2. Репозитории пакетов………………………………………………………………………………………………………… 129

9.3. Программы для управления пакетами……………………………………………………………………………. 130

9.3.1. Программа apt………………………………………………………………………………………………………… 130

9.3.2. Графический менеджер пакетов Synaptic…………………………………………………………….. 133

9.4. Снапы…………………………………………………………………………………………………………………………………. 137

9.4.1. Теория……………………………………………………………………………………………………………………… 137

9.4.2. Практика………………………………………………………………………………………………………………….. 138

9.5. Самостоятельные упражнения………………………………………………………………………………………… 142

Урок 10. Приложения для работы с Интернетом…………………………………… 143

10.1. Установка мессенджеров Skype, Viber, Telegram…………………………………………………………. 143

10.1.1. Установка Skype…………………………………………………………………………………………………. 143

10.1.2. Установка мессенджера Viber (альтернативный способ установки пакетов). 147

10.1.3. Установка Telegram……………………………………………………………………………………………. 150

10.2. Веб-браузер Chromium…………………………………………………………………………………………………… 153

10.3. Торрент-клиент……………………………………………………………………………………………………………….. 153

10.4. Нужен ли вам почтовый клиент?…………………………………………………………………………………… 158

10.5. Контрольные вопросы и самостоятельные упражнения…………………………………………….. 158

Урок 11. Офисные приложения……………………………………………………………. 159

11.1. Текстовый процессор……………………………………………………………………………………………………… 159

11.1.1. Создание нового документа………………………………………………………………………………. 159

11.1.2. Открытие и сохранение документов…………………………………………………………………. 161

11.1.3. Ввод, выделение и форматирование текста……………………………………………………… 163

Ввод текста…………………………………………………………………………………………………………. 163

Выделение текста……………………………………………………………………………………………….. 166

Форматирование текста…………………………………………………………………………………….. 166

11.1.4. Дополнительные панели инструментов……………………………………………………………. 167

11.1.5. Работа с буфером обмена………………………………………………………………………………….. 168

11.1.6. Вставка картинок……………………………………………………………………………………………….. 168

11.1.7. Параметры абзаца……………………………………………………………………………………………… 170

11.1.8. Нумерованные и маркированные списки…………………………………………………………. 172

11.1.9. Таблицы………………………………………………………………………………………………………………. 174

11.1.10. Проверка правописания…………………………………………………………………………………… 176

11.1.11. Несколько колонок…………………………………………………………………………………………… 177

11.2. Электронная таблица…………………………………………………………………………………………………….. 178

11.2.1. Ввод данных в ячейки………………………………………………………………………………………… 179

11.2.2. Выделение ячеек…………………………………………………………………………………………………. 181

11.2.3. Адреса ячеек и диапазоны данных…………………………………………………………………… 182

11.2.4. Функции LibreOffice Calc……………………………………………………………………………………. 182

11.2.5. Диаграммы………………………………………………………………………………………………………….. 186

11.3. Создание PDF-документа……………………………………………………………………………………………….. 190

11.4. Самостоятельные упражнения………………………………………………………………………………………. 191

Урок 12. Мультимедиаприложения. Кодеки…………………………………………. 192

12.1. Установленные мультимедиаприложения……………………………………………………………………. 192

12.2. Воспроизведение музыки……………………………………………………………………………………………….. 193

12.2.1. В аудиоплеере Clementine…………………………………………………………………………………. 193

12.2.2. В плеере Qmmp…………………………………………………………………………………………………… 194

12.3. Воспроизведение видео………………………………………………………………………………………………….. 195

12.4. Решение проблем…………………………………………………………………………………………………………….. 196

12.5. Самостоятельные упражнения………………………………………………………………………………………. 197

Урок 13. Просмотр и редактирование фотографий……………………………….. 198

13.1. Утилита Gwenview………………………………………………………………………………………………………….. 198

13.1.1. Изменение размера фото……………………………………………………………………………………. 199

13.1.2. Поворот и отражение фотографии……………………………………………………………………. 201

13.1.3. Кадрирование……………………………………………………………………………………………………… 202

13.1.4. Устранение эффекта красных глаз……………………………………………………………………. 203

13.2. Графический редактор GIMP………………………………………………………………………………………… 204

13.2.1. Загрузка и сохранение изображений………………………………………………………………… 205

13.2.2. Основные инструменты GIMP…………………………………………………………………………… 206

Инструменты выделения……………………………………………………………………………………. 208

Инструменты рисования……………………………………………………………………………………. 216

Инструменты цвета…………………………………………………………………………………………….. 218

Цветовой баланс…………………………………………………………………………………………………. 218

Инструменты преобразования………………………………………………………………………….. 222

Прочие инструменты………………………………………………………………………………………….. 225

13.3. Самостоятельные упражнения………………………………………………………………………………………. 225

Урок 14. Интеграция компьютера со смартфоном………………………………… 226

14.1. Необходимость интеграции…………………………………………………………………………………………… 226

14.2. Интеграция с Android-смартфоном……………………………………………………………………………….. 226

14.2.1. Беспроводной способ…………………………………………………………………………………………. 226

14.2.2. Используем кабель для передачи файлов………………………………………………………… 231

14.3. Интеграция с iPhone………………………………………………………………………………………………………… 232

14.4. Самостоятельные упражнения………………………………………………………………………………………. 236

Урок 15. Проект Wine: запуск Windows-приложений……………………………. 237

15.1. Установка Wine……………………………………………………………………………………………………………….. 238

15.2. Настройка Wine после установки…………………………………………………………………………………. 239

15.3. Установка и запуск Windows-программы…………………………………………………………………….. 240

15.4. Самостоятельные упражнения………………………………………………………………………………………. 243

Часть IV. Файловая система……………………………………………………. 245

Урок 16. Работа с файлами и каталогами…………………………………………….. 247

16.1. Особенности файловой системы Linux…………………………………………………………………………. 247

16.1.1. Имена файлов в Linux…………………………………………………………………………………………. 247

16.1.2. Файлы и устройства…………………………………………………………………………………………… 248

16.1.3. Стандартные каталоги Linux…………………………………………………………………………….. 249

16.2. Команды для работы с файлами и каталогами……………………………………………………………. 249

16.2.1. Работа с файлами……………………………………………………………………………………………….. 249

16.2.2. Работа с каталогами…………………………………………………………………………………………… 251

16.3. Использование ссылок. Команда ln………………………………………………………………………………. 253

16.3.1. Жесткие и мягкие ссылки……………………………………………………………………………………. 253

16.3.2. Создание ссылок…………………………………………………………………………………………………. 254

16.3.3. Определение ссылок…………………………………………………………………………………………… 254

16.3.4. Удаление файлов и жесткие ссылки………………………………………………………………….. 255

16.3.5. Разница между копированием и созданием жесткой ссылки………………………….. 256

16.4. Команды поиска файлов: find, which и locate………………………………………………………………. 256

16.5. Графический файловый менеджер………………………………………………………………………………… 258

16.5.1. Знакомство с программой………………………………………………………………………………….. 258

16.5.2. Копирование файлов и каталогов…………………………………………………………………….. 259

16.5.3. Перемещение файлов и каталогов…………………………………………………………………….. 260

16.5.4. Переименование файлов и каталогов……………………………………………………………….. 261

16.5.5. Создание файлов и каталогов……………………………………………………………………………. 261

16.5.6. Изменение прав доступа к файлам и каталогам………………………………………………. 261

16.5.7. Удаление файлов и каталогов…………………………………………………………………………… 263

16.6. Сжатие и распаковка……………………………………………………………………………………………………… 263

16.7. Самостоятельные упражнения………………………………………………………………………………………. 263

Урок 17. Работа со сменными носителями. Монтирование…………………… 265

17.1. Корневая файловая система………………………………………………………………………………………….. 265

17.2. Монтирование и размонтирование……………………………………………………………………………….. 266

17.3. Файлы устройств и монтирование………………………………………………………………………………… 267

17.3.1. Жесткие диски…………………………………………………………………………………………………….. 267

17.3.2. Приводы оптических дисков……………………………………………………………………………… 268

17.3.3. Флешки и внешние жесткие диски…………………………………………………………………….. 269

17.4. Параметры монтирования файловых систем……………………………………………………………….. 270

17.5. Монтирование разделов при загрузке………………………………………………………………………….. 271

17.6. Идентификаторы UUID…………………………………………………………………………………………………… 273

17.7. Самостоятельные упражнения………………………………………………………………………………………. 275

Урок 18. Особые операции с файловой системой…………………………………. 276

18.1. Монтирование ISO-образа…………………………………………………………………………………………….. 276

18.2. Создание файловой системы…………………………………………………………………………………………. 277

18.3. Проверка и восстановление файловой системы…………………………………………………………… 277

18.4. Смена корневой файловой системы………………………………………………………………………………. 278

18.5. Ограничение скорости CD/DVD…………………………………………………………………………………….. 278

18.6. Монтирование каталога к каталогу……………………………………………………………………………… 278

18.7. Примеры использования команды dd……………………………………………………………………………. 279

18.7.1. Копирование файлов с помощью dd…………………………………………………………………. 279

18.7.2. Разделение файла на несколько частей……………………………………………………………. 280

18.7.3. Создание резервной копии жесткого диска……………………………………………………… 281

18.7.4. Создание архива с резервной копией всего жесткого диска…………………………… 281

18.7.5. Уничтожение всех данных раздела жесткого диска……………………………………….. 281

18.8. Самостоятельные упражнения………………………………………………………………………………………. 282

Урок 19. Права доступа………………………………………………………………………… 283

19.1. Концепция прав доступа………………………………………………………………………………………………… 283

19.2. Смена владельца файла…………………………………………………………………………………………………. 288

19.3. Групповое изменение прав доступа……………………………………………………………………………… 288

19.4. Специальные права доступа: SUID и SGID………………………………………………………………….. 288

19.5. Атрибуты файла. Запрет изменения файла………………………………………………………………….. 289

19.6. Контрольные вопросы и самостоятельные упражнения…………………………………………….. 290

Урок 20. Управление учетными записями пользователей…………………….. 291

20.1. Пользователь root……………………………………………………………………………………………………………. 291

20.2. Команда sudo………………………………………………………………………………………………………………….. 294

20.3. Команда su………………………………………………………………………………………………………………………. 296

20.4. Создание и удаление пользователей…………………………………………………………………………….. 296

20.5. Группы пользователей…………………………………………………………………………………………………… 298

20.6. Конфигуратор Политика безопасности………………………………………………………………………. 299

20.6.1. Включение ввода пароля для sudo……………………………………………………………………. 305

20.6.2. Блокировка перезагрузки и выключения для пользователей…………………………. 305

20.6.3. Задание глобального счетчика неудачных попыток входа…………………………… 305

20.6.4. Задание сложности пароля……………………………………………………………………………….. 305

20.7. Контрольные вопросы и самостоятельные упражнения…………………………………………….. 306

Урок 21. Шифрование файловой системы……………………………………………. 307

21.1. Шифрование с помощью ECryptfs…………………………………………………………………………………. 307

21.2. Флешка для хранения пароля………………………………………………………………………………………… 310

21.3. Самостоятельные упражнения………………………………………………………………………………………. 311

Часть V. Аппаратные средства………………………………………………… 313

Урок 22. Получение информации о ПК. Псевдофайловые системы………. 315

22.1. Виртуальная файловая система sysfs…………………………………………………………………………… 315

22.2 Виртуальная файловая система proc…………………………………………………………………………….. 319

22.2.1. Информационные файлы……………………………………………………………………………………. 319

22.2.2. Файлы, позволяющие изменять параметры ядра…………………………………………….. 321

22.2.3. Файлы, изменяющие параметры сети……………………………………………………………….. 321

22.2.4. Файлы, изменяющие параметры виртуальной памяти……………………………………. 322

22.2.5. Файлы, позволяющие изменить параметры файловых систем………………………. 322

22.2.6. Сохранение произведенных изменений……………………………………………………………. 323

22.3. Самостоятельные упражнения………………………………………………………………………………………. 323

Урок 23. Подключение принтера………………………………………………………….. 324

23.1. Подключение принтера………………………………………………………………………………………………….. 324

23.2. Печать проверочной страницы……………………………………………………………………………………… 329

23.3. Печать первого документа…………………………………………………………………………………………….. 329

23.4. Установка опций печати………………………………………………………………………………………………… 329

23.5. Самостоятельные упражнения………………………………………………………………………………………. 331

Урок 24. Настройка жесткого диска…………………………………………………….. 332

24.1. Физическое подключение жесткого диска……………………………………………………………………. 332

24.2. Разметка жесткого диска………………………………………………………………………………………………… 333

24.3. Монтирование новых разделов…………………………………………………………………………………….. 337

24.4. Контрольные вопросы и самостоятельные упражнения…………………………………………….. 338

Урок 25. Подключение двух мониторов……………………………………………….. 339

25.1. Физическое подключение двух мониторов к компьютеру………………………………………….. 339

25.2. Настройка системы………………………………………………………………………………………………………… 341

25.3. Контрольные вопросы……………………………………………………………………………………………………. 347

Часть VI. Cистемное администрирование…………………………. 349

Урок 26. Нештатные ситуации…………………………………………………………….. 351

26.1. Разбор нештатной ситуации………………………………………………………………………………………….. 351

26.2. Восстановление пароля root………………………………………………………………………………………….. 354

26.3. Чтение логов……………………………………………………………………………………………………………………. 355

26.3.1. Установка времени……………………………………………………………………………………………… 356

26.3.2. Просмотр и фильтрация логов…………………………………………………………………………… 356

26.3.3. Фильтр по дате……………………………………………………………………………………………………. 356

26.3.4. Фильтр по сервису………………………………………………………………………………………………. 357

26.3.5. Фильтр по пути……………………………………………………………………………………………………. 358

26.3.6. Фильтр по процессу или пользователю……………………………………………………………. 358

26.3.7. Просмотр сообщений ядра………………………………………………………………………………… 358

26.3.8. Фильтр по уровню ошибки………………………………………………………………………………… 358

26.3.9. Журналы в реальном времени…………………………………………………………………………… 359

26.4. Самостоятельные упражнения………………………………………………………………………………………. 359

Урок 27. Процесс загрузки системы……………………………………………………… 360

27.1. Назначение загрузчика………………………………………………………………………………………………….. 360

27.2. Конфигурационный файл GRUB2…………………………………………………………………………………. 361

27.3. Установка пароля загрузчика……………………………………………………………………………………….. 364

27.4. Загрузка с ISO-образов…………………………………………………………………………………………………… 366

27.5. Загрузка Windows……………………………………………………………………………………………………………. 367

27.6. Восстановление загрузчика GRUB/GRUB2…………………………………………………………………. 367

27.7. Запрет загрузки в режиме восстановления. Задание тайм-аута………………………………… 368

27.8. Самостоятельные упражнения………………………………………………………………………………………. 369

Урок 28. Системные службы………………………………………………………………… 370

28.1. Сервисы, службы, демоны……………………………………………………………………………………………… 370

28.2. Терминология systemd……………………………………………………………………………………………………. 372

28.3. Управление службами в Astra Linux……………………………………………………………………………… 373

28.4. Самостоятельные упражнения………………………………………………………………………………………. 375

Урок 29. Выполнение команд по расписанию………………………………………. 376

29.1. Редактирование основной таблицы расписания планировщика……………………………….. 376

29.2. Редактирование пользовательской таблицы расписания…………………………………………… 378

29.3. Добавление собственной записи в таблицу расписания…………………………………………….. 379

29.4. Использование панели управления для редактирования таблицы расписания……….. 381

29.5. Самостоятельные упражнения………………………………………………………………………………………. 383

Урок 30. Автоматизация задач……………………………………………………………… 384

30.1. Настройка оболочки………………………………………………………………………………………………………. 384

30.2. Пример простейшей автоматизации……………………………………………………………………………… 386

30.3. Привет, мир!…………………………………………………………………………………………………………………….. 387

30.4. Использование переменных в собственных сценариях………………………………………………. 388

30.5. Передача параметров сценарию…………………………………………………………………………………… 389

30.6. Массивы и bash……………………………………………………………………………………………………………….. 390

30.7. Циклы……………………………………………………………………………………………………………………………….. 390

30.8. Условные операторы……………………………………………………………………………………………………… 391

30.9. Функции…………………………………………………………………………………………………………………………… 392

30.10. Примеры сценариев………………………………………………………………………………………………………. 393

30.10.1. Сценарий мониторинга журнала………………………………………………………………….. 393

30.10.2. Переименование файлов………………………………………………………………………………… 393

30.10.3. Преобразование систем счисления……………………………………………………………….. 394

30.10.4. Проверка прав пользователя…………………………………………………………………………. 394

30.10.5. Генератор имени временного файла…………………………………………………………….. 395

30.10.6. Проверка свободного дискового пространства с уведомлением по электронной почте            395

30.11. Самостоятельные упражнения……………………………………………………………………………………. 396

Заключение………………………………………………………………………………………….. 397

Предметный указатель…………………………………………………………………………. 398

Евгений Андреев, инженер-программист и системный администратор. Имеет более чем двадцатилетний опыт работы с операционной системой Linux в самых различных вариантах – от встраиваемых систем до серверов