В современном мире практически ни одна разработка программного обеспечения не обходится без использования средств контейнеризации, что связано с удобством хранения артефактов и зависимостей. Киберпираты следуют трендам DevSecOps, чтобы повышать энтропию атак на контейнерные среды. Кроме того, растет количество APT группировок, что является сегодня довольно значимой проблемой. В данной статье мы подробно рассматриваем техники злоумышленников, а также рассказываем о существующих тактиках защиты для того, чтобы разработчики или DevOps-инженеры смогли применять их в своей повседневной работе.
DevOps *
Методология разработки программного обеспечения
Новости
Создание скрипта на Python с помощью ChatGPT-4о: автоматизация миграции доменов
ChatGPT-4o написал Python-скрипт на 400 строк, который с помощью API Cloudflare переносит домены со всеми настройками между разными аккаунтами. В статье подробно рассмотрен процесс создания скрипта, включая сохранение и копирование настроек и DNS-записей. Также приводятся примеры кода и пояснения, позволяющие легко адаптировать решения под конкретные задачи.
Установка youtubeUnblock на keenetic start
Всем привет! Напишу как я устанавливал youtubeUnblock на старый роутер keenetic start, больше для себя ну и поделится опытом.
Полезный чек-лист: способы сокращения расходов при работе с Kubernetes
Kubernetes — самый популярный оркестратор в России. По данным исследования VK Cloud «State of Kubernetes», K8s используют 56% компаний, работающих с оркестраторами (причем из них 53% работают с Kubernetes в облаке). Более того, спрос на работу с технологией увеличивается. Вместе с тем многие компании сталкиваются с недостатком опыта, что приводит не только к техническим сложностям, но и к неоправданным расходам.
Рассказываем, почему работа с Kubernetes может оказаться «тяжелой ношей» для бюджета компании и как этого избежать.
Истории
Плюсы и минусы профессии DevOps: мысли для слушателей ИТ-курсов и не только
Привет Хабр! На дворе конец лета и слушатели ИТ-курсов в раздумьях о выборе обучения на осень 2024 и профессии как таковой. А мы продолжим цикл статей о плюсах и минусах разных профессий в ИТ. Давайте поговорим о DevOps-инженере. Как говорят рекрутеры, на фоне переизбытка выпускников курсов по разработке на Python, профессия DevOps-инженера смотрится одной из топов по востребованности и оплате.
P.S. Иллюстрация ИИ к статье — “я художник, так вижу DevOps и девушки их любят”.
Нельзя Просто Так Пойти и Купить Овцу
В этом тексте я собрал самые странные правила и рекомендации оформления исходных кодов, которые только попадались мне на работе в разных реальных компаниях.
Вот буквально несколько настоящих примеров из жизни. Парад нелепости.
Контейнеры, разминаем мозги под Kubernetes – разговоры у костра
Привет, друзья! Разговоры у вечернего костра, у палатки, у реки, в спокойный, тихий вечер и в располагающей к технической честности и объективности атмосфере, а не «у пепелища дата-центра», как некоторым может показаться! 😊 Приготовьтесь погрузиться в захватывающую историю, как, но, важнее, почему мы сознательно пришли к активному использованию контейнеров и «доросли» до внедрения Kubernetes в высоконагруженном проекте «BI-конструктор». Но про Kubernetes в посте не будет не слова, будет только про контейнеры, но мы подготовим мозг к следующему посту, уже исключительно про Kubernetes, но тоже максимально доступно. Однако, я буду все рассказывать очень простыми (иногда техническими) словами, без ныряния в многоуровневый мат, уж простите. Я убежден, что когда ты все прочувствовал и выстрадал умом и сердцем, то сможешь этот опыт передать доступно и понятно другим, а когда сам не понимаешь, о чем говоришь, то и остальных просто запутаешь. И еще один момент – технических картинок и графиков по теме тоже не будет, они вызывают головную боль от растекания абстракций и их легко найти самостоятельно и в конце я дам рецепт где. Но, даже без них, не сомневайтесь, вы все поймете с первого раза. Итак, наливайте кофе, насыпайте попкорн, кладите в карман таблетку от головной боли (иногда будет сложно, но ради вашего же блага) и ныряйте «под кат».
Вы таки внедрили сканеры безопасности в пайплайны — на этом все?
Привет! Я Максим Коровенков, DevSecOps Lead в Купере (ex СберМаркет). Хочу поделиться мыслями по поводу минимально необходимого набора процессов, сопутствующих внедрению сканеров безопасности в пайплайны разработки.
В результате попытаюсь ответить на вопрос: «А что, собственно, стоит иметь в виду под фразой “Мы внедрили сканеры безопасности в пайплайны разработки”?»
Да, в тысячный раз про пайплайны, но, как вы, думаю, догадываетесь, желание поделиться казалось бы очевидными мыслями появилось не случайно! Не так давно я завершил найм и укомплектовал свою DevSecOps-команду. В рамках поиска пришлось провести достаточное количество интервью, на которых я любопытствовал, как обстоят дела у соискателей с пайплайнами безопасности на текущем/предыдущем месте работы. Это удивительно, но для 90% респондентов фраза «внедрение сканеров безопасности в пайплайны» означает только факт внедрения. Лишь некоторые кандидаты упоминали отправку результатов в VMs/ASOC систему.
Ведь действительно кажется, что все просто: запаслись вокабуляром из нескольких аббревиатур, внедрили инструменты, SAST, SCA, может что-то еще, настроили отправку результатов для AppSec-ов и, как-будто, можно идти бить баклуши. Но я на своем опыте убедился, что DevSecOps — это про глубокую проработку процессов. Поэтому в данной статье сконцентрируюсь больше на процессах, нежели на технике.
Предлагаю наконец переходить к сути!
Итерационное развитие CI в gitlab для фреймворка по авто-тестированию
История о том, как мы развивали наш CI процесс для монолитного Python-репозитория с авто тестами, возникавшие проблемы и примеры их решений. Поговорим о Docker, линтерах, Allure TestOps и многом другом.
Практический пентест Kubernetes. Ищем открытые ресурсы
Среда оркестрации контейнеризированных приложений Kubernetes получила в последние годы широкое распространение.
Для этого есть множество причин. Прежде всего это все те преимущества, которые дает использование контейнеров: возможность построения микросервисной архитектуры, когда мы можем разделить приложение на отдельные компоненты, работающие в контейнерах и реализовывать в них нужный нам функционал независимо от других элементов нашего решения. Также, контейнеры позволяют эффективнее использовать оборудование, их удобно применять там, где нужно развернуть несколько идентичных экземпляров приложения, например, при миграции из среды разработки в среду тестирования.
Когда серверов, на которых запущены контейнеры становиться несколько десятков и более, возникает необходимость в использовании инструмента для централизованного управления узлами контейнеризации и здесь на помощь приходит Kubernetes. С его помощью можно развернуть множество экземпляров одного приложения, автоматически поддерживать необходимое их количество, обеспечить прозрачный для пользователей процесс обновления множества микросервисов из которых оно состоит, разграничить доступ к разным экземплярам контейнеров и многое другое.
Таким образом, совершенно очевидно, что Kubernetes является по сути основой для всей инфраструктуры, на которой работает приложение и то, насколько безопасно оно будет работать во многом зависит от того, насколько правильно будет настроена сама среда оркестрации.
Конечно, можно внедрить различные механизмы защиты, например ролевую модель доступа, о которой мы уже говорили ранее, но судить о том, насколько хорошо защищена та или иная система можно только попытавшись пойти по пути хакера, то есть попытаться ее взломать. В реальной жизни эту задачу обычно выполняют так называемые «белые хакеры» – пентестеры. В этой статье мы попробуем посмотреть на безопасность Kubernetes как раз глазами пентестеров.
Внедряем DevSecOps в процесс разработки. Часть 5. Этап Deploy-time Checks, обзор инструментов
Привет! На связи Олег Казаков из Spectr.
В предыдущей части я рассказал о тестировании функционала на уязвимость до его попадания на продакшн. По итогам предыдущих статей мы можем проверить код на безопасность, собрать безопасные билды, проверить функционал на наличие уязвимостей. Теперь нам ничего не мешает развернуть данное приложение на продакшне.
Сегодня я расскажу о заключительном этапе DevSecOps — Deploy-time Checks.
Git, Gitflow и ветка release: как разместить общий код команды в прод
Привет, Хабр! Меня зовут Николай Пискунов — я ведущий разработчик в подразделении Big Data. И сегодня в блоге beeline cloud мы продолжим серию статей про Git и Gitflow — рассмотрим релизный цикл: то есть то, как общий код команды должен попасть в прод. Для этого в GitFlow существует процесс и ветка под названием release.
Стань мастером эффективности: открой для себя волшебный инструмент для массовой генерации кода и файлов
В разработке ПО повторяющиеся задачи часто занимают много времени, особенно когда нужно массово генерировать кучу файлов с кодом. Чтобы повысить эффективность и уменьшить количество ошибок, TableConvert.com предлагает мощный инструмент — Magic Конвертер. В этой статье я расскажу о его крутых функциях и как его использовать, чтобы упростить рабочий процесс.
Ближайшие события
Как сделать безопасную загрузку с полностью зашифрованным диском на Linux без загрузчика на UEFI
Наша новая статья — для довольно искушённых пользователей Linux. В ней DevOps-инженер Алексей Гаврилов разобрал, как установить Debian или аналогичный дистрибутив на полностью зашифрованный диск без загрузчика на UEFI с включённым Secure Boot.
После завершения установки вы получите включённый Secure boot с использованием личных ключей для подписи EFI-файлов, подписанные ключом файл ядра и initramfs, а также зашифрованные разделы диска за вычетом EFI boot. Это позволит уменьшить возможность векторного взлома ноутбука и усложнит жизнь потенциальному взломщику, поскольку в его распоряжении будут только подписанные EFI-файлы.
Деплой в Docker Swarm
Недавно я занимался настройкой деплоя для одного из своих проектов. Хочу поделиться полученным опытом и знаниями в виде статьи, описывающей мою систему.
Расскажу:
- Как настроить пайплайны в GitLab для сборки и тестирования сервисов
- Как настроить удаленный сервер для развертывания сервисов
- Как автоматизировать деплой приложений в Docker Swarm, используя GitLab
JupyterHub на стероидах: реализация KubeFlow фич без масштабных интеграций
Привет! Меня зовут Александр, я MLOps-инженер.
JupyterHub — централизованный инструмент для создания Jupyter-ноутбуков для разных пользователей по заранее заданным параметрам, который используется более чем 200 специалистами у нас на проекте с коллегами из Альфа-Банка.
Сейчас множество сервисов Альфа-Банка могут запускаться в Kubernetes, который уже стал стандартом. И JupyterHub не исключение. Есть много статей по его запуску, и в большинстве из них описано, как просто поднять данный сервис и запустить рабочий ноутбук на базе профилей. Каждый профиль представляет собой заранее настроенные параметры для Pod ноутбука.
Однако с ростом числа пользователей возникают различные проблемы, о которых мы поговорим в этой статье.
Внедряем DevSecOps в процесс разработки. Часть 4. Этап Test-time Checks, обзор инструментов
Привет! На связи Олег Казаков из Spectr.
В предыдущей части статьи я рассказал о контроле безопасности артефактов сборки в процессе проверки на безопасность. Сегодня поговорим о следующем этапе DevSecOps — Test-time Checks.
Автоматизация бизнес-процессов и причем тут латиночка из Бразилии
Устал от стандартного подхода к саппорту своего продукта через Jira? Надоели миллион уведомлений на почту о изменениях в таске? Раздражает скорость ответа на тикет? Тогда мы идем к тебе...
Kubernetes 1.31: новый VolumeSource, эмуляция старых версий и настройка анонимного доступа к эндпоинтам
Сегодня официально выпустили новую версию Kubernetes — 1.31. Среди главных нововведений — VolumeSource, поддерживающий OCI-образы и/или OCI-артефакты и поле SupplementalGroupsPolicy для контроля дополнительных групп, которые присоединяются к первому процессу в контейнере, а также флаг --emulation-version для эмулирования возможностей предыдущих версий Kubernetes и механизм, который позволяет пользователям настраивать, к каким эндпоинтам возможен анонимный доступ.
5 способов избежать сбоев в работе интернет-магазина и перестать считать упущенную прибыль
Сайты всех типов — это сложные системы, в работе которых часто возможны ошибки в программной и сбои в технической части. Но если для обычного сайта это неприятная ситуация, то в электронной коммерции это всегда выливается в убытки и упущенную прибыль.
В статье рассказываю, чем грозят проблемы в работоспособности сайта и как от них защититься.