Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

Docker е една от най-използваните платформи за контейнеризация и е много обичана сред софтуерните инженери. Той идва с мощен CLI инструмент за управление на Docker контейнери и други свързани задачи.

По подразбиране се нуждаете от root привилегии, за да изпълнявате всякакви команди, свързани с Docker на Linux. Разбира се, можете да промените това за удобство и да изпълнявате Docker команди без root привилегии, но трябва да сте наясно с последиците за сигурността.

Какво представлява Docker Attack Surface?

Повърхността за атака е броят точки за атака, по-скоро броят на прозорците, които злонамерен потребител може да използва, за да влезе във вашата система и да причини хаос. Като правило ИТ системите трябва да имат минимални повърхности за атака, за да намалят рисковете за сигурността.

Като цяло повърхността за атака на Docker е много минимална. Контейнерите работят в защитена изолирана среда и не засягат хост операционната система, освен ако не е друго. Освен това контейнерите на Docker изпълняват само минимални услуги, което го прави по-сигурен.

instagram viewer

Можете да конфигурирате вашата Linux система да контролира Docker без sudo привилегии. Това може да е удобно в среди за разработка, но може да бъде сериозна уязвимост на сигурността в производствените системи. И ето защо никога не трябва да стартирате Docker без sudo.

1. Възможност за контрол на Docker контейнери

Без привилегиите на sudo всеки, който има достъп до вашата система или сървър, може да контролира всеки аспект на Docker. Те имат достъп до вашите лог файлове на Docker и могат да спират и изтриват контейнери по желание или случайно. Можете също така да загубите критични данни, които са жизненоважни за непрекъснатостта на бизнеса.

Ако използвате Docker контейнери в производствени среди, престоят води до загуба на бизнес и доверие.

2. Получете контрол върху директориите на хост ОС

Docker Volumes е мощна услуга, която ви позволява да споделяте и съхранявате контейнерни данни, като ги записвате в определена папка на хост ОС.

Една от най-големите заплахи, които представя Docker без sudo, е, че всеки във вашата система може да получи контрол над директориите на хост операционната система, включително основната директория.

Всичко, което трябва да направите, е да стартирате изображение на Linux Docker, например изображение на Ubuntu, и да го монтирате в главната папка, като използвате следната команда:

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

И тъй като контейнерите на Linux Docker се изпълняват като root потребител, това по същество означава, че имате достъп до цялата основна папка.

Гореспоменатата команда ще изтегли и стартира най-новото изображение на Ubuntu и ще го монтира в основната директория.

На контейнерния терминал Docker отидете на /hostproot използване на директория командата cd:

cd /hostproot

Изброяване на съдържанието на тази директория с помощта на командата ls показва всички файлове на хост ОС, които сега са налични във вашия контейнер. Сега можете да манипулирате файлове, да преглеждате тайни файлове, да скривате и де-скривате файлове, да променяте разрешения и т.н.

3. Инсталирайте зловреден софтуер

Добре изработеното изображение на Docker може да работи във фонов режим и да манипулира вашата система или да събира чувствителни данни. Още по-лошо, злонамерен потребител може да разпространи злонамерен код във вашата мрежа чрез Docker контейнери.

Има няколко случая на практическа употреба на Docker контейнери, а с всяко приложение идва различен набор от заплахи за сигурността.

Защитете вашите Docker контейнери на Linux

Docker е мощна и сигурна платформа. Изпълнението на Docker без sudo увеличава повърхността ви за атака и прави системата ви уязвима. В производствени среди е силно препоръчително да използвате sudo с Docker.

С толкова много потребители в една система става изключително трудно да се присвоят разрешения на всеки потребител. В такива случаи спазването на най-добрите практики за контрол на достъпа може да ви помогне да поддържате сигурността на вашата система.