3 powody, dla których nie powinieneś uruchamiać Dockera bez sudo
Docker jest jedną z najczęściej używanych platform do konteneryzacji i jest bardzo lubiany przez inżynierów oprogramowania. Jest wyposażony w potężne narzędzie CLI do zarządzania kontenerami Docker i innymi powiązanymi zadaniami.
Domyślnie potrzebujesz uprawnień roota, aby uruchomić dowolne polecenia związane z Dockerem w systemie Linux. Oczywiście możesz to zmienić dla wygody i uruchamiać polecenia Dockera bez uprawnień roota, ale powinieneś być świadomy implikacji bezpieczeństwa.
Co to jest powierzchnia ataku Dockera?
Powierzchnia ataku to liczba punktów ataku, bardziej podobna do liczby okien, które złośliwy użytkownik może wykorzystać do uzyskania dostępu do systemu i spowodowania spustoszenia. Zgodnie z praktyczną zasadą, systemy IT powinny mieć minimalne powierzchnie ataku, aby zmniejszyć zagrożenia bezpieczeństwa.
Ogólnie rzecz biorąc, powierzchnia ataku Dockera jest bardzo minimalna. Kontenery działają w bezpiecznym odizolowanym środowisku i nie mają wpływu na system operacyjny hosta, chyba że jest inaczej. Ponadto kontenery Docker obsługują tylko minimalne usługi, 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 systemów produkcyjnych. Oto dlaczego nigdy nie powinieneś uruchamiać Dockera bez 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. Mają dostęp do Twoich plików dziennika Dockera i mogą zatrzymywać i usuwać kontenery dowolnie lub przypadkowo. Możesz również utracić krytyczne dane, które są niezbędne dla ciągłości biznesowej.
Jeśli używasz kontenerów Docker w środowiskach produkcyjnych, przestoje powodują utratę biznesu i zaufania.
2. Przejmij kontrolę nad katalogami systemu operacyjnego hosta
Docker Volumes to zaawansowana usługa, która umożliwia udostępnianie i utrwalanie danych kontenera poprzez zapisywanie ich w określonym folderze w systemie operacyjnym hosta.
Jednym z największych zagrożeń związanych z uruchomieniem Dockera bez sudo jest to, że każdy w twoim systemie może przejąć kontrolę nad katalogami systemu operacyjnego hosta, w tym nad katalogiem głównym.
Wszystko, co musisz zrobić, to uruchomić obraz Linux Docker, na przykład obraz Ubuntu, i zamontować go w folderze głównym za pomocą następującego polecenia:
docker run -ti -v /:/hostproot ubuntu bash
A ponieważ kontenery Linux Docker działają jako użytkownik root, zasadniczo oznacza to, że masz dostęp do całego folderu głównego.
Wyżej wymienione polecenie pobierze i uruchomi najnowszy obraz Ubuntu i zamontuje go w katalogu głównym.
W terminalu kontenera Docker przejdź do katalogu /hostproot za pomocą polecenia cd:
cd /hostproot
Wyświetlenie zawartości tego katalogu za pomocą polecenia ls pokazuje wszystkie pliki systemu operacyjnego hosta, które są teraz dostępne w twoim kontenerze. Teraz możesz manipulować plikami, przeglądać tajne pliki, ukrywać i odkrywać pliki, zmieniać uprawnienia itp.
3. Zainstaluj złośliwe oprogramowanie
Dobrze przygotowany obraz Dockera może działać w tle i manipulować systemem lub gromadzić poufne dane. Co gorsza, złośliwy użytkownik może rozprzestrzeniać złośliwy kod w Twojej sieci za pośrednictwem kontenerów Docker.
Istnieje kilka praktycznych przypadków użycia kontenerów Docker, a każda aplikacja wiąże się z innym zestawem zagrożeń bezpieczeństwa.
Zabezpiecz swoje kontenery Docker w systemie Linux
Docker to potężna 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.
Przy tak wielu użytkownikach w systemie niezwykle trudno jest przypisać uprawnienia każdemu użytkownikowi. W takich przypadkach przestrzeganie najlepszych praktyk kontroli dostępu może pomóc w utrzymaniu bezpieczeństwa systemu.
Dodaj komentarz