Jak zadbać o bezpieczeństwo Kubernetesa?

Aby zapewnić bezpieczeństwo Kubernetesowi powinniśmy trzymać się zasady czterech C (4C).

Dostawca chmury / kolokacji  (Cloud)

Wybierajmy sprawdzonych dostawców usług chmurowych czy serwerowych, czyli takich, którzy stawiają na pierwszym miejscu bezpieczeństwo usług. Stosujmy się do ich zaleceń związanych z ochroną przed zagrożeniami. Każdy z dostawców może nam zaoferować dodatkowe usługi, które podniosą bezpieczeństwo naszych zasobów. 

Klaster Kubernetes (Cluster)

Zabezpieczanie dostępu do newralgicznych elementów klastra powinno być priorytetem. Dlatego stosujmy najlepsze praktyki, takie jak: 

  • kontrola dostępu poprzez role, ograniczanie dostępu (RBAC), 
  • autentykacja (najlepiej dwuetapowa lub w oparciu o zewnętrznego dostawcę), 
  • najlepsze praktyki związane z bezpieczeństwem podów, 
  • reguły sieciowe ograniczające ruch przychodzący i wychodzący w obrębie klastra do minimum, 
  • TLS (stosujmy szyfrowane połączenia pomiędzy komponentami jak i ruchem przychodzącym do klastra). 

Kontener (Container)

Przy tworzeniu nowych obrazów powinniśmy dbać o to, by: 

  • nie podnosić niepotrzebnie uprawnień użytkowników do rangi super użytkowników, 
  • skanować stworzone obrazy w poszukiwaniu błędów bezpieczeństwa, 
  • podpisywać kryptograficznie stworzone obrazy, 
  • nie zezwalać na nadpisywanie obrazów w repozytorium. 

Kod (Code)

Dbajmy o kod, który jest wdrażany na klaster: 

  • stosujmy TLS do nawiązywania wszystkich połączeń, 
  • wykonujmy statyczną analizę kodu, 
  • skanujmy kod w poszukiwaniu backdorów i błędów bezpieczeństwa, 
  • stosujmy podejście „zero trust”.