Защита и укрепление Linux
Практическое руководство по защите системы Linux от кибератак
Покупка
Новинка
Тематика:
UNIX, LINUX
Издательство:
ДМК Пресс
Автор:
Треволт Дональд А.
Перевод:
Слинкин Алексей Александрович
Год издания: 2023
Кол-во страниц: 620
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-93700-220-4
Артикул: 855994.01.99
В книге приводятся разнообразные способы укрепления безопасности операционной системы Linux. Вы узнаете, как защитить учетные записи администраторов и пользователей, настроить управление доступом к файлам и каталогам, предотвратить запуск нежелательных программ, а также многое другое. В конце глав приводятся вопросы на закрепление пройденного.
Книга адресована администраторам Linux независимо от того, специализируются они в области безопасности или нет. Описываемые методы можно использовать как на серверах, так и на рабочих станциях под управлением Linux. Предполагается, что читатель имеет практический опыт работы с командной строкой и знаком с основами Linux.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационная безопасность
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационная безопасность (сводная)
- Интермедиатор. Информационные системы и технологии (сводная)
- Операционные системы и программы-оболочки
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Дональд А. Треволт Защита и укрепление Linux
Donald A. Tevault Mastering Linux Security and Hardening A practical guide to protecting your Linux system from cyber attacks Third Edition BIRMINGHAM—MUMBAI
Дональд А. Треволт Защита и укрепление Linux Практическое руководство по защите системы Linux от кибератак Москва, 2023
УДК 004.04 ББК 32.372 Т66 Треволт Д. А. Т66 Защита и укрепление Linux / пер. с англ. А. А. Слинкина. – М.: ДМК Пресс, 2023. – 618 с.: ил. ISBN 978-5-93700-220-4 В книге приводятся разнообразные способы укрепления безопасности операционной системы Linux. Вы узнаете, как защитить учетные записи администраторов и пользователей, настроить управление доступом к файлам и каталогам, предотвратить запуск нежелательных программ, а также многое другое. В конце глав приводятся вопросы на закрепление пройденного. Книга адресована администраторам Linux независимо от того, специализируются они в области безопасности или нет. Описываемые методы можно использовать как на серверах, так и на рабочих станциях под управлением Linux. Предполагается, что читатель имеет практический опыт работы с командной строкой и знаком с основами Linux. УДК 004.04 ББК 32.372 Copyright © Packt Publishing 2023. First published in the English language under the title ‘Mastering Linux Security and Hardening, third edition – (9781837630516)ʼ. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-83763-051-6 (англ.) © 2023 Packt Publishing ISBN 978-5-93700-220-4 (рус.) © Перевод, оформление, издание, ДМК Пресс, 2023
Содержание От издательства.....................................................................................................17 Об авторе..................................................................................................................18 О рецензенте..........................................................................................................19 Предисловие...........................................................................................................20 Часть I. ПОДГОТОВКА БЕЗОПАСНОЙ LINUX-СИСТЕМЫ........23 Глава 1. Запуск Linux в виртуальной среде............................................24 Обзор угроз..................................................................................................................25 Откуда берутся бреши?..........................................................................................26 Быть в курсе новостей по безопасности..................................................................26 Различия между физической, виртуальной и облачной системами...................27 Знакомство с VirtualBox и Cygwin.............................................................................28 Установка виртуальной машины в VirtualBox....................................................29 Установка репозитория EPEL на виртуальную машину CentOS 7...................33 Установка репозитория EPEL на виртуальные машины AlmaLinux 8/9.........34 Конфигурирование сети для виртуальных машин в VirtualBox......................35 Создание моментального снимка виртуальной машины в VirtualBox..........36 Использование Cygwin для подключения к виртуальным машинам.............37 Установка Cygwin на компьютер под управлением Windows......................37 Использование клиента SSH в Windows 10 для взаимодействия с виртуальными машинами Linux........................................................................38 Использование клиента SSH в Windows 11 для взаимодействия с виртуальными машинами Linux........................................................................41 Сравнение Cygwin с оболочкой Windows........................................................41 Поддержание систем Linux в актуальном состоянии............................................41 Обновление систем на основе Debian.................................................................42 Конфигурирование автоматического обновления в Ubuntu...........................43 Обновление систем на основе Red Hat 7.............................................................45
Содержание Обновление систем на основе Red Hat 8/9..........................................................49 Управление обновлениями на предприятии.....................................................50 Резюме..........................................................................................................................51 Вопросы........................................................................................................................51 Для дополнительного чтения....................................................................................52 Ответы..........................................................................................................................52 Присоединяйтесь к сообществу................................................................................52 Глава 2. Защита административных учетных записей......................53 Риски входа в систему от имени root.......................................................................53 Преимущества использования sudo.........................................................................54 Задание привилегий sudo для пользователей с полными правами администратора..........................................................................................................56 Добавление пользователей в предопределенную группу администраторов....................................................................................................56 Создание записи в файле политики sudo...........................................................58 Задание привилегий sudo для пользователей, которым делегирована только часть прав........................................................................................................59 Практикум: назначение ограниченных привилегий sudo...............................63 Дополнительные приемы работы с sudo.................................................................64 Таймер sudo.............................................................................................................65 Просмотр своих привилегий sudo........................................................................65 Практикум: отключение таймера sudo...........................................................66 Предотвращение доступа к оболочке root со стороны пользователей...........67 Предотвращение выхода пользователей в оболочку........................................67 Предотвращение запуска других опасных программ пользователями.........70 Ограничение действий пользователя при вызове команд..............................71 Разрешение пользователям работать от имени других пользователей.........72 Предотвращение злоупотреблений с помощью пользовательских скриптов оболочки.................................................................................................73 Обнаружение и удаление учетных записей по умолчанию.............................74 Новые возможности sudo..........................................................................................76 Особенности sudo в SUSE и OpenSUSE.....................................................................76 Резюме..........................................................................................................................79 Вопросы........................................................................................................................79 Для дополнительного чтения....................................................................................80 Ответы..........................................................................................................................80 Глава 3. Защита обычных учетных записей...........................................81 Защита домашних каталогов пользователей в Red Hat........................................81 Защита домашних каталогов пользователей в Debian/Ubuntu............................83 useradd в Debian/Ubuntu........................................................................................83 adduser в Debian/Ubuntu........................................................................................84 Практикум: создание зашифрованного домашнего каталога с помощью adduser.............................................................................................86
Содержание Задание критериев стойкости паролей...................................................................86 Установка и конфигурирование pwquality..........................................................87 Практикум: задание критериев сложности пароля......................................90 Задание срока действия пароля и учетной записи................................................91 Задание данных об истечении срока действия для useradd в системах типа Red Hat.................................................................................................................92 Задание данных о сроке действия для каждой учетной записи в отдельности с помощью useradd и usermod.........................................................94 Задание данных о сроке действия для каждой учетной записи в отдельности с помощью chage...............................................................................96 Практикум: задание данных о сроке действия для учетной записи и пароля...............................................................................................................97 Предотвращение атак полным перебором.............................................................98 Конфигурирование PAM-модуля pam_tally2 в CentOS 7...................................99 Практикум: конфигурирование pam_tally2 в CentOS 7..............................100 Конфигурирование pam_faillock в AlmaLinux 8 и 9.........................................101 Практикум: конфигурирование pam_faillock в AlmaLinux 8 и 9...............102 Конфигурирование pam_faillock в Ubuntu 20.04 и Ubuntu 22.04....................103 Практикум: конфигурирование pam_faillock в Ubuntu 20.04 и Ubuntu 22.04...................................................................................................104 Блокировка учетных записей..................................................................................104 Блокировка учетной записи с помощью usermod...........................................105 Блокировка учетной записи с помощью passwd..............................................105 Блокировка учетной записи root............................................................................106 Настройка баннеров безопасности........................................................................107 Использование файла motd.................................................................................107 Использование файла issue.................................................................................108 Использование файла issue.net..........................................................................109 Обнаружение скомпрометированных паролей...................................................110 Практикум: обнаружение скомпрометированных паролей..........................113 Системы централизованного управления пользователями..............................114 Microsoft Active Directory.....................................................................................114 Samba в Linux.............................................................................................................115 FreeIPA (управление идентификацией) в дистрибутивах типа RHEL...........115 Резюме........................................................................................................................116 Вопросы......................................................................................................................117 Для дополнительного чтения..................................................................................118 Ответы........................................................................................................................118 Глава 4. Защита сервера с помощью брандмауэра, часть 1.........119 Технические требования..........................................................................................120 Обзор брандмауэров в Linux...................................................................................120 Обзор iptables............................................................................................................121 Основы iptables.....................................................................................................122 Блокирование ICMP с помощью iptables...........................................................126 Блокирование всего, что не разрешено, с помощью iptables........................128
Содержание Практикум: основы работы с iptables............................................................131 Блокирование недопустимых пакетов с помощью iptables...........................132 Восстановление удаленных правил...................................................................139 Практикум: блокирование недопустимых IPv4-пакетов...........................139 Защита IPv6............................................................................................................141 Практикум: работа с ip6tables........................................................................144 nftables – более универсальная система для построения брандмауэров.........145 Таблицы и цепочки nftables................................................................................146 Конфигурирование nftables в Ubuntu................................................................147 Использование команд nft..................................................................................150 Практикум: работа с nftables в Ubuntu..........................................................155 Резюме........................................................................................................................157 Вопросы......................................................................................................................158 Для дополнительного чтения..................................................................................159 Ответы........................................................................................................................159 Глава 5. Защита сервера с помощью брандмауэра, часть 2.........160 Технические требования..........................................................................................161 Uncomplicated Firewall для систем Ubuntu............................................................161 Конфигурирование ufw........................................................................................161 Работа с конфигурационными файлами ufw...................................................163 Практикум: основы работы с ufw...................................................................167 firewalld для систем Red Hat....................................................................................169 Проверка состояния firewalld..............................................................................169 Работа с зонами firewalld.....................................................................................170 Добавление служб в зону по умолчанию..........................................................174 Добавление портов в зону firewalld...................................................................178 Блокирование ICMP..............................................................................................179 Использование режима паники.........................................................................182 Протоколирование отброшенных пакетов.......................................................182 Использование развитых языковых правил firewalld.....................................184 Правила iptables в firewalld для RHEL/CentOS 7...............................................186 Создание прямых правил firewalld в RHEL/CentOS 7......................................188 Правила nftables для firewalld в RHEL/AlmaLinux 8 и 9...................................190 Создание прямых правил firewalld в RHEL/AlmaLinux...................................191 Практикум: команды firewalld........................................................................191 Резюме........................................................................................................................195 Вопросы......................................................................................................................195 Для дополнительного чтения..................................................................................196 Ответы........................................................................................................................196 Глава 6. Технологии шифрования..............................................................197 GNU Privacy Guard (GPG)..........................................................................................198 Практикум: создание собственных ключей GPG.............................................199
Содержание Практикум: симметричное шифрование собственных файлов....................201 Практикум: шифрование файлов открытыми ключами................................204 Практикум: подписание без шифрования........................................................208 Шифрование разделов с помощью Linux Unified Key Setup (LUKS)...................209 Шифрование диска в процессе установки операционной системы.............209 Практикум: добавление зашифрованного раздела с помощью LUKS......212 Конфигурирование автоматического монтирования раздела LUKS............216 Практикум: конфигурирование автоматического монтирования раздела LUKS.....................................................................................................217 Шифрование каталогов с помощью eCryptfs........................................................218 Практикум: шифрование домашнего каталога для учетной записи нового пользователя............................................................................................218 Создание частного каталога внутри существующего домашнего каталога..................................................................................................................219 Практикум: шифрование других каталогов с помощью eCryptfs.................221 Шифрование раздела swap с помощью eCryptfs..................................................223 Использование VeraCrypt для кросс-платформенного разделения зашифрованных контейнеров................................................................................224 Практикум: получение и установка VeraCrypt.................................................224 Практикум: создание и монтирование тома VeraCrypt в консольном режиме...............................................................................................................225 Работа с VeraCrypt в графическом режиме.......................................................228 OpenSSL и инфраструктура открытых ключей.....................................................229 Коммерческие удостоверяющие центры..........................................................230 Создание ключей, запросов на подписание сертификата и сертификатов.....................................................................................................233 Создание самоподписанного сертификата с ключом RSA.........................233 Создание самоподписанного сертификата с эллиптическим ключом....235 Создание ключа RSA и запроса на подписание сертификата....................235 Создание EC-ключа и CSR...............................................................................237 Создание локального УЦ.....................................................................................238 Практикум: настройка УЦ Dogtag..................................................................239 Добавление УЦ в операционную систему.........................................................243 Практикум: экспорт и импорт сертификата УЦ Dogtag.............................243 Импорт УЦ в Windows......................................................................................245 OpenSSL и веб-сервер Apache.............................................................................245 Укрепление Apache SSL/TLS в Ubuntu...........................................................246 Укрепление Apache SSL/TLS в RHEL 9/AlmaLinux 9.....................................247 Задание режима FIPS в RHEL 9/AlmaLinux 9................................................249 Укрепление Apache SSL/TLS в RHEL 7/CentOS 7...........................................251 Настройка взаимной аутентификации.............................................................252 Введение в квантово-стойкие алгоритмы шифрования.....................................252 Резюме........................................................................................................................253 Вопросы......................................................................................................................254 Для дополнительного чтения..................................................................................255 Ответы........................................................................................................................256
Содержание Глава 7. Укрепление SSH.................................................................................257 Запрет протокола SSH 1...........................................................................................258 Создание и управление ключами для входа без пароля.....................................258 Создание пользовательского набора ключей SSH...........................................259 Перенос открытого ключа на удаленный сервер.............................................262 Практикум: создание и перенос ключей SSH...............................................264 Запрет входа от имени root.................................................................................266 Запрет входа по имени пользователя и паролю..............................................267 Практикум: запрет входа по имени пользователя и паролю....................267 Включение двухфакторной аутентификации..................................................268 Практикум: настройка двухфакторной аутентификации в Ubuntu 22.04...................................................................................................269 Практикум: использование Google Authenticator в сочетании с обменом ключами в Ubuntu.........................................................................271 Практикум: настройка двухфакторной аутентификации в AlmaLinux 8.....................................................................................................272 Практикум: использование Google Authenticator в сочетании с обменом ключами в AlmaLinux 8................................................................274 Конфигурирование Secure Shell со стойкими алгоритмами шифрования..........................................................................................................274 Что такое алгоритмы шифрования в SSH.....................................................275 Сканирование с целью узнать, какие алгоритмы SSH разрешены...............278 Практикум: сканирование с помощью Nmap..............................................278 Запрещение слабых алгоритмов шифрования SSH.........................................280 Практикум: запрещение слабых алгоритмов шифрования SSH в Ubuntu 22.04...................................................................................................280 Практикум: запрет алгоритмов шифрования SSH в CentOS 7...................281 Задание системных политик шифрования в RHEL 8/9 и AlmaLinux 8/9......283 Практикум: задание политик шифрования в AlmaLinux 9........................284 Конфигурирование более подробного протоколирования............................285 Практикум: конфигурирование более подробного протоколирования SSH....................................................................................286 Конфигурирование управления доступом с помощью белых списков и TCP Wrappers...........................................................................................................287 Конфигурирование белых списков в sshd_config.............................................288 Практикум: конфигурирование белых списков в sshd_config...................288 Конфигурирование белых списков с помощью TCP Wrappers.......................290 Конфигурирование автоматического выхода из системы и баннеров безопасности.............................................................................................................291 Настройка автоматического выхода для локальных и удаленных пользователей.......................................................................................................291 Настройка автоматического выхода в sshd_config..........................................292 Создание предупредительного баннера безопасности..................................292 Конфигурирование прочих параметров безопасности.......................................293 Запрет проброса X11............................................................................................293 Запрет SSH-туннелей...........................................................................................294