Forwarded from Security Wine (бывший - DevSecOps Wine) (Denis Yakimov)
How GitOps Improves the Security of Your Development Pipelines
Наткнулся на свежую статью, приводящую примеры того, как методология GitOps может улучшить безопасность вашей среды. К основным примерам относятся аудит и ограничение доступа CI/CD системы. Про проблемы классического подхода DevOps и решения GitOps также можно прочитать в статьях:
- How secure is your CICD pipeline?
- How GitOps Raises the Stakes for Application Security
Однако, как и везде, есть подводные камни. Хорошая статья на тему рисков, связанных с GitOps:
- Securing GitOps Pipeline
В основном здесь все сводится к угрозам системы контроля версий, но не стоит также забывать про RBAC. Ведь, несмотря на широкое ограничение доступа согласно методологии, оператор GitOps все еще может стать отправной точкой для злоумышленника. Еще одна проблема - сильная зависимость от кода и уход от подходов, связанных с контролем Run-time через тот же OPA. Как показывает практика, статические анализаторы далеко не всегда хороши в определении полной картины проблем, связанных с ИБ.
Пока комьюнити ищет золотую середину в подходах, предлагаю вам также прочитать следующий материал:
- GitOps Security with k8s-security-configwatch by Sysdig
- Access Control & Security (GitOps and Kubernetes Book) (у кого есть полная версия книги, буду рад почитать)
Кстати, если вы не знакомы с методологией, то мне нравится перевод от Flant.
#ops #k8s
Наткнулся на свежую статью, приводящую примеры того, как методология GitOps может улучшить безопасность вашей среды. К основным примерам относятся аудит и ограничение доступа CI/CD системы. Про проблемы классического подхода DevOps и решения GitOps также можно прочитать в статьях:
- How secure is your CICD pipeline?
- How GitOps Raises the Stakes for Application Security
Однако, как и везде, есть подводные камни. Хорошая статья на тему рисков, связанных с GitOps:
- Securing GitOps Pipeline
В основном здесь все сводится к угрозам системы контроля версий, но не стоит также забывать про RBAC. Ведь, несмотря на широкое ограничение доступа согласно методологии, оператор GitOps все еще может стать отправной точкой для злоумышленника. Еще одна проблема - сильная зависимость от кода и уход от подходов, связанных с контролем Run-time через тот же OPA. Как показывает практика, статические анализаторы далеко не всегда хороши в определении полной картины проблем, связанных с ИБ.
Пока комьюнити ищет золотую середину в подходах, предлагаю вам также прочитать следующий материал:
- GitOps Security with k8s-security-configwatch by Sysdig
- Access Control & Security (GitOps and Kubernetes Book) (у кого есть полная версия книги, буду рад почитать)
Кстати, если вы не знакомы с методологией, то мне нравится перевод от Flant.
#ops #k8s
Forwarded from emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Architecture Ownership Patterns For Team Topologies. Part 1: A Business Architecture Model" by Nick Tune
- https://medium.com/nick-tune-tech-strategy-blog/team-responsibility-ownership-patterns-part-1-a-business-architecture-model-63597c4e60e1
"Architecture Ownership Patterns for Team Topologies. Part 2: Single Team Patterns" by Nick Tune
- https://medium.com/nick-tune-tech-strategy-blog/architecture-ownership-patterns-for-team-topologies-part-2-single-team-patterns-943d31854285
Цикл статей о том, как выравнивать команды и компоненты системы. Полезна всем, кто распределяет зоны ответственностей команд.
#DDD #Microservices #SoftwareArchitecture
- https://medium.com/nick-tune-tech-strategy-blog/team-responsibility-ownership-patterns-part-1-a-business-architecture-model-63597c4e60e1
"Architecture Ownership Patterns for Team Topologies. Part 2: Single Team Patterns" by Nick Tune
- https://medium.com/nick-tune-tech-strategy-blog/architecture-ownership-patterns-for-team-topologies-part-2-single-team-patterns-943d31854285
Цикл статей о том, как выравнивать команды и компоненты системы. Полезна всем, кто распределяет зоны ответственностей команд.
#DDD #Microservices #SoftwareArchitecture
Medium
Architecture Ownership Patterns For Team Topologies. Part 1: A Business Architecture Model
Team Topologies has significantly advanced the discussion on organisation design for technology companies. The next step is to determine…
Forwarded from HABR FEED + OPENNET
Xудшие практики для Ansible. Георгий Шуклин
https://habr.com/ru/post/536256/?utm_source=habrahabr&utm_medium=rss&utm_campaign=536256
Tags: Системное администрирование, Системное программирование, DevOps, ansible
Author chemtech #habr
https://habr.com/ru/post/536256/?utm_source=habrahabr&utm_medium=rss&utm_campaign=536256
Tags: Системное администрирование, Системное программирование, DevOps, ansible
Author chemtech #habr
Хабр
Xудшие практики для Ansible. Георгий Шуклин
Приветствую всех! Меня зовут Георгий. Я работаю в компании servers.com. Я пришел рассказать про Ansible: про хороший Ansible и про плохой Ansible в основном, т.
Forwarded from /bin/zone
Последний выпуск предновогодней подборки Threat Zone ❄️ Безопасность JSON Web Tokens (JWT)
JWT — популярная и удобная технология, используемая при реализации схем аутентификации. Она позволяет избежать многих ошибок авторизации, увеличить производительность и улучшить масштабируемость приложения. Но неправильное использование JWT может привести к компрометации учетных записей всех пользователей системы.
В этом году мы изучили JWT и запилили подробный материал, в котором есть:
• примеры использования;
• разбор распространенных ошибок в реализации схем аутентификации;
• анализ основных видов атак на эти схемы;
• подробные рекомендации по предотвращению рисков при использовании JWT.
Совсем скоро новогодние каникулы, и вы сможете спокойно изучить нашу библиотеку😉
JWT — популярная и удобная технология, используемая при реализации схем аутентификации. Она позволяет избежать многих ошибок авторизации, увеличить производительность и улучшить масштабируемость приложения. Но неправильное использование JWT может привести к компрометации учетных записей всех пользователей системы.
В этом году мы изучили JWT и запилили подробный материал, в котором есть:
• примеры использования;
• разбор распространенных ошибок в реализации схем аутентификации;
• анализ основных видов атак на эти схемы;
• подробные рекомендации по предотвращению рисков при использовании JWT.
Совсем скоро новогодние каникулы, и вы сможете спокойно изучить нашу библиотеку😉
Forwarded from Библиотека Go-разработчика | Golang
Основы Golang в одной статье: https://proglib.io/w/a3840387
Medium
The Only Introduction to Golang You Need
Learn the basics of Go with 30 useful cheat sheets
Forwarded from Человек и машина
#машины_aws
Ваше выходное чтиво - третья глава по DynamoDB.
В этой части: что такое консистентность, почему ее так тяжело достичь и как воспроизвести в DynamoDB, как отлавливать изменения данных, а также особенности кеширования с использованием DAX и построение гео-распределенных таблиц.
Ваше выходное чтиво - третья глава по DynamoDB.
В этой части: что такое консистентность, почему ее так тяжело достичь и как воспроизвести в DynamoDB, как отлавливать изменения данных, а также особенности кеширования с использованием DAX и построение гео-распределенных таблиц.
Medium
Amazon DynamoDB Deep Dive. Chapter 3: Consistency, DynamoDB streams, TTL, Global tables, DAX
The story of one of the world’s fastest database in a human-friendly format
Forwarded from emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Rambler делится опытом перехода от Python к Rust:
- https://m.habr.com/ru/company/rambler_group/blog/533268/
- https://m.habr.com/ru/company/rambler_group/blog/535234/
#FunctionalProgramming
- https://m.habr.com/ru/company/rambler_group/blog/533268/
- https://m.habr.com/ru/company/rambler_group/blog/535234/
#FunctionalProgramming
Хабр
Rust глазами Python-разработчика
Привет! Мы – часть команды разработки «Рамблер/Медиа» (портал «Рамблер»). На протяжении трех лет мы поддерживаем и развиваем несколько больших python-приложений. Чуть больше года назад перед нами...
Forwarded from Sysadmin Tools 🇺🇦
Building On-Call Culture at GitHub
https://github.blog/2021-01-06-building-on-call-culture-at-github/
#github
https://github.blog/2021-01-06-building-on-call-culture-at-github/
#github
Forwarded from Библиотека Go-разработчика | Golang
Практика работы с картами в Golang:
- Карты Go: объявление и инициализация
- Типы карт в Go
- Хранение и получение значений карты
- Определение наличия ключа карты
- Итерация по карте
- map[string]interface{} в Go
- Часто задаваемые вопросы о картах Go
- Карты Go: объявление и инициализация
- Типы карт в Go
- Хранение и получение значений карты
- Определение наличия ключа карты
- Итерация по карте
- map[string]interface{} в Go
- Часто задаваемые вопросы о картах Go
Bitfield Consulting
Go maps: declaring and initializing — Bitfield Consulting
What is a Golang map? Why is it useful? How does it compare to a slice? How do you declare a map? How do you initialize a map in Go? Fear not, all these questions are answered in this friendly introduction to one of Go’s most powerful features.
Forwarded from Уютный IT адочек
🤝 Обмен знаниями в инженерных командах
Наш читатель @terrifilch прислал интересную ссылку на интервью с Balázs Balázs, который работал в Facebook: https://codingsans.com/blog/knowledge-sharing
В статье описываются те приёмы обмена знаниями (и это не только документация!), с которыми он сталкивался и самые базовые вещи, касательно подходов и приёмов. Всегда интересно посмотреть, как процессы устроены у коллег по цеху, вот она — возможность 🙂
Наш читатель @terrifilch прислал интересную ссылку на интервью с Balázs Balázs, который работал в Facebook: https://codingsans.com/blog/knowledge-sharing
В статье описываются те приёмы обмена знаниями (и это не только документация!), с которыми он сталкивался и самые базовые вещи, касательно подходов и приёмов. Всегда интересно посмотреть, как процессы устроены у коллег по цеху, вот она — возможность 🙂
Forwarded from запуск завтра
Cloudflare готовится перевернуть рынок хостинга веб-приложений. Длинный пост, но технологии на самом деле поразительные.
Исторически, Cloudflare — крупный и агрессивный игрок на рынке CDN, то есть они умеют с минимальной задержкой и максимальной скоростью отдавать статический контент: картинки или страницы, которые одинаковые для всех пользователей. Они забирают их с ваших серверов, копируют (кешируют) на сотни своих серверов и отдают пользователю. Прикол в том, что у Cloudflare есть свои серверы в 200 главных точках обмена трафиком, 99% пользователей интернета живут ближе, чем в сотне километров от сервера Cloudflare. Это называется edge-network, пограничная сеть, в смысле та, которая граничит с пользователями. Небольшое расстояние и оптимизированные серверы означают, что статический контент будет грузиться мгновенно.
Проблема в том, что большинство страниц — динамические. Например, гугл-документ или мою ленту фейсбука кешировать на edge смысла нет — никому кроме меня она не нужна, да и мне интересна только самая последняя версия документа, и я его только что отредактировал. Исторически это означает, что нам нужно вести все эти вычисления новых страниц где-то на центральном сервере. У крупных компаний вроде гугла или фейсбука обычно есть несколько крупных серверных ферм на каждом континенте, поближе к пользователям, так что пользователи из России кучкуются на европейских серверах, а американцы — на штатовских. Это всё требует довольно сложную инфраструктуру, маленьким компаниям недоступную. Облака Амазона и другие конкуренты пытаются решить эту проблему, но без поллитра во всех их рычажках не разберешься.
Кажется, у Cloudflare получилось придумать элегантное, красивое решение для динамических страниц, которое работает прямо на edge-серверах! Встречайте Cloudflare Workers и Durable Objects.
Cloudflare Workers — облачные функции, в Амазоне они называются лямбды (lambda@edge). То есть вы пишете программу, которая обрабатывает запросы пользователей, загружаете её в облако и она запускается по необходимости на серверах облака, прозрачно, незаметно для вас и для пользователя. Придет один пользователь — запустится одна копия, придет тысяча — запустится тысяча копий. Обычно есть время на так называемый cold start, то есть после некоторого ожидания облачная функция тушится и нужно время, чтобы она проснулась и начала отвечать на запросы. Тут этой задержки нет. Обычно вам нужно выбрать регион работы функции (помните про близость к пользователю?), тут выбирать не нужно, код запустится из самого ближнего к пользователю edge (!) сервера. Обычно эта штука стоит недешево, здесь она примерно в 3-10 раз дешевле, чем у конкурентов. Весь этот банкет за счет того, что наш код работает не контейнерах, а v8-изолятах, то есть частично — на движке гугл-хрома! (тут рассказано, как их выбрали). Но это всё закуска, кайф — дальше.
У облачных функций есть слабое место — координация пользователей. Например, мы хотим сделать копию сервиса Гугл-документов или сервис чатов — то есть несколько людей подключаются к одной программе, могут в неё писать и читать общие данные. Решений два — либо запускаем программу по-старинке, один экземпляр на сервере и храним данные в памяти (быстро!), либо запускаем в функциях, но тогда нужна будет очень быстрая общая база данных и то скорость будет ниже, потому что функциям нужно будет ходить в центральную базу данных.
Cloudflare эту проблему решили с помощью Durable Objects — это такие воркеры, которые а) уникальны, то есть гарантированно запускается только один экземпляр б) имеют доступ к надежному и быстрому хранилищу в) запускаются там, где большинство пользователей и могут самостоятельно мигрировать между серверами. Получается, что большинство операций происходят в памяти, но при этом самостоятельная серверная программа не нужна. Красиво! В статье примеры каунтера и чата, простота кода впечатляет.
Отдельно подчеркну достойную документацию и хороший инструментарий разработчика.
Перечисленное выше — базовые технологии, на которых можно строить впечатляющие бизнес-решения.
Исторически, Cloudflare — крупный и агрессивный игрок на рынке CDN, то есть они умеют с минимальной задержкой и максимальной скоростью отдавать статический контент: картинки или страницы, которые одинаковые для всех пользователей. Они забирают их с ваших серверов, копируют (кешируют) на сотни своих серверов и отдают пользователю. Прикол в том, что у Cloudflare есть свои серверы в 200 главных точках обмена трафиком, 99% пользователей интернета живут ближе, чем в сотне километров от сервера Cloudflare. Это называется edge-network, пограничная сеть, в смысле та, которая граничит с пользователями. Небольшое расстояние и оптимизированные серверы означают, что статический контент будет грузиться мгновенно.
Проблема в том, что большинство страниц — динамические. Например, гугл-документ или мою ленту фейсбука кешировать на edge смысла нет — никому кроме меня она не нужна, да и мне интересна только самая последняя версия документа, и я его только что отредактировал. Исторически это означает, что нам нужно вести все эти вычисления новых страниц где-то на центральном сервере. У крупных компаний вроде гугла или фейсбука обычно есть несколько крупных серверных ферм на каждом континенте, поближе к пользователям, так что пользователи из России кучкуются на европейских серверах, а американцы — на штатовских. Это всё требует довольно сложную инфраструктуру, маленьким компаниям недоступную. Облака Амазона и другие конкуренты пытаются решить эту проблему, но без поллитра во всех их рычажках не разберешься.
Кажется, у Cloudflare получилось придумать элегантное, красивое решение для динамических страниц, которое работает прямо на edge-серверах! Встречайте Cloudflare Workers и Durable Objects.
Cloudflare Workers — облачные функции, в Амазоне они называются лямбды (lambda@edge). То есть вы пишете программу, которая обрабатывает запросы пользователей, загружаете её в облако и она запускается по необходимости на серверах облака, прозрачно, незаметно для вас и для пользователя. Придет один пользователь — запустится одна копия, придет тысяча — запустится тысяча копий. Обычно есть время на так называемый cold start, то есть после некоторого ожидания облачная функция тушится и нужно время, чтобы она проснулась и начала отвечать на запросы. Тут этой задержки нет. Обычно вам нужно выбрать регион работы функции (помните про близость к пользователю?), тут выбирать не нужно, код запустится из самого ближнего к пользователю edge (!) сервера. Обычно эта штука стоит недешево, здесь она примерно в 3-10 раз дешевле, чем у конкурентов. Весь этот банкет за счет того, что наш код работает не контейнерах, а v8-изолятах, то есть частично — на движке гугл-хрома! (тут рассказано, как их выбрали). Но это всё закуска, кайф — дальше.
У облачных функций есть слабое место — координация пользователей. Например, мы хотим сделать копию сервиса Гугл-документов или сервис чатов — то есть несколько людей подключаются к одной программе, могут в неё писать и читать общие данные. Решений два — либо запускаем программу по-старинке, один экземпляр на сервере и храним данные в памяти (быстро!), либо запускаем в функциях, но тогда нужна будет очень быстрая общая база данных и то скорость будет ниже, потому что функциям нужно будет ходить в центральную базу данных.
Cloudflare эту проблему решили с помощью Durable Objects — это такие воркеры, которые а) уникальны, то есть гарантированно запускается только один экземпляр б) имеют доступ к надежному и быстрому хранилищу в) запускаются там, где большинство пользователей и могут самостоятельно мигрировать между серверами. Получается, что большинство операций происходят в памяти, но при этом самостоятельная серверная программа не нужна. Красиво! В статье примеры каунтера и чата, простота кода впечатляет.
Отдельно подчеркну достойную документацию и хороший инструментарий разработчика.
Перечисленное выше — базовые технологии, на которых можно строить впечатляющие бизнес-решения.
Forwarded from Tech Cheat Sheet (Oleg Kovalov)
Forwarded from Sysadmin Tools 🇺🇦
sreCon20 Americas Playlist
https://www.youtube.com/watch?v=2C2F5USR6N4&list=PLbRoZ5Rrl5lfLXUjFjS0mP1XzNzNZMhYN
https://www.youtube.com/watch?v=2C2F5USR6N4&list=PLbRoZ5Rrl5lfLXUjFjS0mP1XzNzNZMhYN
YouTube
SREcon20 Americas - The Secret Lives of SREs - Controlling the Costs of Coordination across Remote
The Secret Lives of SREs - Controlling the Costs of Coordination across Remote Teams
Laura Maguire, PhD
If you ask a group of engineers how they resolved a particularly difficult outage they typically talk about the dashboards that got pulled up, the logs…
Laura Maguire, PhD
If you ask a group of engineers how they resolved a particularly difficult outage they typically talk about the dashboards that got pulled up, the logs…
Всего 2 месяца отделяют вас от должности архитектора ПО!
Если у вас достаточно опыта в IT и вы настроены двигаться дальше по карьерной лестнице, онлайн-курс «Архитектор ПО» в этом поможет!
Программа обучения разработана специально для middle- и senior- разработчиков, тимлидов и системных администраторов, готовых освоить лучшие практики по разработке архитектуры программного обеспечения и сложных распределенных отказоустойчивых систем.
Вас ждут:
— 2 месяца насыщенной программы;
— 11 модулей и 40 онлайн-уроков;
— готовый toolkit для входа в профессию;
— задания, основанные на реальных кейсах;
— дипломный проект, который дополнит портфолио.
Для первых студентов действует скидка до 60%, а также рассрочка на 12 месяцев. Переходите: https://clc.am/hY9pAg и записывайтесь!
Если у вас достаточно опыта в IT и вы настроены двигаться дальше по карьерной лестнице, онлайн-курс «Архитектор ПО» в этом поможет!
Программа обучения разработана специально для middle- и senior- разработчиков, тимлидов и системных администраторов, готовых освоить лучшие практики по разработке архитектуры программного обеспечения и сложных распределенных отказоустойчивых систем.
Вас ждут:
— 2 месяца насыщенной программы;
— 11 модулей и 40 онлайн-уроков;
— готовый toolkit для входа в профессию;
— задания, основанные на реальных кейсах;
— дипломный проект, который дополнит портфолио.
Для первых студентов действует скидка до 60%, а также рассрочка на 12 месяцев. Переходите: https://clc.am/hY9pAg и записывайтесь!
Forwarded from Записки админа
📺 Наткнулся на занятный Youtube канал (с учётом возраста канала и количества подписчиков, странно, что я не видел его раньше), где автор весьма подробно, буквально на пальцах объясняет различные линуксово-секурити-ctf темы. Из того что уже посмотрел, после чего решил сюда его принести:
• Kernel Root Exploit via a ptrace() and execve() Race Condition.
• Syscalls, Kernel vs. User Mode and Linux Kernel Source Code.
#видео #linux #security
• Kernel Root Exploit via a ptrace() and execve() Race Condition.
• Syscalls, Kernel vs. User Mode and Linux Kernel Source Code.
#видео #linux #security
Forwarded from Технологический Болт Генона
Diving into /proc/[pid]/mem
https://blog.cloudflare.com/diving-into-proc-pid-mem/
https://blog.cloudflare.com/diving-into-proc-pid-mem/
The Cloudflare Blog
Diving into /proc/[pid]/mem
A few months ago, after reading about Cloudflare doubling its intern class, I quickly dusted off my CV and applied for an internship. Long story short: now, a couple of months later, I found myself staring at Linux kernel code and adding a pretty cool feature…
Forwarded from I hate overtime
#data
Отличный курс лекций про данные от Ростелека и вендоров: https://www.youtube.com/playlist?list=PLlCP3a0hjY50I5mumo_YCu7IEDjiUpEWO
З.Ы. лекции 1.1-1.3 вводные, их можно пропустить
Отличный курс лекций про данные от Ростелека и вендоров: https://www.youtube.com/playlist?list=PLlCP3a0hjY50I5mumo_YCu7IEDjiUpEWO
З.Ы. лекции 1.1-1.3 вводные, их можно пропустить
YouTube
Лекции DataTalks
Share your videos with friends, family, and the world
Forwarded from Человек и машина
#машины_разное
Во время своего выступления Дор Лаор, СЕО Scylla анонсировал новый проект Cerci, который в корне меняет структуру консенсуса ScyllaDB.
Взамен Paxos в ядро этого немалоизвестного конкурента Cassandra и DynamoDB будет использоваться Raft, что по словам Дора сделано в угоду консистентности и позволяет быстрее синхронизировать новые узлы в кластере.
Интересно попробовать собрать POSIX FS over Scylla... когда-нибудь.
Во время своего выступления Дор Лаор, СЕО Scylla анонсировал новый проект Cerci, который в корне меняет структуру консенсуса ScyllaDB.
Взамен Paxos в ядро этого немалоизвестного конкурента Cassandra и DynamoDB будет использоваться Raft, что по словам Дора сделано в угоду консистентности и позволяет быстрее синхронизировать новые узлы в кластере.
Интересно попробовать собрать POSIX FS over Scylla... когда-нибудь.
ScyllaDB
Making ScyllaDB a Monstrous Database: Introducing Project Circe - ScyllaDB
Project Circe is a year-long initiative to make ScyllaDB even more of a monstrous database, improving performance, scalability and elasticity.
Forwarded from Sysadmin Tools 🇺🇦
Juicefs - a distributed POSIX file system built on top of Redis and S3.
#redis #s3 #posix #hdfs #golang #filesystem
#redis #s3 #posix #hdfs #golang #filesystem
GitHub
GitHub - juicedata/juicefs: JuiceFS is a distributed POSIX file system built on top of Redis and S3.
JuiceFS is a distributed POSIX file system built on top of Redis and S3. - juicedata/juicefs
Forwarded from Как мы делаем Яндекс
👨🏻🎓
«В Яндексе десятки тысяч машин, которые постоянно нагружены под завязку разными вычислительными задачами. Бо́льшая часть этих вычислений относится к так называемой batch-нагрузке — как правило, оформленной в виде операций в парадигме MapReduce. Мы используем собственную систему YT, которая предоставляет распределённый storage и интерфейс запуска распределённых вычислений с произвольным пользовательским кодом. В докладе я расскажу о задачах, возникающих при попытке написать софт, который будет что-то планировать на кластерах из большого количества машин.»
Архитектура отказоустойчивого планировщика задач. Доклад Яндекса
«В Яндексе десятки тысяч машин, которые постоянно нагружены под завязку разными вычислительными задачами. Бо́льшая часть этих вычислений относится к так называемой batch-нагрузке — как правило, оформленной в виде операций в парадигме MapReduce. Мы используем собственную систему YT, которая предоставляет распределённый storage и интерфейс запуска распределённых вычислений с произвольным пользовательским кодом. В докладе я расскажу о задачах, возникающих при попытке написать софт, который будет что-то планировать на кластерах из большого количества машин.»
Архитектура отказоустойчивого планировщика задач. Доклад Яндекса