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

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

Docker Лабораторна 51: Userns remap

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

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

Тема: User namespace remapping (концептуально)

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

Мета: розібратися з концепцією user namespace remapping і протестувати базову конфігурацію.



Крок 1. Ознайомитися з налаштуванням userns-remap у Docker.

Пояснення: воно задається у файлі daemon.json або через параметри запуску.



Крок 2. Створити спеціального користувача dockerremap.

Команда: useradd -r -s /usr/sbin/nologin dockerremap



Крок 3. Налаштувати /etc/subuid і /etc/subgid для цього користувача.

Пояснення: вкажи діапазони uid gid які можна використовувати.



Крок 4. Додати у daemon.json опцію userns-remap.

Пояснення: наприклад "userns-remap": "dockerremap".



Крок 5. Перезапустити Docker і перевірити лог на помилки.

Команда: systemctl restart docker; journalctl -u docker -n 20



Крок 6. Запустити контейнер і створити у ньому файл у томі.

Команда: docker run --rm -v /var/data51:/data busybox sh -c "echo test > /data/file.txt"



Крок 7. Подивитися власника файлу на хості.

Команда: ls -ln /var/data51

Пояснення: uid на хості буде змінений згідно з діапазоном userns.



Крок 8. Оцінити як це впливає на безпеку у разі втечі з контейнера.

Пояснення: root усередині контейнера не дорівнює root на хості.



Крок 9. Задокументувати обмеження userns-remap.

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



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

Завдання: опиши чи підходить user namespace remap для твоїх хостів і які зміни у конфіг воно потребує.