← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися забирати зайві capabilities і залишати лише необхідні. Крок 1. Запустити контейнер з повним набором capabilities за замовчуванням. Команда: docker run --rm -it --name cap-full ubuntu bash Крок 2. Встановити утиліту для перегляду capabilities. Команда: apt update && apt install -y libcap2-bin Крок 3. Подивитися capabilities для поточного процесу. Команда: capsh --print Пояснення: зверни увагу скільки можливостей отримує процес у контейнері. Крок 4. Вийти з контейнера. Крок 5. Запустити новий контейнер з параметром --cap-drop=ALL. Команда: docker run --rm -it --cap-drop=ALL ubuntu bash Пояснення: усі capabilities будуть відключені. Крок 6. Встановити ту саму утиліту і знову перевірити capsh --print. Пояснення: тепер набір значно менший. Крок 7. Додати лише одну необхідну capability. Пояснення: наприклад --cap-add=NET_ADMIN і перевірити можливість змінювати налаштування мережі. Крок 8. Порівняти поведінку процесів з повним і обмеженим набором capabilities. Пояснення: деякі операції будуть заборонені ядром. Крок 9. Сформувати список capabilities які реально потрібні типовому веб сервісу. Пояснення: це дозволить мінімізувати поверхню атак. Крок 10. Міні звіт. Завдання: опиши політику використання capabilities для контейнерів у прод середовищі.