Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы администрирования и системного программирования в операционной системе Linux. В 2 частях. Ч.2. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1. АДМИНИСТРИРОВАНИЕ СЕРВИСА LDAP
- •1.1. ПРОТОКОЛ LDAP
- •1.2. БАЗОВАЯ НАСТРОЙКА 389 DIRECTORY SERVER
- •1.3. РЕАЛИЗАЦИЯ РЕШЕНИЯ НА ОСНОВЕ FREEIPA
- •2. АДМИНИСТРИРОВАНИЕ СЕТЕВЫХ СЕРВИСОВСОВ МЕСТНОГО ИСПОЛЬЗОВАНИЯ ДАННЫХ
- •2.1. СЕТЕВАЯ ФАЙЛОВАЯ СИСТЕМА NFS
- •2.2. ФАЙЛОВАЯ СИСТЕМА SMB
- •2.3. РАЗВЁРТЫВАНИЕ И КОНФИГУРИРОВАНИЕ СЕТИ
- •3. АДМИНИСТРИРОВАНИЕ СЕРВИСА OPENVPN
- •3.1. ТЕХНОЛОГИЯ OPENVPN
- •3.2. ПРИНЦИП РАБОТЫ OPENVPN
- •3.3. РАЗВЁРТЫВАНИЕ И КОНФИГУРИРОВАНИЕ СЕТИ
- •4. АДМИНИСТРИРОВАНИЕ СИСТЕМЫ ИНСПЕКЦИИ ТРАФИКА DNS
- •4.1. ТИПОВЫЕ ОПЕРАЦИИ DNS
- •4.2. СПОСОБЫШИФРОВАНИЯ DNS-ТРАФИКА
- •4.3. ОТКРЫТЫЕ DNS-СЕРВЕРЫ
- •4.4. НАСТРОЙКА ZEEK
- •4.5. НАСТРОЙКА СТЕКА ELK
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

Рис. 4.20. Содержимое файла filter.conf
Рис. 4.21. Пример использования фильтра grok
На рисунке 4.20 представлены настройки конфигурационного файла
filter.conf.
Первое, что делает этот фильтр, извлекает журналы с помощью фильтра
grok, и выделяет из сообщения ключевые данные, которые записывает в определённые поля, для дальнейшего удобства работы с ними.
Для фильтра grok, который использует Logstash, есть удобный дебаггер,
где можно посмотреть, как будут извлекаться данные. Для примера была взята
строка из log-файла Firefox. На рисунке 4.21 показано извлечение данных с помощью фильтра grok.
В grokdebug фильтр распарсит сообщение и на выходе сформирует JSON-
объект, где каждому значению будет присвоено своё поле, по которому потом
удобно будет в Elasticsearch строить отчёты и делать выборки. Пример содержимого JSON-объекта представлен на рис. 4.22.
Протестируем конфигурацию Logstash с помощью следующей команды:
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
Если ошибок в синтаксисе нет, появится сообщение Configuration OK
спустя несколько секунд. Если такого сообщения не последует, требуется проверить конфигурационные файлы на предмет ошибок и обновить конфигурацию для их исправления.
71

Рис. 4.22. Пример содержимого JSON-объекта
Если тестирование конфигурации выполнено успешно, следует запустить
и активировать Logstash, чтобы изменения конфигурации вступили в силу:
sudo systemctl start logstash
sudo systemctl enable logstash
Теперь Logstash полностью настроен, а это значит, что можно приступить
к установке Filebeat.
Комплекс Elastic Stack использует несколько компактных элементов
транспортировки данных (Beats) для сбора данных из различных источников и
их транспортировки в Logstash или Elasticsearch. Ниже перечислены компоненты Beats, доступные в Elastic:
− Filebeat собирает и отправляет файлы журнала;
− Metricbeat собирает метрические показатели использования систем и
служб;
− Packetbeat собирает и анализирует данные сети;
− Winlogbeat собирает данные журналов событий Windows;
− Auditbeat собирает данные аудита Linux и отслеживает целостность
файлов;
− Heartbeat отслеживает доступность услуг посредством активного зон-
дирования.
Filebeat будет использоваться для перенаправления локальных журналов
в комплекс Elastic Stack.
Для установки и настройки Filebeat необходимо на официальном сайте
elastic.co скачать zip-файл Filebeat Windows, распаковать содержимое zip-файла
в каталог C:\Program и переименовать каталог filebeat-7.8-windows в Filebeat.
72

