k8s (in)security

Description
Канал о (не)безопасности Kubernetes + микросервисных, контейнеризированных приложений. Ценим и любим reliability и security, а также observability.

Ведет команда www.luntry.ru

Вопросы, идеи, предложения => @Qu3b3c
Advertising
We recommend to visit
HAYZON
HAYZON
5,835,362 @hayzonn

لا اله الا الله محمد رسول الله

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 2 weeks ago

1 month, 3 weeks ago
В рамках конференции [Cloud Native Rejekts …

В рамках конференции Cloud Native Rejekts 2024 прошел доклад “Malicious Compliance Automated: When You Have 4000 Vulnerabilities and only 24 Hours Before Release” от Duffie Cooley и Kyle Quest. Данный доклад является логическим развитием одного из моим самых любимых докладов за последнее время "Malicious Compliance: Reflections on Trusting Container Image Scanners" =)

В новом докладе авторы обманывали сканеры уязвимостей всеми правдами и неправдами уже не в ручную, а автоматизировано и получили результат с нескольких тысяч уязвимостей до 0 =) В основном для это авторы использовали инструмент mint.

Кто там сторонник zero tolerance к уязвимостям?! В общем сезон образов без уязвимостей объявляется открытым!

1 month, 3 weeks ago

Как думаете, насколько опасна такая Role?

```

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-exec-view-role
rules:
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["get"]

```

Если вы думали, что только Role/ClusterRole с правами create – pods/exec может позволить пользователю делать exec в Pod, то вы ошибались. Благодаря особенностям работы Websockets, прав get – pods/exec будет достаточно, чтобы выполнять команды в Pod.

Что ещё более интересно, так это то, что такое поведение уже было давно в Kubernetes, но вы могли его не заметить, поскольку по умолчанию для exec использовался SPDY протокол, а не Websockets. О проблеме известно с 2019 года!

Чтобы получить exec при правах get – pods/exec, например, можно воспользоваться wscat:

```

wscat -s "base64url.bearer.authorization.k8s.io.$token, base64.channel.k8s.io" -n -c 'wss://192.168.99.100:8443/api/v1/namespaces/default/pods/testpod/exec?container=testpod&command=sh&stdout=true&stderr=true&stdin=true&tty=true'

```

Однако, начиная с версии Kubernetes 1.31 для операций attach, exec и port\-forward теперь по умолчанию используется Websockets, а это значит, что прав get – pods/exec будет достаточно, чтобы выполнять команды в Pod.

Нельзя не упомянуть свежую заметку Rory McCuneWhen is read-only not read-only?, в которой он рассказал об этой особенности.

1 month, 4 weeks ago
Продолжая тематику `Kubernetes Network Security`, `Rory …

Продолжая тематику Kubernetes Network Security, Rory McCune представил новую заметку в своем блоге – Exploring A Basic Kubernetes Network Plugin.

Статья объясняет, как в Kubernetes кластере Pods получают IP-адреса через сетевые плагины, соответствующие спецификации CNI. В примере используется kind с плагином kindnetd.

Конфигурация сети хранится в файле 10\-kindnet.conflist, где указаны IP-диапазоны для каждого узла. Для маршрутизации трафика между подами на разных узлах kindnetd создает записи в таблице маршрутизации. В завершение автор отмечает, что работа с сетью в Kubernetes может быть сложной и зависит от выбранного сетевого плагина.

4 months, 3 weeks ago

Когда-то на канале мы рассказывали о фишке, которая может быть полезна при пентесте в Kubernetes окружении – получение адресов всех сервисов в Kubernetes через dig:

```

dig SRV +short any.svc.cluster.local

```

Но, начиная с версии CoreDNS 1.9 (вышла около двух лет назад) эту возможность выпилили. А значит в свежих версиях Kubernetes этот трюк точно не будет работать.

P.S – тут может помочь k8spider, про который мы рассказывали в одном из предыдущих постов.

5 months ago

Совсем недавно компания RedHat выпустила 30-ти страничный отчёт "The state of Kubernetes security report 2024 edition". В нём довольно много цифр и статистики, но самое важное из этого:

- Обеспокоенность в мисконфигурациях продолжает снижаться из года в год. Тем не менее мисконфиги – это по прежнему одна из основных и частых проблем в безопасности Kubernetes кластеров (наши аудиты тому подтверждение)

- Уязвимостей с каждым годом становится только больше. Их нужно правильно триажить и приоритезировать

- Большинство респондентов ответило, что за последний год хотя бы раз сталкивались с инцидентами в рантайме

- Большая часть организаций признают ценность DevSecOps и способствуют сотрудничеству между DevOps и командами безопасности

5 months ago

Сегодня хотим поделиться небольшой утилитой incert, которая позволяет в одну команду изменить docker image, добавить в него CA сертификат и запушить обновленный образ в registry. Например, так:

```

$ incert -image-url=mycompany/myimage:latest -ca-certs-file=/path/to/cacerts.pem -dest-image-url=myregistry/myimage:latest

```

Саму тулзу можно посмотреть здесь, а в видео Adding Certificates to Container Images with Incert | Chainguard можно посмотреть какие проблемы она решает и как работает.

5 months, 1 week ago

Для того чтобы блокировать операции над subresources, вроде pods/exec или pods/portforward, необходимо внести некоторые изменения в конфигруацию вебхуков PolicyEngine. А именно – добавить операцию CONNECT. По умолчанию этой операции нет, и если её не добавить соответствующая политика на запрет использования pods/exec или pods/portforward просто не будет работать.

Но есть и хорошие новости. Если вы используете Kyverno и применяете политику, где задействован такой subresource (для контроля которого нужна операция CONNECT), то Kyverno автоматически пропатчит конфиг своего вебхука и добавит туда нужную операцию.

Про необходимость использования операции CONNECT мы рассазывали тут.

GitHub

[Bug] PodPortForwardOptions · Issue #5345 · kyverno/kyverno

Kyverno Version 1.7.3 Kubernetes Version 1.21.x Kubernetes Platform Other (specify in description) Kyverno Rule Type Validate Description Hello! I'm already using a blocking policy for exec and...

We recommend to visit
HAYZON
HAYZON
5,835,362 @hayzonn

لا اله الا الله محمد رسول الله

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 2 weeks ago