На днях обновился проект Kubernetes Goat, о котором уже писали на канале, а для тех, кто пропустил это, то это специально заготовленный
Из нового добавили следующие сценарии и знакомства с инструментами:
-
Kubernetes кластер с классическими уязвимостями, слабостями и проблемами для обучающих целей. Из нового добавили следующие сценарии и знакомства с инструментами:
-
Hidden in layers
- RBAC Least Privileges Misconfiguration
- KubeAudit - Audit Kubernetes Clusters
- Sysdig Falco - Runtime Security Monitoring & Detection
- Popeye - A Kubernetes Cluster Sanitizer
- Secure network boundaries using NSP
По этой же теме я недавно нашел проект Kube-Goat, который, к сожалению, 2 года не обновляется, но может кому-то он приглянется. А так это два хороших проекта для обучающих целей)Telegram
k8s (in)security
Kubernetes Goat - это специально заготовленный Kubernetes кластер с классическими уязвимостями, слабостями и проблемами для обучающих целей. Серия Goat достаточно популярно в security сообществе - есть и web-приложения, mobile-приложения и т.д. И вот очередь…
Ресурс
Если внимательно почитать о данном объекте в документации, то станет известно, что можно ограничивать количество ресурсов разных типов в определенном
-
Если у вас используются еще какие-то другие
ResourceQuota уже не раз упоминался в контексте ИБ у нас на канале. Сегодня хочется поделиться еще одним прикольным трюком с ним в контексте ограничения сетевого доступа. Неожиданно правда?)Если внимательно почитать о данном объекте в документации, то станет известно, что можно ограничивать количество ресурсов разных типов в определенном
namespace, в том числе и базовых связанных с сетью:-
services
- services.loadbalancers
- services.nodeports
И вот если последним двум поставить значение лимита в 0, то это предотвратит создание пользователями приложений доступных из вне кластера там, где этого точно не должно быть. То есть получим еще один уровень обороны на ряду с NetworkPolicy от нерадивых и зловредных пользователей на сетевом уровне.Если у вас используются еще какие-то другие
Custom Resource связанные с сетью, то и их можно также описать в ResourceQuota ;)Telegram
k8s (in)security
Не важными для безопасности на первый взгляд `LimitRange` и `ResourceQuota` только такими кажутся. Они играют важную роль в жизни Kubernetes кластера, так как без них он может спокойно уходить в DoS (Denial of Services). Это может быть из-за исчерпания ресурсов:…
24 июня в Москве
И мне посчастливилось быть одним из докладчиков на этой конференции. Там я выступлю с докладом
- Неразрывная связь
-
- "Complexity is the worst enemy of security, and our systems are getting more complex all the time.", Bruce Schneier
- `"Scientia potentia est"
-
В общем, хочется поделиться своим взглядом на такой
Регистрация на мероприятие уже открыта!
offline пройдет конференция Kuber Conf от Yandex.Cloud - как не сложно догадаться про Kubernetes ;)И мне посчастливилось быть одним из докладчиков на этой конференции. Там я выступлю с докладом
"Kubernetes: Observability важная часть Security". Основными тезисами которого я выделил следующие моменты:- Неразрывная связь
security и reliability-
Observability это не только логи, метрики и трейсы- "Complexity is the worst enemy of security, and our systems are getting more complex all the time.", Bruce Schneier
- `"Scientia potentia est"
-
Observability для Continuous inventory и Continuous security profilingВ общем, хочется поделиться своим взглядом на такой
buzzword как observability =)Регистрация на мероприятие уже открыта!
В первой части этой заметки, мы поговорим о необходимости обеспечения безопасности образов контейнеров, которые хранятся в реестрах
Все это делает
Поэтому, очень важно перед запуском таких контейнеров проводить самостоятельный аудит содержимого образов, наряду со стандартным сканированием на уязвимости. А для мэйнтейнеров популярных образов необходимо обеспечить непрерывный мониторинг изменений, с помощью
Amazon Elastic Container Registry (ECR). Для управления доступом и контроля над тем, кто или что (например, какие инстансы EC2) имеет доступ к образам контейнеров, Amazon ECR использует сервис IAM, который позволяет установить политики доступа для пользователей в рамках одного аккаунта или открыть доступ к образам в частном репозитории для другого аккаунта AWS. К тому же, в ноябре прошлого года AWS анонсировали ECR Public, публичную версию реестра образов контейнеров , которые можно загрузить, даже не имея аккаунта AWS.Все это делает
ECR очень привлекательной целью для киберзлодеев для проведения атак на цепочку поставок, так как успешная целевая атака на аккаунт мэйнтейнера популярного образа, с целью размещения бэкдора/майнера приведет к компрометации всех пользователей, использующих данный контейнер.Поэтому, очень важно перед запуском таких контейнеров проводить самостоятельный аудит содержимого образов, наряду со стандартным сканированием на уязвимости. А для мэйнтейнеров популярных образов необходимо обеспечить непрерывный мониторинг изменений, с помощью
CloudTrail и GuardDuty и других интегрированных инструментов обеспечения безопасности AWS. Завтра, мы продолжим обсуждение этой темы и рассмотрим инструменты позволяющие автоматизировать подобную атаку, в рамках проведения тестирований на проникновение.gallery.ecr.aws
ECR Public Gallery
Amazon ECR Public Gallery is a website that allows anyone to browse and search for public container images, view developer-provided details, and see pull commands
Как по ресурсу
Если вспомнить как
Сейчас при создании данного ресурса они по умолчанию никак не назначаются ... Но с версии
P.S. Учтите, что от этого сами
Namespace определить с хорошей вероятностью что в данном кластере не используют NetworkPolicy, ну или по крайней мере микросервисы в данном namespace никак не ограничены NetworkPolicy (исключение OpenShift с его концепцией project)???Если вспомнить как
NetworkPolicy определяется и что для это использует namespaceSelector, который завязан на labels от namespace, то правильный ответ: отсутствие labels в описании.Сейчас при создании данного ресурса они по умолчанию никак не назначаются ... Но с версии
1.21 появилась [beta] фича automatic labelling! Но если у вас еще не такая версия, то можно воспользоваться Mutating возможностями от policy engines при создании новых 'namespace'. А для тех, что уже существуют пройтись с помощью команды:for ns in $(kubectl get namespace -A -ojsonpath='{.items[*].metadata.name}'); do kubectl label namespace $ns label.name/namespace=$ns; doneP.S. Учтите, что от этого сами
NetworkPolicy автоматически не появятся ;)Telegram
k8s (in)security
Network Policies - определяет какие Pods и Endpoints могут взаимодействовать по сети друг с другом (такой кластерный firewall). Это очень важная с точки зрения безопасности сущность, которая позволяет реализовать концепцию микросегментации. Сразу стоит учесть…
В продолжении темы про возможность supply chain атак на реестр образов контейнеров
Предположим, что злоумышленнику удалось каким-либо образом получить учетные данные аккаунта мэйнтейнера репозитория популярных и часто загружаемых образов контейнеров в
Осознавая риски и последствия подобных атак в начале 2021 года более 200 крупных технологических компаний присоединились к программе
AWS ECR, рассмотрим утилиту Cloud Container Attack Tool (CCAT). С помощью этого инструмента, можно автоматизировать создание и загрузку вредоносного образа контейнера в репозитории AWS ECR, во время проведения тестирований на проникновение в облачной инфраструктуре AWS.Предположим, что злоумышленнику удалось каким-либо образом получить учетные данные аккаунта мэйнтейнера репозитория популярных и часто загружаемых образов контейнеров в
ECR. CCAT позволяет выгрузить все образы, на лету создать на основе интересующего образа новый Dockerfile содержащий, например reverse shell отрабатывающий по cron'у. Далее собрать вредоносный контейнер и загрузить обратно в AWS ECR и уже ловить шеллы от других пользователей, которые будут им пользоваться в дальнейшем. Подобная простая в реализации атака на единственный аккаунт AWS может потенциально привести к печальным последствиям для большого количества пользователей, использующих забекдоренный контейнер.Осознавая риски и последствия подобных атак в начале 2021 года более 200 крупных технологических компаний присоединились к программе
Docker Verified Publisher, которая призвана обеспечить безопасность и регулярный аудит образов контейнеров популярного ПО. Но это вовсе не значит что образ помеченный, как Verified по умолчанию безопасен и не нуждается в самостоятельном аудите содержимого.Telegram
k8s (in)security
В первой части этой заметки, мы поговорим о необходимости обеспечения безопасности образов контейнеров, которые хранятся в реестрах Amazon Elastic Container Registry (ECR). Для управления доступом и контроля над тем, кто или что (например, какие инстансы…
Бывают такие случаи, когда вот знаешь, как получить информацию через
Решение: У
Далее уже можно этот запрос добавить, как себе в код так в любимый инструмент типа Burp ;) На просторах интернета можно еще найти много других полезных трюков с этим параметром.
kubectl, а логику запроса нужно запрограммировать в своей программе и тащить с собой весь kubectl не хорошо и не хочется, а вникать во весь API долго. Решение: У
kubectl есть замечательный параметр -v, отвечающий за verbosity вывода. Так вот если его использовать в значении --v=8, то будет отображено все содержимое HTTP запроса`. На пример:kubectl get services -A -l environment=production -ojson -v=8Далее уже можно этот запрос добавить, как себе в код так в любимый инструмент типа Burp ;) На просторах интернета можно еще найти много других полезных трюков с этим параметром.
30 июня в Санкт-Петербурге
На ней я в рамках секции
Также в рамках данной секции для аудитории данного канала точно будет интересен доклад
Приходите буду рад познакомится и пообщаться в живую =)
offline пройдет юбилейная 10-я конференция по информационной безопасности ZeroNights.На ней я в рамках секции
Defensive Track представлю доклад "Container escapes: Kubernetes edition" - поговорим о том, как и что могут атакующие и что можно сделать, чтобы усложнить побег из Pod’а.Также в рамках данной секции для аудитории данного канала точно будет интересен доклад
"Attacking the microservice applications: methods and practical tips". Приходите буду рад познакомится и пообщаться в живую =)
На канале уже не раз писали о важности правильно выдавать/контролировать своим workload'ам
И вот вышла замечательная статья “Linux Privilege Escalation – Exploiting Capabilities”, в которой есть:
- полный список
- список опасных
- как определить имеющиеся
- пример поднятия привилегий
И еще упоминается полезные проекты LinPEAS, GTFOBins и статья с HackTricks по этой теме. К этому, я могу добавить еще старый, но хороший документ "Exploiting capabilities: Parcel root power, the dark side of capabilities".
Также рекомендую вспомнить наш пост про GKE Autopilot и как он работает с
Capabilities (особенно про CAP_NET_RAW [1,2,3,4]). Напомним, что, Capabilities является частью securityContext и здесь ими можно управлять.И вот вышла замечательная статья “Linux Privilege Escalation – Exploiting Capabilities”, в которой есть:
- полный список
Capabilities с их описанием- список опасных
- как определить имеющиеся
- пример поднятия привилегий
И еще упоминается полезные проекты LinPEAS, GTFOBins и статья с HackTricks по этой теме. К этому, я могу добавить еще старый, но хороший документ "Exploiting capabilities: Parcel root power, the dark side of capabilities".
Также рекомендую вспомнить наш пост про GKE Autopilot и как он работает с
Capabilities.Telegram
k8s (in)security
На DokerCon 2020 доклад "Lack Of Self Isolation" был посвящен архитектурному недостатку капабилити CAP_NET_RAW, которая позволяет использовать raw sockets. Благодаря манипуляции заголовками сетевых пакетов можно производить атаки: ARP и DNS spoofing. Данная…
Как сделать аутентификацию в приложении в GKE?
В обычном варианте обычно это происходит так — средствами ingress controller добавляется аутентификация через
Недостатки данного метода:
- в случае с
- в случае с
Google позволяет нам забыть про всё это и использовать уже известный нам
Identity-Aware-Proxy (IAP) — инструмент реализующий централизованную авторизацию для приложений в
Принцип работы прост:
-
-
- если проверка прошла, запрос проксируется на
Нюанс №1 — необходимо проверять заголовки от
Если вы используете
В качестве
Также,
Велика вероятность, что вы уже используете
Про второй неочевидный нюанс в следующем посте.
В обычном варианте обычно это происходит так — средствами ingress controller добавляется аутентификация через
Basic Auth/OAuth.Недостатки данного метода:
- в случае с
Basic Auth, где-то надо хранить хеши паролей и уметь их обновлять- в случае с
OAuth, надо полагаться на внешний OAuth provider, либо держать свой (самые популярные Dex, Keycloak, ORY Hydra)Google позволяет нам забыть про всё это и использовать уже известный нам
IAM.Identity-Aware-Proxy (IAP) — инструмент реализующий централизованную авторизацию для приложений в
GCP.Принцип работы прост:
-
Google Sign-In аутентифицирует клиента (живого человека или ServiceAccount)-
IAM проверяет доступ и проводит aвторизацию клиента- если проверка прошла, запрос проксируется на
backend c JWT токеном, подписанным IAP'омНюанс №1 — необходимо проверять заголовки от
IAP.Если вы используете
GKE, то за вас это сделает Ingress Controller, необходимо лишь создать нужные ресурсы в Kubernetes. Если нет, то заголовки придется проверять самому.В качестве
backend IAP поддерживает Compute, GKE, Cloud Run, App Engine, и даже on-premises через Interconnect.Также,
IAP поддерживает Google Workspaces, что позволяет организовать доступ сотрудников к ресурсам компании.Велика вероятность, что вы уже используете
IAM, тогда IAP — еще один удобный сервис, который обеспечивает безопасность ваших приложений.Про второй неочевидный нюанс в следующем посте.
Классная заметка/инструкция "How to protect your ~/.kube/ configuration".
По итогу, с помощью
Поверьте, порой в кластер попасть на много проще через машину ваших сотрудников, чем через уязвимое приложение на базе устаревшего образа. Так что не забываем и о безопасности данных на пользовательских машинах ;)
По итогу, с помощью
encfs - вы сможете шифровать данную директорию, делать ее доступной только на определенное время и только по паролю. Поверьте, порой в кластер попасть на много проще через машину ваших сотрудников, чем через уязвимое приложение на базе устаревшего образа. Так что не забываем и о безопасности данных на пользовательских машинах ;)
Gist
How to protect your ~/.kube/ configuration
How to protect your ~/.kube/ configuration. GitHub Gist: instantly share code, notes, and snippets.
Недавно я стал гостем замечательно подкаста по информационной безопасности под названием "Мимокрокодил". Выпуск называется "Qu3b3c: Немного про K8s и Cloud Native" и там мы поговорили о
Подкаст можно послушать на:
Яндекс.Музыка
Apple.Podcasts
Google Podcast
Anchor
Castbox
Spotify (за пределами РФ)
P.S. Рекомендую послушать и другие выпуски - там в гостях уже побывало много моих хороших друзей и знакомых!
Kubernetes, DevSecOps, Shift Left Security, Observability и многом другом что связано с Cloud Native.Подкаст можно послушать на:
Яндекс.Музыка
Apple.Podcasts
Google Podcast
Anchor
Castbox
Spotify (за пределами РФ)
P.S. Рекомендую послушать и другие выпуски - там в гостях уже побывало много моих хороших друзей и знакомых!
Замечательный документ "Cloud Incident Response Framework" от
Авторы все разбили на четыре фазы:
1)
Отдельно выделю еще
- Mean time to detect (
- Mean time to acknowledge (
- Mean time to recovery (
- Mean time to containment (
И мое любимое: "A lack of visibility in the cloud means that incidents that could have been remediated quickly are not addressed immediately and are at risk of further escalation."
Cloud Security Alliance про реагирование на инциденты в облачных окружениях.Авторы все разбили на четыре фазы:
1)
Preparation
2) Detection and Analysis
3) Containment, Eradication and Recovery
4) Postmortem
Если вы уже живете в облаках есть ли у вас это в ваших процессах?) Отдельно выделю еще
Incident Evaluation Metrics, где описываются, рассматриваемые нами ранее:- Mean time to detect (
MTTD)- Mean time to acknowledge (
MTTA)- Mean time to recovery (
MTTR)- Mean time to containment (
MTTC)И мое любимое: "A lack of visibility in the cloud means that incidents that could have been remediated quickly are not addressed immediately and are at risk of further escalation."
cloudsecurityalliance.org
Cloud Incident Response Framework | CSA
This framework provides cloud customers with a cloud incident response strategy that helps them manage cloud security incidents.
В преддверии моего выступления на Kuber Conf поучаствовал в легендарном подкасте
Список тем из выпуска:
- Город поребриков и контекст
- Безопасность и регуляторы
- Ностальгия и мотивация
- Очный DevOpsConf и Security champions
- SRE, Observability, Root Cause Analysis
- Наш путь и международный ландшафт
- Безопасность и open source
- Важное и полезное
Слушайте нас в 254 подкаста!
Telegram
VK
Twitter
FB
«The Art Of Programming» (выходит с 2008 года). Мы записали небольшой выпуск на злободневную тему: «Безопасные безопасности». Список тем из выпуска:
- Город поребриков и контекст
- Безопасность и регуляторы
- Ностальгия и мотивация
- Очный DevOpsConf и Security champions
- SRE, Observability, Root Cause Analysis
- Наш путь и международный ландшафт
- Безопасность и open source
- Важное и полезное
Слушайте нас в 254 подкаста!
Telegram
VK
FB
Telegram
k8s (in)security
24 июня в Москве offline пройдет конференция Kuber Conf от Yandex.Cloud - как не сложно догадаться про Kubernetes ;)
И мне посчастливилось быть одним из докладчиков на этой конференции. Там я выступлю с докладом "Kubernetes: Observability важная часть Security".…
И мне посчастливилось быть одним из докладчиков на этой конференции. Там я выступлю с докладом "Kubernetes: Observability важная часть Security".…
Почти спустя месяц после релиза "ATT&CK® for Containers" мои руки дошли до него. Теперь это уже официальная часть ATT&CK версии 9.0.
Матрица от
Рассматривать контейнер в отрыве от окружения по мне неправильно - много важных моментов теряется. Мне кажется, это поняли и авторы, так как в части пунктов упоминается "orchestration", а если зайти в каждую из техник, то там часто встречается либо пример, либо метод детектирования связанный с
Но тем не менее можно эту матрицу сочетать с матрицей
Матрица от
Microsoft для Kubernetes мне нравится больше. Почему?Рассматривать контейнер в отрыве от окружения по мне неправильно - много важных моментов теряется. Мне кажется, это поняли и авторы, так как в части пунктов упоминается "orchestration", а если зайти в каждую из техник, то там часто встречается либо пример, либо метод детектирования связанный с
Kubernetes. А еще не очень приятный момент что часть техник они просто пересекли с техниками из Enetrprise матрицы и в итоге читаете описание и примеры, вообще никак не связанные с контейнерами ...Но тем не менее можно эту матрицу сочетать с матрицей
Microsoft.Medium
ATT&CK® for Containers now available!
Written by Jen Burns, Chris Ante, and Matt Bajzek
Достаточно неплохая статья "PCI DSS compliance in Kubernetes-based platforms" для тех, у кого голова об этом болит ;) Базовые пункты и рекомендации покрыты не плохо с примерами
OpenSource проектов. Но назвать это полноценным и лучшим выбором нельзя. Но для тех, кто только начинает - хороший старт.elastisys
PCI DSS compliance in Kubernetes-based platforms - elastisys
Kubernetes alone does not help achieve PCI DSS compliance. We cover the 12 requirements of how fintech businesses can make it more compliant.
Скоро начнётся мой доклад на Kuber Conf https://youtu.be/VLcMAS_lIQw
YouTube
Kuber Conf
Хотите внедрять крутые фичи раньше конкурентов, быстро проверять гипотезы в этом изменчивом мире и не тратить годы на разработку? Тогда смотрите в записи Kuber Conf — первую конференцию Yandex.Cloud о работе с экосистемой Kubernetes®. В одной трансляции собрались…
Знаю, что многие очень негативно или скептически относятся к
Но злоумышленники уже прощупывают эту почву. И даже
Далее уже вредоносное ПО на
Kubernetes c Node на Windows ...Но злоумышленники уже прощупывают эту почву. И даже
container escape делают через технику Thread Impersonation, используя недокументированный вызов Windows под названием NtImpersonateThread, а далее уже NtSetInformationSymbolicLink для самого побега. По сути это продолжение вот этой истории. Ну и тут все как положено с Microsoft)))Далее уже вредоносное ПО на
Node ищет kubectl.exe и config файл по RegExp для продолжения атаки.Unit 42
Siloscape: First Known Malware Targeting Windows Containers to Compromise Cloud Environments
The main purpose of Siloscape is to open a backdoor into poorly configured Kubernetes clusters in order to run malicious containers.
Продолжение статьи про Identity Aware Proxy
Для аутентификации с помощью ServiceAccount, необходимо иметь permission
Нюанс №2
ServiceAccount с permission
Соответственно, обладая ServiceAccount'ом с таким permission, можно имперсонировать другой аккаунт и обойти IAP.
К сожалению ограничить действие permission на определенные ServiceAccount через Conditions не представляется возможным.
Используя этот нюанс можно было решить мою таску на Hack and Learn Initiative про мисконфиги в GCP. В ней также был реализован нюанс из прошлой статьи — кривая проверка хедеров от IAP
Подробный write-up можно почитать тут
Как бы удобны не казались облачные сервисы, нужно вдумчиво читать всю документацию, чтобы по пути не сделать несколько ошибок, в попытке сделать своё приложение безопаснее.
Для аутентификации с помощью ServiceAccount, необходимо иметь permission
iam.serviceAccounts.getOpenIdToken и получить OIDC токен Нюанс №2
ServiceAccount с permission
iam.serviceAccounts.getOpenIdToken может выписывать OIDC токен для любого другого ServiceAccountСоответственно, обладая ServiceAccount'ом с таким permission, можно имперсонировать другой аккаунт и обойти IAP.
К сожалению ограничить действие permission на определенные ServiceAccount через Conditions не представляется возможным.
Используя этот нюанс можно было решить мою таску на Hack and Learn Initiative про мисконфиги в GCP. В ней также был реализован нюанс из прошлой статьи — кривая проверка хедеров от IAP
Подробный write-up можно почитать тут
Как бы удобны не казались облачные сервисы, нужно вдумчиво читать всю документацию, чтобы по пути не сделать несколько ошибок, в попытке сделать своё приложение безопаснее.
Telegram
k8s (in)security
Как сделать аутентификацию в приложении в GKE?
В обычном варианте обычно это происходит так — средствами ingress controller добавляется аутентификация через Basic Auth/OAuth.
Недостатки данного метода:
- в случае с Basic Auth, где-то надо хранить хеши паролей…
В обычном варианте обычно это происходит так — средствами ingress controller добавляется аутентификация через Basic Auth/OAuth.
Недостатки данного метода:
- в случае с Basic Auth, где-то надо хранить хеши паролей…
Сегодняшняя новость будет актуальна пользователям
Буквально несколько дней назад было объявлено о CVE-2021-34824 (или по внутренней нумерации ISTIO-SECURITY-2021-007), которая звучит как: "Istio contains a remotely exploitable vulnerability where credentials specified in the Gateway and DestinationRule credentialName field can be accessed from different namespaces." с
А вообще у
Istio в своих Kubernetes владениях или тем, кто проводит аудиты безопасности и понятное дело время от времени нуждается в уязвимостях во встречаемых, сторонних решениях.Буквально несколько дней назад было объявлено о CVE-2021-34824 (или по внутренней нумерации ISTIO-SECURITY-2021-007), которая звучит как: "Istio contains a remotely exploitable vulnerability where credentials specified in the Gateway and DestinationRule credentialName field can be accessed from different namespaces." с
CVSS Impact Score равным 9.1. Так что патчимся ;)А вообще у
Istio есть хорошая официальная страничка о найденных в нем уязвимостях (как раз та внутренняя нумерация) и там можно отметить, что за 2021 год было уже закрыто 7 уязвимостей и их CVSS не ниже 7.5! Так что обратите внимание на этот момент.Istio
ISTIO-SECURITY-2021-007
Istio contains a remotely exploitable vulnerability where credentials specified in the Gateway and DestinationRule credentialName field can be accessed from different namespaces.
Есть легендарный пост на
Некоторое время назад на канале мы публиковали похожий материал "What happens when ... Kubernetes edition!", где описывается что происходит при создании
- "How It Works — kubectl exec" (Docker shim)
- "How does 'kubectl exec' work?" (CRI-O)
Если вы как и наша команда хотите не просто использовать
GitHub: "What happens when you type google.com into your browser's address box and press enter?" (и подобные), объясняющий что же там за магия творится .Некоторое время назад на канале мы публиковали похожий материал "What happens when ... Kubernetes edition!", где описывается что происходит при создании
Pods, через команду:kubectl run nginx --image=nginx --replicas=3
В продолжении данной темы мы рекомендуем обратить свое внимание на статьи про то, что происходит, когда используется kubectl exec (не малозначимая команда для ИБ):- "How It Works — kubectl exec" (Docker shim)
- "How does 'kubectl exec' work?" (CRI-O)
Если вы как и наша команда хотите не просто использовать
k8s, но и понимать его, понимать как он работает, то это определенно MUST READ!GitHub
GitHub - alex/what-happens-when: An attempt to answer the age old interview question "What happens when you type google.com into…
An attempt to answer the age old interview question "What happens when you type google.com into your browser and press enter?" - alex/what-happens-when