Czy docker jest bezpieczny?

Odpowiedz Nowy wątek
2018-11-11 22:56

Rejestracja: 5 lat temu

Ostatnio: 3 tygodnie temu

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?

edytowany 2x, ostatnio: Michal91, 2018-11-11 23:21

Pozostało 580 znaków

2018-11-11 23:00

Rejestracja: 13 lat temu

Ostatnio: 8 minut temu

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?

ojej masz rację chodziło mi o sytuację /etc/docker:/home/test już robię edycję - Michal91 2018-11-11 23:20

Pozostało 580 znaków

2018-11-11 23:22

Rejestracja: 13 lat temu

Ostatnio: 8 minut temu

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.

no bo załóżmy że w firmie pracuje 100 osób i chcemy żeby do naszego hosta miało dostęp np 40 osób I teraz właściwie niezależnie od LDAP mając dostęp do dockera te 40 osób może mieć dostęp do całego hosta wystarczy że sobie zmapują wolumen. A powiedzmy że z pewnych powodów byśmy tego nie chcieli. - Michal91 2018-11-11 23:27

Pozostało 580 znaków

2018-11-11 23:30

Rejestracja: 13 lat temu

Ostatnio: 8 minut temu

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ć.

A czy to nie jest tak że się tego nie da zablokować ? W sensie sam docker musi mieć dostęp do root-a żeby wywoływać polecenia z kernela i cgrup bo inaczej nie miałby prawa działać - Michal91 2018-11-11 23:38
Naucz się wreszcie odpowiadać w postach. - Afish 2018-11-11 23:42

Pozostało 580 znaków

2018-11-11 23:47

Rejestracja: 13 lat temu

Ostatnio: 8 minut temu

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.

edytowany 1x, ostatnio: Afish, 2018-11-11 23:47

Pozostało 580 znaków

2018-11-12 00:11

Rejestracja: 5 lat temu

Ostatnio: 3 tygodnie temu

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).

Pozostało 580 znaków

2018-11-12 00:14

Rejestracja: 13 lat temu

Ostatnio: 8 minut temu

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/quest[...]oot-file-system-into-the-cont

Pozostało 580 znaków

2018-11-12 00:33

Rejestracja: 5 lat temu

Ostatnio: 3 tygodnie temu

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/quest[...]oot-file-system-into-the-cont

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

Pozostało 580 znaków

Odpowiedz

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