Командная строка Senior Безопасность контейнеров обновлено

Аудит настроек контейнеров

Условие

В текущем каталоге лежит containers.txt: по строке на контейнер, поля через |: имя|user|privileged|cap_add|read_only|mounts, где user пустой означает root, cap_add и mounts перечислены через запятую (могут быть пустыми). Для каждого контейнера (в порядке файла) выведи <имя> <баллы риска> <причины через запятую> или <имя> 0 ok. Баллы: root +1 (user пустой, root или 0), privileged +3, cap:<имя> +2 за каждую из опасных capabilities SYS_ADMIN, NET_ADMIN, SYS_PTRACE, docker.sock +3 (монтирование содержит docker.sock), rw-rootfs +1 (read_only=false). На вход подаётся минимальный балл: выводи только контейнеры с баллом не меньше него.

Как подойти

Подсказки: 1
  1. awk -F'|' и split($4, c, ",") для списка capabilities.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.