Рис. 4.23. Установка Filebeat
Рис. 4.24. Настройки журнала для Filebeat
После распаковки файла следует открыть командную оболочку PowerShell от
имени администратора и в интерпретаторе PowerShell выполнить следующие
команды, представленные на рис. 4.23.
Следующим этапом будет настройка Filebeat таким образом, чтобы он
собирал журналы Firefox и доставлял их в Logstash для дальнейшей обработки
и визуализации. Для этого в Windows нужно создать каталог C:\FirefoxLogs и
включить ведение журнала в Firefox.
Filebeat будет работать с файлами журналов, хранящимися в C:\Firefox
Logs\log. Для уменьшения размера журнала рекомендуется включить только
модули ведения журнала timestamp, sync, nsHostResolver: 5. На рисунке 4.24
продемонстрирована страница настройки журналирования в Firefox.
Далее со страницы https://github.com/SigWarrant/Firefox-DoH-SO /Security
Onion/ необходимо скачать файл 6800_firefoxbeat.conf и поместить его в каталог
/etc/logstash/custom.
На следующем шаге в Windows следует заменить файл filebeat.yml на тот,
который размещён на странице https://github.com/SigWarrant/Firefox-DoH-SO
/SecurityOnion/. Внутри конфигурации filebeat.yml следует заменить IP-адрес в
разделе Logstash Output на адрес сервера ELK. Пример настройки конфигурационного файла продемонстрирован на рис. 4.25.
73

Рис. 4.25. Конфигурационный файл filebeat.yml
Рис. 4.26. Начальная страница Kibana
После настройки Filebeat его следует запустить и после того, как logфайлы будут поступать в утилиту Logstash, можно будет создавать визуализации и панели в Kibana.
Чтобы воспользоваться Web-интерфейсом Kibana, который был установлен на одном из предыдущих шагов, необходимо перейти в браузере на IPадрес сервера Elastic Stack. После ввода учётных данных появится главная
страница Kibana, как показано на рис. 4.26.
74

Рис. 4.27. Гистограмма событий журнала
Рис. 4.28. Визуализация работы Filebeat
Дальше необходимо нажать ссылку Discover в левой панели навигации
для обзора интерфейса. Выбрать на странице Discover заранее настроенный индекс filebeat- для просмотра данных Filebeat. По умолчанию при этом будут
выведены все данные журналов за последние 15 минут. На рисунке 4.27 представлена гистограмма с событиями журнала.
В Kibana можно искать и просматривать журналы, а также настраивать
информационные панели. Dashboard – это набор визуализаций, работающих,
как правило, в режиме реального времени. На рисунке 4.28 продемонстрированы данные, которые были собраны из системного журнала Firefox.
Построенный Dashboard позволяет наблюдать общее количество DoH запросов, зависимость количества запросов от времени, к каким адресам происходило обращение, какие ответы на запросы были получены.
75

ЗАКЛЮЧЕНИЕ
В первой главе второй части пособия рассмотрены сервисы LDAP – протокола прикладного уровня для доступа к службе каталогов X.500, продемонстрированы примеры настройки базовых служб, предоставляющих сервисы
LDAP, реализована установка и конфигурация пакета FreeIPA для последующего использования LDAP.
Вторая глава пособия посвящена задаче администрирования сетевых сервисов совместного использования данных – протоколам NFS и SMB. Оба протокола позволяют пользователям совместно работать с файлами, расположенными на разных устройствах. Продемонстрирован пример конфигурации сервисов NFS и SMB, описаны процессы подключения клиентских устройств к
экспортируемым каталогам серверов для обеспечения удалённого доступа к
файловым системам.
В третьей главе выполнен обзор концепции протокола OpenVPN, а также
описаны основные принципы функционирования сетей с данной технологией.
OpenVPN – свободная реализация технологии виртуальной частной сети с открытым исходным кодом для создания зашифрованных каналов типа «точка–
точка» или «сервер–клиенты». Продемонстрирован пример реализации настройки сервиса OpenVPN с одновременной настройкой устройств поддерживающей инфраструктуры.
Четвёртая глава пособия посвящена задаче обнаружения зашифрованного
трафика протокола DNS внутри корпоративной сети. Рассмотрены принципы
работы протокола DNS и его криптографических реализаций – протоколов DNS
over HTTPS и DNS over TLS. Приведён анализ методов обнаружения зашифрованного трафика протокола DNS и продемонстрирован пример реализации решения на основе системы мониторинга трафика Zeek и комплекса Elastic Stack
для сбора и анализа данных системных журналов.
76

