Powody, dla których nie należy uruchamiać Dockera bez Sudo

Docker to jedna z najpopularniejszych platform kontenerowych, ciesząca się dużą popularnością wśród inżynierów oprogramowania i programistów. Oferuje zaawansowane narzędzie graficznego interfejsu użytkownika (CLI) do zarządzania kontenerami Docker i innymi powiązanymi zadaniami.

Domyślnie do uruchamiania poleceń związanych z Dockerem w systemie Linux potrzebne są uprawnienia roota. Oczywiście można zmienić to ustawienie, aby zwiększyć komfort wykonywania poleceń i uruchamiać je bez uprawnień roota, ale należy pamiętać o konsekwencjach dla bezpieczeństwa. Sprawdź Jak korzystać z kontenerów Docker w systemie Linux.

Jaka jest powierzchnia ataku w Dockerze?

„Powierzchnia ataku” to liczba punktów ataku, takich jak okna, które złośliwy użytkownik może wykorzystać do włamania się do systemu i siania spustoszenia. Zasadniczo systemy informatyczne powinny mieć minimalną liczbę powierzchni ataku, aby zminimalizować ryzyko bezpieczeństwa.

Ogólnie rzecz biorąc, powierzchnia ataku Dockera jest minimalna. Kontenery działają w bezpiecznym, odizolowanym środowisku i nie wpływają na system operacyjny hosta, chyba że zostaną skonfigurowane inaczej. Ponadto kontenery Dockera uruchamiają tylko minimalną liczbę usług, co czyni je bezpieczniejszymi.

Możesz skonfigurować system Linux do sterowania Dockerem bez uprawnień sudo. Może to być wygodne w środowiskach programistycznych, ale może stanowić poważną lukę w zabezpieczeniach w systemach produkcyjnych. Oto dlaczego nigdy nie powinieneś uruchamiać Dockera bez uprawnień sudo.

1. Możliwość kontrolowania kontenerów Docker

Bez uprawnień sudo każdy, kto ma dostęp do Twojego systemu lub serwera, może kontrolować każdy aspekt Dockera. Ma dostęp do plików dziennika Dockera i może zatrzymywać i usuwać kontenery według własnego uznania lub przypadkowo. Możesz również utracić krytyczne dane, które są kluczowe dla ciągłości działania firmy.

Jeśli używasz kontenerów Docker w środowiskach produkcyjnych, przestoje powodują różnego rodzaju straty danych i utratę zaufania.

2. Uzyskaj kontrolę nad katalogami systemu operacyjnego hosta

Docker Volumes to potężna usługa umożliwiająca udostępnianie i przechowywanie danych kontenerów poprzez zapisywanie ich w określonym katalogu w systemie operacyjnym hosta.

Jednym z największych zagrożeń, jakie niesie za sobą uruchamianie Dockera bez sudo, jest to, że dowolna osoba w systemie może przejąć kontrolę nad katalogami systemu operacyjnego hosta, w tym nad katalogiem domowym.

Wszystko, co musisz zrobić, to uruchomić obraz Dockera systemu Linux, na przykład obraz Ubuntu, i zamontować go w folderze domowym za pomocą następującego polecenia:

docker run -ti -v /:/hostproot ubuntu bash

Ponieważ kontenery Docker systemu Linux działają jako użytkownik root, oznacza to, że masz dostęp do całego katalogu domowego.

Powyższe polecenie pobierze najnowszy obraz Ubuntu, uruchomi go i zainstaluje w Twoim katalogu domowym.

W terminalu kontenera Docker przejdź do katalogu /hostproot za pomocą polecenia . cd:

cd /hostproot

Wyświetla zawartość tego katalogu za pomocą polecenia ls Wszystkie pliki systemu operacyjnego hosta są teraz dostępne w Twoim kontenerze. Możesz teraz manipulować plikami, przeglądać pliki poufne, ukrywać i odkrywać pliki, zmieniać uprawnienia i wiele więcej.

3. Instalowanie złośliwego oprogramowania

Dobrze zaprojektowany obraz Dockera może działać w tle i manipulować systemem lub zbierać poufne dane. Co gorsza, złośliwy użytkownik może wdrożyć złośliwy kod w sieci za pośrednictwem kontenerów Dockera.

Kontenery Docker mają wiele praktycznych zastosowań, a każda aplikacja niesie ze sobą inny zestaw zagrożeń bezpieczeństwa. Sprawdź Jak zainstalować Dockera na Linuksie.

Zabezpieczanie kontenerów Docker w systemie Linux

Docker to solidna i bezpieczna platforma. Uruchamianie Dockera bez sudo zwiększa powierzchnię ataku i naraża system na ataki. W środowiskach produkcyjnych zdecydowanie zaleca się używanie sudo z Dockerem.

W przypadku wielu użytkowników w systemie przypisanie uprawnień każdemu z nich może być niezwykle trudne. W takich przypadkach przestrzeganie najlepszych praktyk kontroli dostępu może pomóc w zapewnieniu bezpieczeństwa systemu. Teraz możesz przeglądać Czym jest kontrola dostępu i dlaczego jej potrzebujesz?

Idź do góry przycisk