, Практическая автоматизация предприятия в Linux

Практическая автоматизация предприятия в Linux

Джеймс Фриман

 

Первая публикация на английском языке: Январь 2020

Ссылка на продукт: 1240120

Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или передана в любой форме или любыми средствами без предварительного письменного разрешения издателя, за исключением случаев кратких цитат, встроенных в критические статьи и обзоры.

При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.

Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.

Опубликовано Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK

ISBN 978-1-78913-161-1

www.packtpub.com

2020-01-31

 Состав исполнителей

Автор
Джеймс Фриман
Редактор ввода в эксплуатацию
Вайджин Борича
Редактор приобретения
Роухит Раджкумар
Редактор разработки содержимого
Эйлокайта Эйманна
Главный редактор
Рэйхул Джошуа
Технический редактор
Прачи Сэйвант
Литературный редактор
Safis Editing
Координатор проекта
Вайдихи Савант
Корректор
Safis Editing
Составитель указателя
Прэйтик Широдкар
Технолог
Найлиш Моухайт

 Об авторе

Джеймс Фриман

 Рецензент

Гэйрис Кофей

 www.PacktPub.com

 Предисловие

 Для кого эта книга

 Что охватывает эта книга

Глава 1. Построение стандартной среды работы в Linux

Глава 2. Автоматизация вашей инфраструктуры ИТ при помощи Ansible

Глава 3. Оптимизация управления инфраструктурой при помощи AWX

Глава 4. Методологии развёртывания

Глава 5. Применение Ansible для создания шаблонов виртуальных машин развёртывания

Глава 6. Персональные сборки с PXE загрузкой

Глава 7. Управление настройками при помощи Ansible

Глава 8. Управление репозиторием предприятия при помощи Pulp

Глава 9. Внесение исправлений при помощи Katello

Глава 10. Управление пользователями Linux

Глава 11. Управление базой данных

Глава 12. Выполнение обычного обслуживания при помощи Ansible

Глава 13. Применение эталонного тестирования CIS

Глава 14. Упрочнение CIS при помощи Ansible

Глава 15. Аудит политик безопасности при помощи OpenSCAP

Глава 16. Советы и уловки

 Как получить от этой книги больше пользы

 Загрузка примеров кода

Вы можете загрузить файлы примеров кода по адресу из своей учётной записи: http://www.packtpub.com. Если вы приобрели книгу где- либо ещё, вы можете посетить http://www.packtpub.com/support и зарегистрироваться для получения этих файлов по электронной почте непосредственно на свой адрес.

Вы можете загрузить эти файлы с кодом выполнив следующие шаги:

  1. Зарегистрируйтесь на нашем вебсайте при помощи своего адреса электронной почты и пароля.

  2. Переместите указатель мыши на закладку SUPPORT в верхней части.

  3. Кликните по Code Downloads & Errata.

  4. Введите название книги в блок Search.

  5. Выберите книгу для которой вы ищете для загрузки файлы исходного кода.

  6. В ниспадающем меню выберите где вы приобрели эту книгу.

  7. Кликните по Code Download.

После загрузки убедитесь, пожалуйста, что вы раззиповали или раскрыли эту папку при помощи самой последней версии:

  1. WinRAR / 7-Zip для Windows

  2. Zipeg / iZip / UnRarX для Mac

  3. 7-Zip / PeaZip для Linux

Весь код в единой упаковке также размещён на GitHub. В случае обновления этого кода, он также будет обновлён и в обозначенном репозитории GitHub.

У нас также имеются и прочие упаковки кодов из нашего богатого каталога книг и видео- материалов , доступными в GitHub. Ознакомьтесь с ним!

 Загрузка цветных изображений этой книги

Мы дополнительно снабжаем вас файлом PDF, который содержит цветные изображения экранных снимков/ схем, использованных в данной книге. Цветные изображения помогут вам лучше понять изменения в выводе. Вы можете загрузить этот файл по адресу: https://static.packt-cdn.com/downloads/9781789131611_ColorImages.pdf.

 Соглашения

В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.

Кодовые слова в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов, имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter представлены следующим образом: "Исеется возможность убить некий процесс немедленно при помощи метода terminate".

Блок кода записываются следующим образом:


import socket
port=60000
s =socket.socket()
host=socket.gethostname()
 	   

Когда мы желаем привлечь ваше внимание к определённой части кода в блоке, соответствующие строки или элементы выделяются жирным шрифтом:


p = multiprocessing.Process(target=foo)
print ('Process before execution:', p, p.is_alive())
p.start()
 	   

Всякая командная строка ввода или вывода отображается так:


> python server.py
 	   

Жирным шрифтом отображаются новые термины или важные слова, которые вы видите на экране. Например, появляющиеся в тексте слова в меню или блоках диалогов. Вот некий пример: "Перейдите в System Properties | Environment Variables | User or System variables | New".

[Замечание]Замечание

Предостережения или важные замечания появляются в блоках подобных этому.

[Совет]Совет

Советы и ловкие приёмы возникают таким образом.

 Разделы

