Docker security – największe błędy administratorów
Linux

Docker security – największe błędy administratorów

Docker security – największe błędy administratorów

Konteneryzacja w systemie Linux stała się standardem w DevOps, chmurze i hostingu aplikacji. Narzędzie Docker pozwala uruchamiać aplikacje w izolowanych środowiskach, ale daje też fałszywe poczucie bezpieczeństwa.

W praktyce błędy administracyjne w Dockerze są jedną z najczęstszych przyczyn:

  • wycieków danych,
  • przejęcia serwerów,
  • eskalacji uprawnień,
  • infekcji hosta przez kontenery.

Dlaczego Docker nie jest automatycznie bezpieczny?

Kontener:

  • nie jest pełną maszyną wirtualną,
  • współdzieli kernel z hostem,
  • działa w ograniczonej izolacji.

To oznacza, że błąd w konfiguracji może dać atakującemu dostęp do całego systemu.


Największe błędy administratorów Docker

1. Uruchamianie kontenerów jako root

Najczęstszy i najbardziej krytyczny błąd.

Jeśli kontener działa jako root:

  • atakujący po przejęciu aplikacji może przejąć hosta,
  • łatwa eskalacja uprawnień,
  • pełny dostęp do systemu plików.

2. Używanie --privileged

Opcja:

--privileged

to praktycznie:

❌ brak izolacji

Pozwala kontenerowi:

  • kontrolować urządzenia hosta,
  • manipulować kernelami,
  • omijać zabezpieczenia.

3. Mountowanie / lub /var/run/docker.sock

Najbardziej niebezpieczne błędy:

-v /:/host

lub

-v /var/run/docker.sock:/var/run/docker.sock

Skutek:

  • pełny dostęp do hosta,
  • możliwość uruchamiania nowych kontenerów,
  • eskalacja do root na hoście.

4. Brak ograniczeń zasobów

Bez limitów:

  • CPU,
  • RAM,
  • I/O

atakujący może wykonać:

  • DoS na hosta,
  • „container escape” przez przeciążenie systemu.

 

Docker security – największe błędy administratorów
Docker security – największe błędy administratorów

5. Używanie niezweryfikowanych obrazów

Pobieranie z:

  • publicznego Docker Hub,
  • nieznanych repozytoriów,
  • „latest” tagów.

Ryzyko:

  • backdoory,
  • cryptominery,
  • malware w obrazach.

6. Brak aktualizacji obrazów

Stare obrazy mogą zawierać:

  • podatności CVE,
  • exploity kernelowe,
  • lukę w bibliotekach systemowych.

7. Zbyt szerokie uprawnienia sieciowe

Domyślnie kontenery mogą:

  • komunikować się ze wszystkim,
  • działać bez segmentacji.

Brak network policy = większa powierzchnia ataku.


8. Brak kontroli secrets

Przechowywanie:

  • haseł,
  • tokenów API,
  • kluczy SSH

w:

  • ENV,
  • plikach w kontenerze.

To częsty błąd.


9. Wyłączony user namespace

Bez user namespaces:

  • root w kontenerze = root na hoście (w wielu konfiguracjach)

10. Brak logowania i monitoringu

Bez monitoringu:

  • nie wykryjesz crypto-minera,
  • nie zobaczysz anomalii,
  • brak audytu działań kontenera.

Najgroźniejsze scenariusze ataku

1. Container escape

Atakujący wychodzi z kontenera i przejmuje hosta.


2. Docker socket takeover

Przez /var/run/docker.sock:

  • uruchamia nowe kontenery,
  • przejmuje system.

3. Supply chain attack

Zainfekowany obraz:

  • wprowadza malware,
  • działa jak backdoor.

4. Cryptomining farm

Kontenery:

  • kopią kryptowaluty,
  • wykorzystują CPU/GPU serwera.

Jak zabezpieczyć Docker?

1. Nie uruchamiaj jako root

Używaj:

USER appuser

2. Usuń --privileged

Używaj minimalnych uprawnień.


3. Read-only filesystem

--read-only

4. Limit zasobów

--memory=512m
--cpus=1

5. Scan obrazów

Używaj:

  • Docker Scout,
  • Trivy,
  • Snyk.

6. Minimalne obrazy

Preferuj:

  • Alpine,
  • distroless images.

7. Network segmentation

  • osobne sieci Docker,
  • brak dostępu do hosta.

8. Secrets management

Zamiast ENV:

  • Docker secrets,
  • vault (HashiCorp Vault).

9. Regularne update

  • obrazy,
  • kernel,
  • Docker Engine.

10. Runtime security

Narzędzia:

  • Falco,
  • AppArmor,
  • SELinux.

Docker vs bezpieczeństwo – ważna prawda

Docker NIE jest:
❌ sandboxem jak VM
❌ izolacją na poziomie hypervisora

Docker jest:
✔ lekką izolacją procesów


Podsumowanie

Największe błędy administratorów Docker wynikają z nadmiernego zaufania do kontenerów.

Najważniejsze wnioski:

  • root w kontenerze = duże ryzyko,
  • --privileged to prawie brak zabezpieczeń,
  • /var/run/docker.sock to krytyczna luka,
  • obrazy z internetu mogą zawierać malware,
  • brak limitów zasobów i monitoringu zwiększa ryzyko ataku,
  • Docker wymaga aktywnego hardeningu, nie działa bezpiecznie „sam z siebie”.

 

Polecane wpisy
Błędy związane z konfiguracją Docker i kontenerów: Problemy z uruchamianiem kontenerów, zarządzaniem obrazami i siecią Dockerową
Błędy związane z konfiguracją Docker i kontenerów: Problemy z uruchamianiem kontenerów, zarządzaniem obrazami i siecią Dockerową

Błędy związane z konfiguracją Docker i kontenerów: Problemy z uruchamianiem kontenerów, zarządzaniem obrazami i siecią Dockerową 🧱 Wprowadzenie Docker zrewolucjonizował Czytaj dalej

Jak działa namespace isolation w Linux i dlaczego Docker jest tak bezpieczny
Jak działa namespace isolation w Linux i dlaczego Docker jest tak bezpieczny

Jak działa namespace isolation w Linux i dlaczego Docker jest tak bezpieczny Mechanizm namespace isolation w systemie Linux to fundament Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.