Czy docker jest bezpieczny?

0

Hej,
od jakiegoś czasu zajmuje się dockerem i chciałbym się dowiedzieć czy tak właściwie jest on bezpieczny.
Chodzi mi tu głównie o wolumeny bo załóżmy że mam serwer który chciałbym udostępnić przez ldap zgodnie z wszystkim regułami które są w firmie.
Ale skoro zainstalowany jest docker to tak naprawdę nic mi to nie daje z wyjątkiem ograniczenia grupy użytkowników.
Np zwykły user nie ma dostępu do /etc/docker ale właściwie wystarczy uruchomić byle jaki kontener z wolemenem np /etc/docker:/home/test i juz mamy dostęp ( po wejściu do kontenera)
nawet lepiej możemy dać sobie pełny dostęp :/
Chodzi mi tu bardziej o wewnętrzne bezpieczeństwo czy jedynym rozwiązaniem na ten problem są serwery bez żadnych danych?

1

No ale przecież jak wejdziesz do kontenera, to /etc/docker będzie wskazywał na /home/test na hoście, a nie na /etc/docker na hoście, więc w czym problem?

0

No to jak dasz kontenerowi dostęp do /etc/docker, to czemu Cię dziwi, że on do tego będzie miał dostęp? Problem byłby, jakby kontener sam mógł sobie wziąć dostęp do /etc/docker, ale jeżeli Ty to musisz zrobić, to wszystko okej.

0

No jak dla mnie próbujesz rozwiązać zły problem. Dlaczego te 40 osób ma mieć możliwość zmapowania /etc/docker do kontenera? To nie jest problem w tym, że docker to może odczytać, problem jest w tym, że ktoś odpalił dockera z tym mapowaniem i to trzeba zablokować.

0

Kontener może sobie mieć dostęp do wszystkiego, ale to użytkownik musi ten kontener odpalić z odpowiednim mapowaniem, więc jeżeli użytkownik odpalający dockera ma roota, to raczej z tym trzeba walczyć, a nie z tym, że root może wszystko. Możesz odpalić kontener dockera bez uprawnień roota? Pytam, bo nie wiem, ja zawsze odpalałem kontenery z roota i nie wiem, czy da się bez.

0
Afish napisał(a):

Kontener może sobie mieć dostęp do wszystkiego, ale to użytkownik musi ten kontener odpalić z odpowiednim mapowaniem, więc jeżeli użytkownik odpalający dockera ma roota, to raczej z tym trzeba walczyć, a nie z tym, że root może wszystko. Możesz odpalić kontener dockera bez uprawnień roota? Pytam, bo nie wiem, ja zawsze odpalałem kontenery z roota i nie wiem, czy da się bez.

No przecież napisałem w pierwszym poście zwykły użytkownik zgodnie z polityką firmy (LDAP) czyli nie admin.

To jeszcze raz na czym polega problem
Powiedzmy że jestem zwykłym użytkownikiem i jest też administrator odpowiednio user, admin

Scenariusz:
Na hoście jest zainstalowany docker
admin i user mogą używać dockera (clienta i servera)
user nie ma dostępu do zasobów /etc/docker
admin ma dostęp do /etc/docker
admin jest przekonany że nikt nie ma dostępu do /etc/docker i nie chce żeby ktoś miał tam dostęp bo tak i już
user za pośrednictwem dockera może sobie zwiększyć uprawienia za pomocą wolumenów uruchamiając dowolny kontener z argumentem -v /etc/docker:/home/test
a następnie docker exec ... i teraz kiedy jesteśmy w konsoli kontenera wchodzimy sobie do zasobu /home/test i mamy full dostęp do hosta czyli /etc/docker i w zasadzie możemy robić wszystko co nam się podoba

Czy takie coś jest bezpiecznie?
Bo np jak na hoście są jakieś istotne pliki to można je bez problemu sobie z nimi zrobić co się chce (oczywiście to się tyczy tylko pracowników).

1

No to nie, to nie jest bezpieczne. Jeżeli możesz odpalić dockera jako użytkownik, to po prostu ogranicz selinuksem dostęp do wybranych katalogów i po sprawie. https://serverfault.com/questions/806811/how-to-disallow-the-docker-daemon-to-mount-hosts-root-file-system-into-the-cont

0
Afish napisał(a):

No to nie, to nie jest bezpieczne. Jeżeli możesz odpalić dockera jako użytkownik, to po prostu ogranicz selinuksem dostęp do wybranych katalogów i po sprawie. https://serverfault.com/questions/806811/how-to-disallow-the-docker-daemon-to-mount-hosts-root-file-system-into-the-cont

Świetnie dokładnie o coś mi takiego chodziło. Dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1