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?
- Rejestracja:ponad 10 lat
- Ostatnio:prawie 5 lat
- Postów:18
- Rejestracja:prawie 18 lat
- Ostatnio:około 2 miesiące
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.
- Rejestracja:prawie 18 lat
- Ostatnio:około 2 miesiące
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ć.
- Rejestracja:prawie 18 lat
- Ostatnio:około 2 miesiące
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.
- Rejestracja:ponad 10 lat
- Ostatnio:prawie 5 lat
- Postów:18
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).
- Rejestracja:prawie 18 lat
- Ostatnio:około 2 miesiące
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
- Rejestracja:ponad 10 lat
- Ostatnio:prawie 5 lat
- Postów:18
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!
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
Michal91/etc/docker:/home/test
już robię edycję