← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 16: Базова безпека

Технологія: Docker

Номер лабораторної: 16 · Рівень: middle

Тема: Безпека контейнерів

Повний опис / сценарій лабораторної:

Мета: пройтися по базових налаштуваннях безпеки Docker контейнерів.



Крок 1. Запустити контейнер від root користувача.

Команда: docker run -it --rm --name root-demo ubuntu id

Пояснення: зверни увагу на uid у виводі.



Крок 2. Додати у Dockerfile користувача без привілеїв.

Пояснення: використай інструкцію USER.



Крок 3. Зібрати образ і перевірити id всередині контейнера.

Команда: docker run -it --rm lab16-nonroot id



Крок 4. Запустити контейнер з read-only файловою системою.

Команда: docker run --rm --read-only lab16-nonroot sh -c "touch /tmp/test || echo fail"

Пояснення: перевір які операції стануть неможливими.



Крок 5. Обмежити можливості через --cap-drop.

Пояснення: наприклад docker run --cap-drop=NET_RAW.



Крок 6. Перевірити що контейнер не може виконати певні мережеві операції.

Пояснення: спробуй ping або іншу команду яка потребує відповідної capability.



Крок 7. Ознайомитися з використанням seccomp профілів.

Пояснення: прочитай короткий опис профілю за замовчуванням.



Крок 8. Запустити контейнер з власним seccomp профілем якщо це можливо.

Пояснення: заборони одну з системних викликів і подивися результат.



Крок 9. Зробити список мінімальних вимог безпеки до прод контейнерів.

Пояснення: non-root, обмежені capabilities, контроль файлової системи.



Крок 10. Міні звіт.

Завдання: опиши які ризики несе запуск контейнерів з повними привілеями на спільному хості.