СПИСОК ЛИТЕРАТУРЫ
1. Law, K. L. E. XML on LDAP Network Database. Proc. IEEE Canadian
Conf. Electrical and Computer Eng. : IEEE Press, 2000. – 67 p.
2. Ey, C. R. Managing Content with Directory Servers, diploma thesis, Dept.
Business Info. Systems: Karlsruhe Univ. of Applied Sciences, 2000. – 31 p.
3. Marron, P. J. On Processing XML in LDAP. Proc. 27th Intl Conf. Very
Large Databases: ACM Press, 2001. – 10 p.
4. XLNT Software. Handling XML Documents Using Traditional Databases:
IEEE Press, 2002. – 14 p.
5. Немет, Э. Unix и Linux: руководство системного администратора.
5-е изд. – М. : Диалектика, 2020. – 1149 с.
6. FreeIPA [Электронный ресурс] / Википедия. – URL :
https://ru.wikipedia.org/wiki/FreeIPA
7. HowTo/LDAP [Электронный ресурс] / FreeIPA – Режим доступа:
https://www.freeipa.org/page/HowTo/LDAP
8. Клинтон, Д. Linux в действии. – СПб/ : Питер, 2019. – 404 с.
9. Немет, Э. Unix и Linux/ Руководство системного администратора /
Э. Немет, Г. Снайдер, Т. Хейн, Б. Уэйли. – Вильямс, 2014. – 228 c.
10. Таненбаум, Э. Компьютерные сети / Э. Таненбаум, Д. Уэзеролл. –
СПб. : Питер, 2016. – 687 с.
77

ОГЛАВЛЕНИЕ
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. Администрирование сервиса LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. Протокол LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1. Общие сведения об LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2. Цели использования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3. Архитектура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.4. Механизм работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Базовая настройка 389 Directory Server . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Реализация решения на основе FreeIPA . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1. Установка сервера FreeIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2. Использование сервера FreeIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.3. Установка клиента FreeIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.4. Аутентификация с помощью LDAP и FreeIPA . . . . . . . . . . . . . . . 18
2. Администрирование сетевых сервисов совместного использования
данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1. Сетевая файловая система NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.1. Серверная часть протокола NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.2. Структура файла exports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.3. Клиентская часть протокола NFS . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.4. Обеспечение безопасности NFS-сервера . . . . . . . . . . . . . . . . . . . . 25
2.2. Файловая система SMB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1. Серверная часть протокола SMB . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.2. Клиентская часть протокола SMB . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.3. Обеспечение безопасности SMB-сервера . . . . . . . . . . . . . . . . . . . . 29
2.3. Развёртывание и конфигурирование сети . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.1. Создание топологии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.2. Настройка сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.3. Настройка IP-адресов конечных устройств . . . . . . . . . . . . . . . . . . 31
2.3.4. Настройка NFS-сервиса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.5. Настройка SMB-сервиса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3. Администрирование сервиса OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1. Технология OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
78

3.1.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2. Основные механизмы и возможности OpenVPN . . . . . . . . . . . . . . 38
3.1.2.1. Безопасность и шифрование . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2.2. Сертификаты и удостоверяющий центр . . . . . . . . . . . . . . . 40
3.1.2.3. Алгоритм Диффи-Хелмана . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.2.4. Клиент и сервер OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2. Принцип работы OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3. Развёртывание и конфигурирование сети . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.1. Создание топологии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.2. Настройка серверов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.3. Настройка клиентов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.4. Настройка маршрутизаторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.3.5. Подготовка сервера OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3.6. Настройка сервиса OpenVPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.7. Настройка сетевой конфигурации сервера и запуск сервера . . . . 49
3.3.8. Создание файла конфигурации для клиентов . . . . . . . . . . . . . . . . 50
3.3.9. Запуск у клиента . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4. Администрирование системы инспекции трафика DNS . . . . . . . . . . . . . . . . 53
4.1. Типовые операции DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2. Способы шифрования DNS-трафика . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1. Плюсы и минусы реализаций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.3. Открытые DNS-серверы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.4. Настройка Zeek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5. Настройка стека ELK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
79

Учебное электронное издание
ЕЛИСЕЕВ Алексей Игоревич
ЯКОВЛЕВ Алексей Вячеславович
ДЕРЯБИН Андрей Сергеевич
ОСНОВЫ АДМИНИСТРИРОВАНИЯ И
СИСТЕМНОГО ПРОГРАММИРОВАНИЯ
В ОПЕРАЦИОННОЙ СИСТЕМЕ LINUX
В ДВУХ ЧАСТЯХ
Часть 2
Учебное пособие
Редактирование Е. С. Мордасовой
Компьютерное макетирование М. А. Евсейчевой
Обложка, упаковка, тиражирование И. В. Евсеевой
ISBN 978-5-8265-2437-4
Подписано к использованию 17.12.2021.
Тираж 50 шт. Заказ № 157
Издательский центр ФГБОУ ВО «ТГТУ»
392000, г. Тамбов, ул. Советская, д. 106, к. 14
Телефон (4752) 63-81-08
80
E-mail: izdatelstvo@tstu.ru
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
