← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: пройтися по базових налаштуваннях безпеки 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. Міні звіт. Завдання: опиши які ризики несе запуск контейнерів з повними привілеями на спільному хості.