Kontenery

Book description

Autorka Liz Rice, wiceprezydent działu Open Source Engineering w firmie Aqua Security, pokazała, jak w systemie Linux zostały skonstruowane komponenty, na podstawie których są najczęściej tworzone kontenery. Dzięki tej książce zrozumiesz, co się dzieje podczas wdrażania kontenerów i poznasz potencjalne niebezpieczeństwa zagrażające Twoim wdrożeniom. Jeżeli za pomocą poleceń kubectrl lub docker uruchamiasz aplikacje w kontenerach i używasz poleceń powłoki systemu Linux, takich jak ps i grep, masz wiedzę wystarczającą do rozpoczęcia lektury.

Table of contents

  1. Wprowadzenie
    1. Dla kogo jest przeznaczona ta książka?
    2. W jaki sposób jest zorganizowana ta książka?
    3. Słowo o Kubernetes
    4. Przykładowe fragmenty kodu
    5. Jak uruchamiać kontenery?
    6. Konwencje zastosowane w książce
    7. Użycie przykładowych kodów
    8. Podziękowania
  2. Rozdział 1. Zagrożenia związane z kontenerami
    1. Ryzyko, zagrożenie i środki ostrożności
    2. Model zagrożenia kontenera
    3. Granice bezpieczeństwa
    4. Wielodostępność
      1. Maszyny współdzielone
      2. Wirtualizacja
      3. Wielodostępność w przypadku kontenerów
      4. Egzemplarze kontenera
    5. Zasady dotyczące zapewnienia bezpieczeństwa
      1. Najmniejsze możliwe uprawnienia
      2. Głęboka defensywa
      3. Ograniczenie płaszczyzny ataku
      4. Ograniczenie pola rażenia
      5. Podział zadań
      6. Stosowanie zasad bezpieczeństwa w kontenerach
    6. Podsumowanie
  3. Rozdział 2. Wywołania systemu Linux, uprawnienia i właściwości jądra
    1. Wywołania systemowe
    2. Uprawnienia plików
      1. setuid i setgid
        1. Wpływ bitu setuid na zapewnienie bezpieczeństwa
    3. Mechanizm właściwości jądra systemu Linux
    4. Podniesienie uprawnień
    5. Podsumowanie
  4. Rozdział 3. Grupy kontrolne
    1. Hierarchia grup kontrolnych
    2. Tworzenie grup kontrolnych
    3. Definiowanie ograniczeń dla zasobów
    4. Przypisanie procesu do grupy kontrolnej
    5. Używanie grup kontrolnych z Dockerem
    6. Grupy kontrolne — wersja druga
    7. Podsumowanie
  5. Rozdział 4. Izolacja kontenera
    1. Przestrzenie nazw systemu Linux
    2. Izolacja nazwy hosta
    3. Izolowanie identyfikatorów procesów
    4. Zmiana katalogu głównego
    5. Połączenie przestrzeni nazw i zmiany katalogu głównego
    6. Przestrzeń nazw punktów montowania
    7. Przestrzeń nazw sieci
    8. Przestrzeń nazw użytkownika
      1. Ograniczenia przestrzeni nazw użytkownika w Dockerze
    9. Przestrzeń nazw IPC
    10. Przestrzeń nazw grup kontrolnych
    11. Proces kontenera z perspektywy systemu komputera gospodarza
    12. Maszyny gospodarza kontenera
    13. Podsumowanie
  6. Rozdział 5. Maszyna wirtualna
    1. Uruchomienie komputera
    2. Poznaj VMM
      1. Typ 1. VMM — hipernadzorca
      2. Typ 2. VMM
      3. Maszyny wirtualne oparte na jądrze
    3. Przechwyć i emuluj
    4. Obsługa instrukcji niewirtualizowanych
    5. Izolacja procesu i zapewnienie bezpieczeństwa
    6. Wady maszyny wirtualnej
    7. Izolacja kontenera w porównaniu do izolacji maszyny wirtualnej
    8. Podsumowanie
  7. Rozdział 6. Obrazy kontenera
    1. Główny system plików i konfiguracja obrazu
    2. Nadpisanie konfiguracji w trakcie działania obrazu
    3. Standardy OCI
    4. Konfiguracja obrazu
    5. Tworzenie obrazu
      1. Niebezpieczeństwa związane z poleceniem docker build
      2. Tworzenie obrazu kontenera bez użycia demona
      3. Warstwy obrazu
        1. Dane wrażliwe na warstwie
    6. Przechowywanie obrazów kontenera
    7. Identyfikowanie obrazów kontenera
    8. Zapewnienie bezpieczeństwa obrazowi kontenera
    9. Zapewnienie bezpieczeństwa podczas tworzenia obrazu
      1. Pochodzenie pliku Dockerfile
      2. Najlepsze praktyki związane z zapewnieniem bezpieczeństwa pliku Dockerfile
      3. Ataki na komputer, w którym są tworzone obrazy
    10. Zapewnienie bezpieczeństwa podczas przechowywania obrazów
      1. Utworzenie własnego rejestru obrazów
      2. Podpisywanie obrazów
    11. Zapewnienie bezpieczeństwa podczas wdrażania obrazów
      1. Wdrożenie właściwego obrazu
      2. Definicja wdrożenia zawierającego kod o złośliwym działaniu
      3. Sterowanie dopuszczeniem
    12. GitOps i zapewnienie bezpieczeństwa podczas wdrożenia
    13. Podsumowanie
  8. Rozdział 7. Luki w zabezpieczeniach oprogramowania umieszczonego w obrazie kontenera
    1. Szukanie luk w zabezpieczeniach
    2. Luki w zabezpieczeniach, poprawki bezpieczeństwa i dystrybucje
    3. Luki w zabezpieczeniach na poziomie aplikacji
    4. Zarządzanie ryzykiem związanym z lukami w zabezpieczeniach
    5. Skanowanie pod kątem luk w zabezpieczeniach
    6. Zainstalowane pakiety
    7. Skanowanie obrazu kontenera
      1. Kontenery niemodyfikowalne
      2. Regularne skanowanie
    8. Narzędzia skanowania
      1. Źródła informacji
      2. Nieaktualne źródła danych
      3. Luki w zabezpieczeniach, które nie zostaną usunięte
      4. Luki w zabezpieczeniach podpakietów
      5. Różne nazwy pakietu
      6. Dodatkowe funkcje skanowania
      7. Błędy narzędzi skanowania
    9. Skanowanie w trakcie procesu ciągłej integracji i ciągłego wdrożenia
    10. Uniemożliwianie uruchamiania obrazów zawierających luki w zabezpieczeniach
    11. Luki w zabezpieczeniach dnia zerowego
    12. Podsumowanie
  9. Rozdział 8. Wzmocnienie izolacji kontenera
    1. seccomp
    2. AppArmor
    3. SELinux
    4. gVisor
    5. Kontener Kata
    6. Firecracker
    7. Unijądro
    8. Podsumowanie
  10. Rozdział 9. Złamanie izolacji kontenera
    1. Kontener domyślnie działa z uprawnieniami użytkownika root
      1. Nadpisanie identyfikatora użytkownika
      2. Wymaganie uprawnień użytkownika root wewnątrz kontenera
      3. Kontener niewymagający uprawnień użytkownika root
    2. Właściwości jądra systemu Linux i opcja --privileged
    3. Montowanie zawierających dane wrażliwe katalogów systemu gospodarza
    4. Montowanie gniazda Dockera
    5. Współdzielenie przestrzeni nazw między kontenerem i gospodarzem
    6. Kontener przyczepy
    7. Podsumowanie
  11. Rozdział 10. Zapewnienie bezpieczeństwa sieci kontenera
    1. Zapora sieciowa kontenera
    2. Model OSI
    3. Wysyłanie pakietu IP
    4. Adres IP kontenera
    5. Izolacja sieci
    6. Reguły i routing na warstwach 3. i 4.
      1. iptables
      2. IPVS
    7. Polityki sieciowe
      1. Rozwiązania w zakresie polityki sieciowej
      2. Najlepsze praktyki związane z polityką sieciową
    8. Architektura Service Mesh
    9. Podsumowanie
  12. Rozdział 11. Bezpieczna komunikacja między komponentami przy użyciu TLS
    1. Bezpieczne połączenie
    2. Certyfikat X.509
      1. Para kluczy publicznego i prywatnego
      2. Urząd certyfikacji
      3. Żądanie podpisania certyfikatu
    3. Połączenie TLS
    4. Bezpieczne połączenia między kontenerami
    5. Unieważnienie certyfikatu
    6. Podsumowanie
  13. Rozdział 12. Przekazywanie danych poufnych do kontenera
    1. Właściwości danych poufnych
    2. Przekazywanie informacji do kontenera
      1. Przechowywanie danych poufnych w obrazie kontenera
      2. Przekazywanie danych poufnych przez sieć
      3. Przekazywanie danych poufnych w zmiennych środowiskowych
      4. Przekazywanie danych poufnych za pomocą plików
    3. Dane poufne w Kubernetes
    4. Dane poufne są dostępne dla użytkownika root
    5. Podsumowanie
  14. Rozdział 13. Zabezpieczanie środowiska uruchomieniowego kontenera
    1. Profile obrazów kontenera
      1. Profile ruchu sieciowego
      2. Profile plików wykonywalnych
        1. Monitorowanie plików wykonywalnych za pomocą eBPF
      3. Profile dostępu do plików
      4. Profile identyfikatorów użytkowników
      5. Inne profile używane w środowisku uruchomieniowym
      6. Narzędzia zapewnienia bezpieczeństwa kontenera
        1. Prewencja czy ostrzeganie?
    2. Unikanie różnic
    3. Podsumowanie
  15. Rozdział 14. Kontenery i przygotowana przez OWASP lista Top 10
    1. Wstrzyknięcie kodu
    2. Złamanie mechanizmu uwierzytelnienia
    3. Ujawnienie danych wrażliwych
    4. Zewnętrzne encje XML
    5. Nieprawidłowa kontrola dostępu
    6. Błędna konfiguracja zabezpieczeń
    7. XSS
    8. Niebezpieczna deserializacja
    9. Używanie komponentów zawierających znane luki w zabezpieczeniach
    10. Niewystarczający poziom rejestrowania danych i monitorowania
    11. Podsumowanie
  16. Zakończenie
  17. Dodatek A. Lista rzeczy do sprawdzenia w zakresie zapewnienia bezpieczeństwa
  18. O autorce
  19. Kolofon

Product information

  • Title: Kontenery
  • Author(s): Liz Rice
  • Release date: February 2021
  • Publisher(s): Helion
  • ISBN: 9788328372283