Bezpieczeństwo Kubernetes

Klaster uruchomiony w domyślnej konfiguracji działa poprawnie i jest otwarty. Zamykamy go, nie psując tego, co na nim stoi.

Adresujemy wymagania techniczne
NIS2UKSCDORA
Warstwy, które zamykamy
  1. Dostęp do APIRBAC bez zbędnych administratorów
  2. Przestrzenie nazwizolacja zespołów i środowisk
  3. Wdrożeniapolityki blokujące niebezpieczne
  4. Obrazytylko z zaufanego rejestru
  5. Siećruch tylko tam, gdzie trzeba
  6. Działaniewykrywanie nietypowych zachowań

Zmiany wprowadzamy etapami, żeby nie zatrzymać tego, co już działa.

Jak to wygląda dzisiaj

Tak wygląda punkt wyjścia w wielu firmach, które dowożą szybko i podlegają regulacjom.

Kubernetes wstaje szybko i działa od razu — dlatego konfiguracja z pierwszego dnia często zostaje na lata. Kontenery chodzą z nadmiarowymi uprawnieniami, ruch między nimi jest nieograniczony, a nikt nie kontroluje, jaki obraz wolno uruchomić.

  1. Obraz z internetu
  2. Kontener z pełnymi uprawnieniami
  3. Ruch bez ograniczeń
  4. Inne usługi
  5. Cały klaster

Co robimy

Zakres ustalamy po diagnozie — zaczynamy od elementu, który najszybciej obniży Wasze ryzyko.

Zamykamy klaster, nie psując tego, co na nim działa.

Przeglądamy konfigurację klastra — uprawnienia, izolację przestrzeni nazw, dostęp do interfejsu zarządzania — i wskazujemy, co jest otwarte tylko dlatego, że tak było pierwszego dnia. Zamiast wyłapywać niebezpieczne wdrożenia ręcznie, wprowadzamy polityki, które blokują je automatycznie. Ruch między usługami ograniczamy do tego, co rzeczywiście musi się komunikować, żeby przejęcie jednego kontenera nie otwierało drogi do reszty. Na końcu włączamy wykrywanie w czasie działania — sygnał, gdy w kontenerze dzieje się coś, czego tam nigdy nie było.

Cztery etapy

Po każdym etapie zostaje u Was konkretny rezultat, a nie notatka ze spotkania.

  1. 01

    Przeglądamy konfigurację klastra

    Uprawnienia, izolacja przestrzeni nazw, dostęp do interfejsu zarządzania.

    RezultatLista tego, co jest otwarte tylko dlatego, że tak było pierwszego dnia

  2. 02

    Wprowadzamy polityki

    Reguły, które automatycznie blokują niebezpieczne wdrożenia — zamiast wyłapywać je ręcznie.

    RezultatPolityki, które same zatrzymują niebezpieczne wdrożenia

  3. 03

    Ograniczamy ruch wewnętrzny

    Usługa rozmawia tylko z tym, z czym rzeczywiście musi.

    RezultatReguły ruchu: każda usługa rozmawia tylko z tym, z czym musi

  4. 04

    Włączamy wykrywanie w czasie działania

    Sygnał, gdy w kontenerze dzieje się coś, czego tam nigdy nie było.

    RezultatAlerty, gdy w kontenerze dzieje się coś, czego tam nigdy nie było

Co dostajecie w praktyce

Wdrożenie kończy się działającą konfiguracją i dowodami, a nie raportem z listą zaleceń. Tak to wygląda na przykładzie.

Polityka dla przestrzeni nazwnamespace.yaml
# niebezpieczne wdrożenie zostaje odrzucone
apiVersion: v1
kind: Namespace
metadata:
  name: platnosci
  labels:
    pod-security.kubernetes.io/enforce: restricted
    pod-security.kubernetes.io/enforce-version: latest

Kontener z uprawnieniami roota nie wystartuje — nikt nie musi go wyłapywać ręcznie.

Reguły ruchufragment
ZDoPort
frontendapi8443
apibaza danych5432
apikolejka5672
pozostały ruch—zablokowany

Przejęcie jednej usługi nie otwiera drogi do całej reszty.

Sygnał z działaniazdarzenie
Zdarzenie
powłoka uruchomiona w kontenerze
Gdzie
platnosci / api
Reguła
Terminal shell in container (Falco)
Trafia do
dyżur zespołu platformy
Status
do wyjaśnienia

Sygnał przychodzi w chwili zdarzenia, a nie przy przeglądzie logów po fakcie.

Ilustracja. Zakres i narzędzia dobieramy po diagnozie.

Co zostaje u Was

Niebezpieczne wdrożenie zatrzymuje się automatycznie

Skutki jednego przejętego kontenera nie rozlewają się na klaster

Konfiguracja przestaje zależeć od pamięci jednej osoby

Najczęstsze pytania

Ile to trwa?+

Zakres ustalamy po rozmowie i diagnozie. Mniejsze wdrożenia zamykają się w kilku tygodniach, większe dzielimy na etapy, żeby efekt był widoczny po pierwszym.

Czy musimy dać Wam dostęp do kodu?+

Zwykle nie do całego. W większości przypadków wystarczy dostęp do konfiguracji procesu budowania i ustawień organizacji. Zakres ustalamy pisemnie przed startem.

Czy nasz zespół musi się zaangażować?+

Tak, ale nie na pełen etat. Potrzebujemy kontaktu z osobą, która zna system, i przeglądu naszych zmian. Reszta jest po naszej stronie.

Co jeśli mamy już narzędzia?+

Wpinamy się w to, co u Was działa. Wymiana narzędzia to najdroższy i najrzadziej potrzebny sposób poprawy bezpieczeństwa.

Czy uzależniamy się od Was?+

Nie. Pracujemy na standardach i narzędziach, które Wasz zespół zna albo szybko pozna — nie na autorskiej metodyce, którą rozumiemy wyłącznie my. Wszystko jest udokumentowane i przekazane.

Czy to nie spowolni wydawania?+

Tak wpinamy kontrole, żeby działały w tle. Jeśli któraś zaczyna blokować pracę, dostrajamy ją albo zmieniamy jej miejsce w procesie.

Sprawdźmy, gdzie ryzyko
powstaje w Waszym procesie

Odpowiadamy w 24h w dni robocze