> Какой смысл во всей этой изоляции, когда в Docker чуть ли не
> каждый месяц дыры находят, позволяющий выйти за пределы контейнера? Причем дыры
> именно в Docker, а не в частях ядра, через которые эта
> изоляция делается. Старый-добрый chroot процесса со сбросом привилегий, IMHO, и то
> надёжнее всей этой новомодной автоматизации.Верно подмеченно. Глядя на подобные уязвимости, мне постоянно вспоминаются слова Тео де Раадта касающиеся вопроса виртуализации и обеспечение ею безопасности (к слову, это его выражение часто принимают за его общее отношение к виртуализации, против, которой он ничего не имеет.. если её не пытаются "рекламировать", как средство безопасности). В вольном переводе оно звучит так: "виртуализация, на практике, ещё один слой поверх уже существующей ОС. Вы, должно быть, ненормальный, если считаете, что разработчики программного обеспечения которые сегодня не в состоянии писать программное обеспечение без уязвимостей, ВНЕЗАПНО, возьмут и начнут писать вам столь сложную штуку, как виртуализация, без дыр в безопасности".
Собственно дела обстоят ещё "веселее". Взять любую из вышеприведённых уязвимостей. Каждая из них по отдельности(!) совершенно тривиально обрушивает полностью все преграды против злоумышленников, созданные программными инжинерами UNIX за десятилетия. Очевидно, что запускайся это ПО (за безопасность которого беспокоются!) вне контейнера, будучи скомпрометированным, нанесёт значительно меньше вреда системе, чем, запускаясь в Docker'e, когда система укладывается полностью на лопатки и становится абсолютно подчинённой злоумышленнику.
Виртуализация - прекрасная и нужная штука, решающая сотню и сотню различных проблем, сценариев и вопросов. Вот только безопасность, боюсь, совершенно в ином списке.
p.s. Печальная ирония с chroot в том, что имея это средства на руках уже десятки лет, поголовное большинство демонов в современной системе продолжает запускаться в общем файловом пространстве. Смешно ожидать, что мы будем (правильно) использовать значительно более сложные вещи в лице SELinux, а теперь и контейнеры, когда мы не "осилили" такую банальность, как chroot (который решал бы 95% всех проблем в случае эксплуатации уязвимости демона злоумышленником).