В этой книге вы будете находить отдельные часто повторяющиеся заголовки (Приготовление, Как это сделать..., Как это работает..., Также ознакомьтесь... и Дополнительно). Чтобы получить чёткие инструкции как выполнить определённый рецепт, применяйте эти разделы следующим образом:

Приготовление

Этот раздел сообщит вам что ожидает данный раздел и описывает как настроить всё необходимое для данного рецепта и выполнить предварительные настройки.

Как это сделать...

Данный раздел содержит все шаги, которые следует осуществить в нём.

Как это работает...

Этот раздел обычно размещает подробное объяснение того что происходило в предыдущем разделе.

Также ознакомьтесь...

В этом разделе содержится дополнительная информация о данном рецепте чтобы вы получили больше сведений о самом рецепте.

Дополнительно

Данный раздел предоставляет полезные ссылки на прочую полезную для обсуждаемого рецепта информацию.

 Обратная связь с читателями

Обращения наших читателей всегда приветствуются. Дайте нам знать что вы думаете об этой книге - что вам нравится или не нравится. Обратная связь с читателями важна нам, так как помогает нам разрабатывать издания, от которых вы на самом деле получите максимальную пользу.

Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.

Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.

 Поддержка пользователей

Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.

 Опечатки

Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.

Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.

 Незаконное тиражирование

Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно. Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста, предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры. {Прим. пер.: Согласно закону об авторском праве РФ, авторские права на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений, готовы к тесному сотрудничеству.}

Пожалуйста, обратитесь по адресу copyright@packtpub.com со ссылкой на материалы содержащие признаки нарушения авторских прав.

Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас имеющего ценность содержимого.

 Вопросы

Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.

 Содержание

