Защищенная операционная система хоста контейнеров [Linux Academy] - Часть 1 из 6

Bot

Администратор
Команда форума
23 Янв 2020
168,363
2,949
113
sc.png



Хочешь, чтобы этот материал был переведен на русский язык?
Нажимай "Записаться", ориентируюсь на количество участников


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

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

В первой части курса дается информация по firewalld и SELinux. firewalld - это инструмент в Linux, используемый для управления iptables. Нам нужен межсетевой экран, чтобы мы могли контролировать, какому трафику разрешено проходить, а какой будет запрещен. Мы пройдем через установку и правильную настройку firewalld. Рассмотрим основные команды firewalld и как их применять в зависимости от зон, портов, сервисов и других аспектов, касающихся системы. Мы также поговорим о контроле трафика, как разрешить трафик с одного IP на порт, как разрешить трафик со списка IP-адресов (белые списки), как создавать список IP-адресов, доступ с которых мы хотим запретить (черные списки) и многое другое.

После firewalld мы перейдем к SELinux. SELinux - это инструмент, который позволяет точно контролировать доступ к файлам, средствам управления, процессам и прочим вещам в системе. Он очень эффективен и используется практически во всех дистрибутивах на базе Red Hat. В этом разделе мы обсудим состояния SELinux, контекст SELinux, настройки контекста. Далее перейдем к полезным командам, которые позволяют нам составлять список запрещенных портов и протоколов, поговорим о переключателях (booleans), метках портов, модулях SELinux и логах. Обсудим автоматические скрипты для firewalld и SELinux.

После подробного рассмотрения основ firewalld и SELinux, мы перейдем к изучению доступа к серверу и настройке аутентификации. На данном этапе мы поиграемся с доступом к системе. Для начала выполним базовую настройку путем изменения дефолтного порта для подключения по SSH. Добавим дополнительные слои аутентификации и создадим jump-сервер по аналогии с VPN через SSH. Вы узнаете, как настроить одновременную работу различных методов аутентификации: стандартную аутентификацию на основе ключей, аутентификацию на основе паролей, плюс третий слой аутентификации, в котором мы интегрируем Google Authenticator. Для входа на сервер будет требоваться смартфон. Это в значительной степени улучшит нашу защищенность, поскольку крайне маловероятно, что кто-либо сможет получить доступ одновременно к ключу, смартфону и паролю.

Мы разберемся с точками прыжков (jump points). Вы узнаете, что это такое и для чего они используются. Точка прыжка - это место, к которому мы подключаемся. Она позволяет нам подключаться к другой части нашей инфраструктуры. Они могут значительно улучшить безопасность наших светящих в мир серверов и серверов инфраструктуры.

Далее мы поговорим о seccomp (режим безопасных вычислений). Это очень важный инструмент, который мы будем использовать вместе с контейнерами. С его помощью мы сможем правильно наложить некоторые дополнительные ограничения. Мы будем использовать его для ограничения системных вызовов. В целом, он участвует в заключении процесса в “тюрьму” и ограничивает, что можно сделать из самого процесса. Это предоставляет нам возможность диктовать, что процесс не может делать.

После работы с seccomp мы перейдем к длинному разделу, посвященному логированию. Мы изучим крайне полезные команды, которые помогают в навигации по очень крупным файлам логов. Разберемся с системами оповещений. А в заключительной части курса поговорим о сканировании на уязвимости и отчетах.

Содержание:


Установка, зоны, интерфейсы
Порты и сервисы
Блокировка пинга
ipset, blacklist, whitelist
ipset, blacklist, redirect
Lockdown, Panic
Состояния SELinux
Move, Copy, Create
Контекст SELinux
Настройки контекста
Booleans
Метки портов
Домены SELinux
Модули SELinux
Логи SELinux
  • Первичная настройка SSH
Вход не под root, изменение дефолтного порта, адаптация правил межсетевого экрана и SELinux
Порты и firewalld
  • Многоэтапная верификация по SSH
Настройка 3-х шаговой верификации для SSH - на основе ключей, генерация ключей
Настройка 3-х шаговой верификации для SSH - добавление аутентификации на основе паролей
Настройка 3-х шаговой верификации для SSH - Google Authenticator
  • Точка прыжка для SSH
Характеристики
Конфигурация сервера с контейнерами
SSH-туннель, SOCKS5
SOCKS5 Proxy
  • Seccomp - безопасные вычисления
Введение
Проверка состояния seccomp из программы
Strace и системные вызовы
Seccomp и ограничения кода
Исправление проблем при ограничении кода с seccomp
Аргументы командной строки при ограничении кода с seccomp
Исправление проблем при ограничении systemd с seccomp
tail
cat
Файлы логов
Демон auditd: запуск, остановка, перезапуск, перезагрузка, статус, правила и общая информация
Настройка аудита, настройка логирования, служебный файл systemd
Правила для файловой системы
Правила для системных вызовов
Исправление проблем при настройке аудита
journalctl
  • Оповещения
Оповещения по e-mail
Оповещения по SMS, AWS, LAMBDA
Оповещения по SMS, AWS, вызовы REST API
  • Сканирования на уязвимости и отчеты
Сканирования на уязвимости с Nmap
Автоматическая отправка отчетов по e-mail


Спойлер
Перевод с английского языка: Ianuaria
Тип перевода:
перевод с английского языка на русский и озвучивание
Объем оригинала: 8 ч 12 мин
Объем перевода первой части: 1 ч 20 мин
Формат: видео, без субтитров