• ClusterIP — открывает доступ к сервису по внутреннему IP-адресу в кластере. Этот тип делает сервис доступным только внутри кластера;
• NodePort — открывает сервис на том же порту каждого выбранного узла в кластере с помощью NAT. Делает сервис доступным вне кластера через
<NodeIP>:<NodePort>
. Является надмножеством ClusterIP;• LoadBalancer — создает внешний балансировщик нагрузки в текущем облаке (если это поддерживается) и назначает фиксированный внешний IP-адрес для сервиса. Является надмножеством NodePort;
• ExternalName — открывает доступ к сервису по содержимому поля
externalName
(например, foo.bar.example.com
), возвращая запись CNAME
с его значением. При этом прокси не используется. Для этого типа требуется версия kube-dns
1.7+ или CoreDNS
0.0.8+.#Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
• Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности:
• Дополнительно:
- Обучающий курс по Kubernetes;
- Шпаргалка по архитектуре Kubernetes;
- Взлом и защита Kubernetes;
- Полезные уроки, которые помогут освоить K8s;
- Top 4 Kubernetes Service Types in one diagram;
- ТОП-8 книг по DevOps в 2023 году.
#Kubernetes #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
• Kubernetes authentication principles;
• Internal Kubernetes authentication methods;
- Static token authentication;
- Bootstrap tokens;
- X.509 client certificates;
- Service account tokens;
• External authentication methods;
- OpenID Connect (OIDC);
- Webhook token authentication;
- Authenticating proxy;
- Impersonating proxy;
• Authentication for other Kubernetes components;
- Kubelet;
- Controller manager and scheduler;
- Kube-proxy;
- Etcd;
• Conclusion.
#Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
• Коллекция полезных шпаргалок для DevOps и IT специалистов. Содержание следующее:
- #Nginx;
- #Docker;
- #Ansible;
- #Python;
- Go (Golang);
- #Git;
- Regular Expression (Regex);
- #PowerShell;
- #VIM;
- #Jenkins;
- Continuous Integration and Continuous Delivery (CI/CD);
- #Kubernetes;
- #Linux;
- Redis;
- Slack;
- Puppet;
- Google Cloud Developer;
- PostgreSQL;
- Ajax;
- Amazon Web Services (AWS).
#CheatSheet #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
• Поделюсь с Вами очень интересным проектом, который описывает методы атак на Kubernetes. Проект сырой, но постоянно дополняется необходимой информацией. Особенно будет полезно изучить начинающим специалистам: https://kubenomicon.com/
• Другой полезный материал:
- Kubernetes: шпаргалка для собеседования;
- Обучающий курс по Kubernetes;
- Шпаргалка по архитектуре Kubernetes;
- Взлом и защита Kubernetes;
- Полезные уроки, которые помогут освоить K8s;
- Top 4 Kubernetes Service Types in one diagram;
- ТОП-8 книг по DevOps в 2023 году.
#Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
• Самое известное средство контейнеризации и автоматизации развертывания приложений — #Docker. Известное, но не единственное: достойную конкуренцию ему составляет Kubernetes. Разумеется, он тоже представляет определенный интерес для злоумышленников. Как защитить Kubernetes от взлома? Об этом — сегодняшняя статья:
- Restrict Kubernetes API access to specific IP ranges;
- Use Role-Based Access Control (RBAC);
- Enable PodSecurityPolicy (PSP);
- Use Network Policies;
- Enable Audit Logging;
- Use Secure Service Endpoints;
- Use Pod Security Context;
- Use Kubernetes Secrets;
- Enable Container Runtime Protection;
- Enable Admission Controllers;
- Hardcoded Credential;
- Container Escape Attack;
- Kubernetes API Server Attack;
- Pod-to-Pod Network Attack;
- Privilege Escalation Attack;
- Denial-of-Service (DoS) Attack;
- Kubernetes Threat Matrix.
#Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
• K8s LAN Party — это набор из пяти CTF-сценариев, в которых пользователю нужно найти уязвимости в кластере #Kubernetes. Каждый сценарий посвящен проблемам сети Kubernetes, с которыми сталкивались разработчики данного ресурса в реальной практике.
• Инструмент поможет участникам углубить свои знания в области безопасности кластера Kubernetes: у них будет возможность встать на место злоумышленников и изучить ошибки в конфигурациях, что пригодится в работе.
• В K8s LAN Party кластер уже развернут. Игроку нужно лишь выполнять команды в терминале прямо в браузере: https://www.k8slanparty.com
#CTF
Please open Telegram to view this post
VIEW IN TELEGRAM
K8Slanparty
K8s LAN Party
Kubernetes LAN Party - by Wiz
• PWK полностью повторяет идею (и даже интерфейс) своего «прародителя» Play with Docker (о котором я упоминал вчера): его основной сайт — это так называемая «игровая площадка» (playground), предоставляющая в веб-браузере доступ к виртуальной Linux-машине для возможности проведения экспериментов с кластерами Kubernetes. По сути это доступный бесплатно SaaS-аналог Minikube со своими удобствами (работа прямо в браузере) и ограничениями
• Предлагаемая в онлайн-сервисе лабораторная работа ориентирована на начинающих и посвящена основным концепциям и возможностям Kubernetes:
- Что вообще позволяет делать эта система: запуск контейнеров, балансировка нагрузки, выкатывание новых версий образов, автомасштабирование…;
- Архитектура Kubernetes;
- Ресурсы Kubernetes: узлы, поды, сервисы, пространства имён, секреты;
- Декларативный подход;
- Сетевая модель Kubernetes;
и т.п.
• Выглядит же прохождение лабораторной работы аналогично тому, как всё было в Play with Docker: слева у вас есть документ-инструкция (в том числе и команды для ввода), а справа — терминал (точнее, их два — для двух узлов Kubernetes), позволяющий «поиграть» в администратора K8s-кластера и видеть, что и как происходит на самом деле. Последнему, безусловно, способствует возможность выполнять произвольные уточняющие команды на любых этапах выполнения работы.
#Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
• ПО для обеспечения безопасности Kubernetes… их так много, и у каждого свои цели, область применения и лицензии... Однако, хочу поведать Вам о некоторых интересных решениях с открытым исходным кодом, которые полностью бесплатны:
• Trivy — простой, но мощный сканер уязвимостей для контейнеров, легко интегрируемый в CI/CD-пайплайн. Его примечательная особенность — простота установки и работы: приложение состоит из единственного бинарника и не требует установки базы данных или дополнительных библиотек. Обратная сторона простоты Trivy состоит в том, что придется разбираться, как парсить и пересылать результаты в формате JSON, чтобы ими могли воспользоваться другие инструменты безопасности Kubernetes.
• Portieris — это admission controller для Kubernetes; применяется для принудительных проверок на доверие к контенту. Portieris использует сервер Notary в качестве источника истины для подтверждения доверенных и подписанных артефактов (то есть одобренных контейнерных образов). При создании или изменении рабочей нагрузки в Kubernetes Portieris загружает информацию о подписи и политику доверия к контенту для запрошенных образов контейнеров и при необходимости на лету вносит изменения в JSON-объект API для запуска подписанных версий этих образов.
• Kube-bench — приложение на Go, проверяющее, безопасно ли развернут Kubernetes. Ищет небезопасные параметры конфигурации среди компонентов кластера (etcd, API, controller manager и т.д.), сомнительные права на доступ к файлам, незащищенные учетные записи или открытые порты, квоты ресурсов, настройки ограничения числа обращений к API для защиты от DoS-атак и т.п.
• Kube-hunter — Kube-hunter «охотится» на потенциальные уязвимости (вроде удаленного выполнения кода или раскрытия данных) в кластерах Kubernetes. Kube-hunter можно запускать как удаленный сканер — в этом случае он оценит кластер с точки зрения стороннего злоумышленника — или как pod внутри кластера. Отличительной особенностью Kube-hunter'а является режим «активной охоты», во время которого он не только сообщает о проблемах, но и пытается воспользоваться уязвимостями, обнаруженными в целевом кластере, которые потенциально могут нанести вред его работе. Так что пользуйтесь с осторожностью!
• Kubeaudit — это консольный инструмент, изначально разработанный в Shopify для аудита конфигурации Kubernetes на предмет наличия различных проблем в области безопасности. Например, он помогает выявить контейнеры, работающие без ограничений, с правами суперпользователя, злоупотребляющие привилегиями или использующие ServiceAccount по умолчанию. У Kubeaudit есть и другие интересные возможности. К примеру, он умеет анализировать локальные файлы YAML, выявляя недостатки в конфигурации, способные привести к проблемам с безопасностью, и автоматически исправлять их.
• Kyverno — движок политик безопасности Kubernetes с открытым исходным кодом, который помогает вам определять политики с помощью простых манифестов Kubernetes. Он может проверять, изменять и генерировать ресурсы Kubernetes. Таким образом, это может позволить организациям определять и применять политики так, чтобы разработчики и администраторы придерживались определенного стандарта.
#Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
• Nuclei — очень быстрый сканер уязвимостей с открытым исходным кодом, который можно настроить с помощью шаблонов. Может работать с различными протоколами, такими как: TCP, HTTP, DNS. А еще Nuclei можно настроить под свои нужды, так как сканирование основано на шаблонах, написанных в формате YAML.
• Так вот, в новой версии Nuclei (9.9.0) разработчики добавили темплейты для сканирования Kubernetes кластера и всё подробно описали в своем блоге:
- Deployment Configurations Review;
- Network Policies Enforcement;
- Pod Security Standards;
- Compliance and Configuration Management;
- Security Contexts and Roles;
- Logging and Monitoring;
- Secrets Management;
- Vulnerability Scanning and Patch Management.
#Kubernetes #Nuclei
Please open Telegram to view this post
VIEW IN TELEGRAM