АНБ рекомендует
Сегодня порассуждаем, как мультиоблачная инфраструктура влияет на процессы DevOps, и узнаем про новинку от HashiCorp. Также поговорим о кибербезопасности, в частности, рекомендациях АНБ и будущую замену PGP в Java.
Мультиоблака меняют DevOps
Время — прекрасный способ проверки технологий «на прочность». Даже те компании, которые скептически относились к тому, чтобы убрать вычисления в облака, сейчас меняют своё мнение. Некоторые компании делегировали облачным провайдерам поддержание работы внутренних сервисов, а у кого-то вообще больше нет традиционной IT-инфраструктуры и присущих ей капитальных затрат.
Бизнес всегда диверсифицирует риски. Перемещение данных в облако одного провайдера потенциально может быть опасным и привести к vendor lock-in. Разумно объединить ресурсы разных облачных провайдеров в мультиоблачную инфраструктуру.
Даже если один из них по каким-то причинам откажет, то работающее облако другого провайдера сыграет роль «запасного игрока». При правильном проектировании архитектуры и грамотной реализации конечные пользователи даже не почувствуют, что произошла нештатная ситуация.
Если вы решили перейти на мультиоблачную инфраструктуру, стоит подумать о том, что это повлечёт каскад изменений и не всегда они могут быть положительными. Процессы разработки и управления командами разработчиков станут сложнее. Это может увеличить расходы и потребует дополнительного обучения DevOps-специалистов.
Остро встанет вопрос интеграции разнообразных API и форматов данных. Даже внутри одного облака порой сложно обеспечить правильную работу сервисов. При использовании мультиоблака понадобится немало усилий, чтобы всё работало исправно. Результатом станет бесшовная среда, которая будет основой для жизненного цикла DevOps.
Получившаяся инфраструктура должна соответствовать требованиям по безопасности и предоставлять инструменты для защиты данных. Ну и в довесок придётся задуматься о FinOps, ведь разные облачные платформы будут сильно отличаться по стоимости и её прогнозирование станет одной из ключевых задач.
Система управления документами Hermes
Калифорнийская HashiCorp, создатель Vagrant, Terraform, Consul и других инструментов для DevOps, опубликовала новую open source систему управления документами Hermes. Эта система позволит организовать координацию процессов работы с различной документацией. Сразу оговоримся, что Hermes не является официальным продуктом компании.
Как часто бывает, Hermes изначально был внутренним инструментом и предназначался для улучшения эффективности документооборота внутри HashiCorp. На данный момент его используют около 20 процентов сотрудников. Документы создаются на привычной для многих платформе Google Workspace. Управление осуществляется через различные API Google: Docs, Drive, Gmail и People.
Пару слов о стеке. Бэкенд написан на Golang. В качестве базы данных трудится PostgreSQL, а поиск сделан на базе Algolia. Фронтенд реализован при помощи фреймворка Ember.js и Helios Design System.
Минималистичный современный интерфейс, высокая степень кастомизации, возможность помечать документы как устаревшие и поддержка шаблонов. Hermes — отличная база для организации документооборота внутри команд разработки и даже в самой компании.
АНБ и kubescape
Летом 2021 года Агентство национальной безопасности США (NSA) и Агентство по кибербезопасности инфраструктуры (CISA) впервые выпустили любопытный документ Kubernetes Hardening Guide. Этот гайд в краткой форме описывал практические рекомендации по защите новых и существующих инсталляций K8s. С тех пор он несколько раз обновлялся. Авторы выделяют три основных типа угроз:
- атаки на цепочку поставок;
- действия киберпреступников;
- инсайдерские угрозы.
Задача DevOps сводится к тому, чтобы просканировать подконтрольную систему на уязвимости и ошибки в конфигурации. После этого необходимо предпринять действия, чтобы контейнеры и поды запускались с минимально необходимыми правами, а также правильно использовали механизмы аутентификации и авторизации. Также необходимо уделить внимание сетевой составляющей, мониторингу и аудиту системных журналов.
Глобальные задачи всегда создают больше вопросов, чем ответов. Центральным стал вопрос — чем сканировать? Компания Armo Ltd разработала собственный проект kubescape. Он изначально создавался с открытым исходным кодом и стал частью CNCF Sandbox.
Kubescape умеет сканировать кластеры Kubernetes, YAML-файлы конфигурации и Helm-чарты. Но главная фича — автоматическая проверка, учитывающая рекомендации АНБ. Видимо авторам этого показалось недостаточно и они включили в свою утилиту проверку, основанную на глобальной базе угроз MITRE ATT&CK. Ну и бонусом kubescape следует передовым рекомендациям по кибербезопасности, разработанных центром интернет-безопасности (CIS).
Устанавливается из консоли одной командой:
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash
Запуск тоже не должен вызвать вопросов. Вот наиболее простой пример:
kubescape scan --enable-host-scan --verbose
Полученный отчёт будет выведен в виде удобной таблицы с учётом оценки рисков:
Таким образом опыт, накопленный экспертами АНБ, может стать частью защиты в вашей конкретной организации. Поскольку это программное обеспечение с открытым исходным кодом, его можно дорабатывать по своему усмотрению.
Sigstore заменит PGP в Java
Подпись артефактов Java и механизм проверки уже давно основаны на PGP. Это одно из старейших приложений было создано более 30 лет назад, для личной BBS Филиппа Циммермана. Он был ярым противником распространения ядерной энергии и не хотел, чтобы правительство США могло расшифровать содержимое файлов и сообщений.
У последних был весьма внушительный рычаг давления в виде законодательного запрета на экспорт криптосистем с длиной ключа более 40 бит. А в PGP было минимум 128-бит, что и дало законникам повод возбудить уголовное дело и начать расследование.
Но Циммерман не зря был Циммерманом и имел собственное представление относительно момента импульса законов США. Он изящно обошёл запрет на экспорт, опубликовав исходники в обычной книге издательства MIT Press. Их можно было отсканировать или ввести вручную, после чего скомпилировать и получить рабочую копию приложения.
Поскольку экспорт книг не мог быть запрещён первой поправкой к Конституции США, соответственно и публикация исходного кода в книге формально не нарушала законодательства. Так что дело развалилось и было прекращено в 1996 году. А технология с тех пор стала применяться повсеместно.
Время шло, требования к механизму подписей понемногу менялись. В 2021 году команда разработчиков из Google представила проект Sigstore, получивший поддержку Linux Foundation. Его можно рассматривать как Let’s Encrypt для исходного кода. Основной же целью было создать удобный механизм защиты от пресловутых атак на цепочки поставок, а также проверки целостности.
Разработчикам Sigstore удалось реализовать вполне конкретные преимущества перед PGP:
- пользователи не имеют доступа к управлению ключами;
- сами ключи одноразовые;
- адреса электронной почты, связанные с подписью, проверяются центром сертификации или OIDC-провайдером;
- аудит осуществляется через журналы прозрачного доступа.
Проект активно развивается и разрабатывает клиентские интеграции с разными языками программирования. В январе 2023 года был представлен клиент для Python, а сейчас пришла очередь Java. Клиентская библиотека sigstore -java станет основой интеграций в Maven, Gradle и прочие экосистемы Java. Курс на Sigstore взят, а это значит, что скоро проект может стать отраслевым стандартом. Поживём — увидим.
Митапы
DevOps Meetup
12 апреля 2023
Весной у нас запланирован DevOps Meetup. Программа мероприятия формируется, но регистрация уже открыта. Кстати, вы уже можете подать доклад прямо в режиме онлайн.
Интересуетесь нашими мероприятиями? В Telegram-канале Evrone meetups мы выкладываем анонсы с подробными описаниями докладов, а также студийные записи прошедших митапов. Тем для кого выступать в новинку, мы оказываем всяческую поддержку и помогаем оформить экспертизу в яркое выступление. Подписывайтесь и пишите @andrew_aquariuss, чтобы узнать подробности.
Вакансии
Evrone
Мы открыты для новых DevOps-инженеров. В Evrone можно работать удалённо с первого дня, мы поддерживаем и оплачиваем участие в Open-source проектах, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.