Предисловие
Что охватывает эта книга
Что вам нужно для этой книги
Для кого эта книга
Соглашения
Обратная связь с читателями
Поддержка пользователей
Загрузка кодов примеров
Опечатки
Незаконное тиражирование
Вопросы
Часть 1. Основные понятия
Глава 1. Построение стандартной среды работы в Linux
Осознание проблем масштабирования среды Linux
Проблемы нестандартных сред
Начальный рост нестандартной среды
Воздействие нестандартных сред
Масштабирование нестандартных сред
Решение проблем
Безопасность
Надёжность
Масштабирование
Срок службы
Наличие поддержки
Простота применения
Что представляет собой SOE?
Определение SOE
Понимание того что включать
Изучение преимуществ SOE
Пример преимуществ SOE в среде Linux
Преимущества SOE для проверки программного обеспечения
Понимание возможности отхода от стандартов
Непрерывное сопровождение SOE
Выводы
Вопросы
Последующее чтение
Глава 2. Автоматизация вашей инфраструктуры ИТ при помощи Ansible
Технические требования
Изучение структуры плейбука Ansible
Изучение описи Ansible
Понимание ролей Ansible
Понимание переменных Ansible
Понимание шаблонов Ansible
Соединение Ansible и SOE воедино
Выводы
Вопросы
Последующее чтение
Глава 3. Оптимизация управления инфраструктурой при помощи AWX
Технические требования
Введение в AWX
AWX снижает требования к обучению
AWX предоставляет возможность аудита
AWX поддерживает контроль версий
AWX способствует управлению учетными данными
Интеграция AWX с прочими службами
Установка AWX
Запуск ваших плейбуков из AWX
Настройка учётных записей в AWX
Создание описей в AWX
Создание проекта в AWX
Создание шаблона в AWX
Запуск плейбука из AWX
Автоматизация повседневных задач через AWX
Выводы
Вопросы
Последующее чтение
Часть 2. Стандартизация ваших серверов Linux
Глава 4. Методологии развёртывания
Технические требования
Изучение вашей среды
Развёртывание среды на голом железе
Развёртывание традиционной виртуальной среды
Развёртывание облачной среды
Развёртывание Docker
Поддержание эффективности построения
Придерживайтесь простоты сборки
Превращайте свои сборки в безопасные
Создание действенных процессов
Обеспечение согласованности между образами Linux
Выводы
Вопросы
Последующее чтение
Глава 5. Применение Ansible для создания шаблонов виртуальных машин развёртывания
Технические требования
Выполнение первоначального построения
Применение готовых шаблонов образов
Создание ваших собственных образов виртуальных машин
Применение Ansible для построения и стандартизации конкретного шаблона
Передача файлов в заданный образ
Установка пакетов
Изменение файлов настройки
Проверка правильности построения образа
Собирая всё воедино
Очистка построения при помощи Ansible
Выводы
Вопросы
Последующее чтение
Глава 6. Персональные сборки с PXE загрузкой
Технические требования
Основы PXE загрузки
Установка и настройка связанных с PXE служб
Получение устанавливаемых через сеть образов
Осуществление вашей самой первой сетевой загрузки
Выполнение сборок без сопровождения
Выполнение сборок без сопровождения через файлы kickstart
Выполнение сборок без сопровождения через файлы pre-seed
Добавление индивидуальных сценариев в конфигурации загрузки без сопровождения
Индивидуальные сценарии посредством kickstart
Индивидуальные сценарии посредством pre-seed
Выводы
Вопросы
Последующее чтение
Глава 7. Управление настройками при помощи Ansible
Технические требования
Установка нового программного обеспечения
Установка пакета из репозиториев операционной системы
Установка не натуральных пакетов
Установка программного обеспечения без пакетов
Проведение изменений конфигураций через Ansible
Проведение небольших изменений конфигураций через Ansible
Поддержка целостности конфигурации
Управление конфигурацией в масштабах предприятия
Проведение масштабируемых изменений статических конфигураций
Проведение масштабируемых изменений динамических конфигураций
Выводы
Вопросы
Последующее чтение
Часть 3. Повседневное управление
Глава 8. Управление репозиторием предприятия при помощи Pulp
Технические требования
Установка Pulp для управления исправлениями
Установка Pulp
Построение репозиториев в Pulp
Построение репозиториев на основе RPM в Pulp
Построение репозиториев на основе DEB в Pulp
Процессы исправления при помощи Pulp
Исправление при помощи Pulp на основе RPM
Исправление при помощи Pulp на основе DEB
Выводы
Вопросы
Последующее чтение
Глава 9. Внесение исправлений при помощи Katello
Технические требования
Введение в Katello
Установка сервера Katello
Подготовка к установке Katello
Внесение исправлений при помощи Katello
Исправление при помощи Katello на основе RPM
Исправление при помощи Katello на основе DEB
Выводы
Вопросы
Последующее чтение
Глава 10. Управление пользователями Linux
Технические требования
Выполнение задач управления учётными записями пользователя
Аудит и изменение пользователей через Ansible
Удаление пользователей через Ansible
Централизация управления учётными записями пользователя при помощи LDAP
Microsoft AD
FreeIPA
Принудительная настройка и аудит конфигурации
Управление sudoers через Ansible
Аудит учётных записей пользователя через Ansible
Выводы
Вопросы
Последующее чтение
Глава 11. Управление базой данных
Технические требования
Установка базы данных с применением Ansible
Установка сервера MariaDB с применением Ansible
Установка сервера PostgreSQL с применением Ansible
Импорт и экспорт данных
Автоматизация загрузки данных MariaDB через Ansible
Выполнение обычного обслуживания
Обычное обслуживание PostgreSQL через Ansible
Выводы
Вопросы
Последующее чтение
Глава 12. Выполнение обычного обслуживания при помощи Ansible
Технические требования
Приведение в порядок дискового пространства
Мониторинг отклонения конфигурации
Понимание управления процессом при помощи Ansible
Раскрутка обновлений при помощи Ansible
Выводы
Вопросы
Последующее чтение
Часть 4. Обеспечение безопасности ваших серверов Linux
Глава 13. Применение эталонного тестирования CIS
Технические требования
Понимание эталонного тестирования CIS
Что такое эталонного тестирования CIS
Подробный анализ эталонного тестирования CIS
Широкое применение политик безопасности
Применение политики безопасности SELinux
Монтирование файловых систем
Установка AIDE
Знакомство со службой эталонного тестирования CIS
X Windows
Допуск хостов сетевой средой
Локальные межсетевые экраны
Общее руководство ведения счёта
Развёртывание сценариями упрочнения сервера
Проверка того что SSH регистрация root отключена
Проверка отключения отправки перенаправляемых пакетов
Запуск сценариев эталонного тестирования CIS из удалённого местоположения
Выводы
Вопросы
Последующее чтение
Глава 14. Упрочнение CIS при помощи Ansible
Технические требования
Наприсание политик безопасности Ansible
Проверка того что удалённая регистрация root отключена
Сборка политик безопасности через Ansible
Реализация более сложных эталонных тестов безопасности в Ansible
Выполнение соответствующих решений в вашем проекте плейбука
Приложение политик всего предприятия через Ansible
Проверка политик безопасности через Ansible
Выводы
Вопросы
Последующее чтение
Глава 15. Аудит политик безопасности при помощи OpenSCAP
Технические требования
Установка вашего сервера OpenSCAP
Основы работы OpenSCAP
Установка демона OpenSCAP
Запуск рабочего места SCAP
Учёт прочих инструментов OpenSCAP
Оценка и выбор политик
Установка руководства безопасности SCAP
Понимание основных целей политик XCCDF и OVAL
Установка прочих политик OpenSCAP
Сканирование предприятия при помощи OpenSCAP
Установка инфраструктуры Linux через OpenSCAP
Вызов регулярных сканирований при поомщи демона OpenSCAP
Сканирование через рабочее место SCAP
Интерпретация результатов
Выводы
Вопросы
Последующее чтение
Глава 16. Советы и уловки
Технические требования
Контроль версий ваших сценариев
Интеграция Ansible с Git
Действенная организация ваших репозиториев управления версиями
Управление версиями ролей через Ansible
Описи - поддержка единого источника истины
Работа с динамическими описями Ansible
Образец- работа с динамической описью Cobbler
Запуск одноразовых задач через Ansible
Выводы
Вопросы
Последующее чтение
Аттестация
Указатель