URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 117485
[ Назад ]

Исходное сообщение
"Уязвимость в Docker, позволяющая выбраться из контейнера"

Отправлено opennews , 29-Май-19 13:22 
В инструментарии для управления изолированными Linux-контейнерами Docker выявлена (https://www.openwall.com/lists/oss-security/2019/05/28/1) уязвимость (CVE-2018-15664 (https://security-tracker.debian.org/tracker/CVE-2018-15664)), которая при определённом стечении обстоятельств позволяет получить доступ к хост-окружению из контейнера при наличии возможности запуска своих образов в системе или при доступе к выполняемому контейнеру. Проблема проявляется во всех версиях Docker и остаётся неисправленной (предложен, но пока не принят, патч (https://github.com/moby/moby/pull/39252), реализующий приостановку работы контейнера на время выполнения операций с ФС).

Уязвимость позволяет извлечь файлы из контейнера в произвольную часть ФС хост-системы  при выполнении команды "docker cp". Извлечение файлов выполняется с правами root, что даёт возможность прочитать или записать любые файлы в хост-окружении, чего достаточно для получения контроля за хост-системой (например, можно переписать /etc/shadow). Атака может быть совершена только в момент выполнения администратором команды "docker cp" для копирования файлов в контейнер или из него. Таким образом атакующему необходимо каким-то образом убедить администратора Docker в необходимости выполнения этой операции и предугадать используемый при копировании путь.

Проблема вызвана ошибкой в функции FollowSymlinkInScope (https://github.com/moby/moby/blob/master/pkg/symlink/fs.go#L... вычисляющей абсолютный путь в основной ФС на основании относительного пути, учитывающего размещение контейнера. В процессе выполнения команды "docker cp" возникает кратковременное состояние гонки (https://ru.wikipedia.org/wiki/%D0%A1%D0%... при котором путь уже проверен, но операция ещё не выполнена. Так как копирование производится в контексте основной ФС хост-системы в указанный промежуток времени можно успеть подменить ссылку на другой путь и инициировать копирование данных в произвольное место файловой системы вне контейнера.


Так как временное окно проявления состояния гонки сильно ограничено  в подготовленном прототипе эксплоита (https://www.openwall.com/lists/oss-security/2019/05/28/1/1) при выполнении операций копирования из контейнера удалось добиться проведения успешной атаки в менее 1% случаев при цикличной подмене символической ссылки в пути, используемом в операции копирования (успешная атака была совершена после примерно 10 секунд попыток непрерывно в цикле скопировать файл командой "docker cp").


При выполнении операции копирования в контейнер можно добиться повторяемой атаки по перезаписи файла в хост-системе, для проведения которой достаточно всего нескольких итераций. Возможность атаки связана с тем, что при копировании в контейнер применяется концепция "chrootarchive", в соответствии с которой процесс archive.go извлекает архив не в chroot корня контейнера, а в chroot родительского каталога целевого пути, подконтрольного атакующему (chroot используется как признак для эксплуатации состояния гонки). С практической стороны атака может быть совершена, например, при предоставлении облачными сервисами средств для копирования файлов конфигурации в контейнер, построенных с использованием команды docker cp".


URL: https://www.openwall.com/lists/oss-security/2019/05/28/1
Новость: https://www.opennet.me/opennews/art.shtml?num=50765


Содержание

Сообщения в этом обсуждении
"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 13:22 
Ждем комментаторов с искрометными шутками про "девляпсов" и "контейнеры нинужны".

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено КэГэБэ эСэСэСэР , 29-Май-19 13:25 
Контейнеры нинужны, у меня на Windows 10 ничего не изолировано и работает.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 16:54 
И тебе нечего скрывать.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено VINRARUS , 29-Май-19 18:32 
> у меня на Windows 10 ничего не изолировано

Ничего кроме тебя самого.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Andrey Mitrofanov_N0 , 29-Май-19 13:26 
> Ждем комментаторов с искрометными шутками про "девляпсов" и "контейнеры нинужны".

"" Дыркер -- он про сак-сцесс и искромётные комментарии! ""
++https://www.opennet.me/openforum/vsluhforumID3/117218.html#41


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 19:35 
"" поставил тебе [-] ""
///"" -- первый -- безумный!  -- Текст. ""
///второй безумный "Текст" -- ${вставить_еще_один_безумный_текст}
<///>
(с)

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Васян , 30-Май-19 17:47 
Митрофаныч, у тебя учетку на опеннетике угнали что ли?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Васян , 30-Май-19 17:49 
Граждане, это поддельный Митрофанушко!

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 13:30 
Почему это не нужны? Это хорошый способ предотвратить возможность какому-нибудь софтверному каловому монстру засрать твою систему кривыми либами зависимостей. А те кто пытается использовать решения, изначально не разрабатывавшиеся безопасными, для изоляции - сами себе злобные буратина.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 16:37 
>Это хорошый способ предотвратить возможность какому-нибудь софтверному каловому монстру засрать твою систему кривыми либами зависимостей.

Этот кейс требует изоляции только на уровне файловой системы, что легко решается более легковесными средствами, чем контейнеры (если, конечно, софт скачивается из доверенного источника, однако новости показывают, что качать докер-образы откуда попало так себе идея - возможность эксплуатации уязвимостей в докере, пустые рутовые пароли, древние либы с уязвимостями внутри контейнера, и т.д.)

Вот если для запуска дерьмодемона нужна еще какая-то нетривиальная настройка системы, тогда без контейнера не обойтись.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено freehck , 29-Май-19 18:31 
> Этот кейс требует изоляции только на уровне файловой системы, что легко решается более легковесными средствами, чем контейнеры

Да, но инфраструктура более легковесных в плане ресурсов решений оказывается более тяжеловесной в использовании. У докера, вон, большое сообщество, есть готовые базовые имиджи чуть ли не для всего на свете. А в случае schroot, например, мне надо дебутстрапить предварительно окружения самостоятельно, и это не делается одной командой, увы.

С учётом того, что продакшен нынче пошёл активно в контейнерах существовать, использовать докер для подобной изоляции становится более простым и удобным решением: всегда легче заюзать инструмент, который используешь на постоянной основе. И это хорошо и правильно.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 29-Май-19 19:03 
Вопрос лишь о том, зачем под доскер подстилать большую юникс-подобную систему, причём искорёженную и переломанную ради этого самого доскера до полной потери черт юникса. Не проще ли было написать специальные мелкие пускали для доскера, не портя линукс и целую прорву ГНУтого софта? Более того — а не лучше ли было для задач, которые суют в доскер, писать отдельные специальные маленькие системки для виртуальных машин? И не ломать, опять же, линукс и целую кучу ГНУтого софта.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено freehck , 29-Май-19 19:53 
> Вопрос лишь о том, зачем под доскер подстилать большую юникс-подобную систему, причём
> искорёженную и переломанную ради этого самого доскера до полной потери черт
> юникса.

Анонимаустус, а каким боком и что именно докер сломал-то? =/


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 29-Май-19 20:12 
Не доскер сломал, а те, кто из линукса делают корпоративную пускалку для доскеров-шмоскеров.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено IRASoldier_registered , 30-Май-19 02:34 
> не портя линукс и целую прорву ГНУтого софта
> корпоративную пускалку

Никсы нужны для того, чтобы ими пользоваться, причём - как _угодно_, так и пользоваться, в т.ч. и для корпоративных задач. А не для того, чтобы молиться на ГНУ.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 30-Май-19 07:17 
>> не портя линукс и целую прорву ГНУтого софта
>> корпоративную пускалку
> Никсы нужны для того, чтобы ими пользоваться, причём - как _угодно_, так
> и пользоваться, в т.ч. и для корпоративных задач. А не для
> того, чтобы молиться на ГНУ.

Здесь у нас, похоже, ещё один опоздавший родиться, не читавший ни Реймонда, ни Кернигана, ни других старейшин, причастных к Юниксу, и, следовательно, не понявший, что такое Юникс и в чём его _главное_ предназначение.

Такие вот специалисты и превратили линукс в «ваш новый стандарт», залитый свержу системдой полужидкой консистенции.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 13:25 
Ой, а в чём, расскажИте? А то вы может тоже похоже не читали.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 30-Май-19 13:28 
Эти ссылки не для тебя, невежливый аноним, ты всё равно читать не будешь. Это для редких на опеннете искренне интересующихся знаниями молодых людей:

https://www.opennet.me/openforum/vsluhforumID3/117471.html#58

https://www.opennet.me/openforum/vsluhforumID3/117471.html#59


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Andrey Mitrofanov_N0 , 31-Май-19 08:49 
> Эти ссылки не для тебя, невежливый аноним, ты всё равно читать не
> будешь. Это для редких на опеннете искренне интересующихся знаниями молодых людей:
> https://www.opennet.me/openforum/vsluhforumID3/117471.html#58
> https://www.opennet.me/openforum/vsluhforumID3/117471.html#59

Про macOS и "Все те маленькие (sh, awk, sed, vi/vim и пр.) и не очень маленькие (Perl, Python, GCC, Emacs) средства" в нём -- сильно.  Отдел Эппле горлится тобой.  И не один!


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 31-Май-19 09:03 
https://www.opengroup.org/openbrand/register

Если бы ты пользовался Маком, ты бы знал, почему именно его, а не линукс, предпочитают большинство разработчиков для линукса по всему миру. Удивительное рядом, Андрюша, ты просто не стесняйся замечать.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено IRASoldier_registered , 30-Май-19 18:09 
...И не для того, чтобы молиться на священные книги предков и основателей. Предназначение операционной системы в том, в чём его видит пользователь операционной системы.

Такие вот знатоки и пытаются сделать из практической полезняшки религию.

>линукс в «ваш новый стандарт», залитый свержу системдой полужидкой консистенции

А, ты нашёл Фатальный Недостаток? Иди и пили свой собственный тру-Юникс, IDE, сборочную машину и запускалку С-программ. Выкладывай на гитхаб, гитлаб или куда-нибудь ещё. Люди посмотрят, потыкают палочкой.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 30-Май-19 18:28 
> ...И не для того, чтобы молиться на священные книги предков и основателей.
> Предназначение операционной системы в том, в чём его видит пользователь операционной
> системы.
> Такие вот знатоки и пытаются сделать из практической полезняшки религию.

Ты книжки почитай по моим ссылкам, проникнись, _пойми_ наконец, _что такое_ Юникс и для чего он вообще был _таким_ создан — тогда возвращайся и продолжим дискуссию. Пока что на твоём нынешнем уровне ты пытаешься заколачивать гвозди микроскопом, то есть из совершенной системы сделать пускалку для тупых доскеров или десктопов. А если бы ты понимал философию Юникса, то тебя бы от этого извращения коробило.


>>линукс в «ваш новый стандарт», залитый свержу системдой полужидкой консистенции
> А, ты нашёл Фатальный Недостаток? Иди и пили свой собственный тру-Юникс, IDE,
> сборочную машину и запускалку С-программ. Выкладывай на гитхаб, гитлаб или куда-нибудь
> ещё. Люди посмотрят, потыкают палочкой.

Нет, я просто знаю, чем закончили свой путь другие юникс-подобные системы, в которые вкорячили «системный менеджер». Корпорастам и любителям доскеров невдомёк, что если портить и ломать такую систему, то однажды она таки сломается и закончится, под неё перестанут писать программы, её не будут больше использовать, поскольку ценностью любого юникса является именно то, что он юникс. Это непреходящая и самодостаточная ценность, совершенная концепция и философия ОС и её средств.

Лучше бы вы FrеeDOS какой-нибудь для своих фантазий приспособили.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено IRASoldier_registered , 30-Май-19 20:10 
>книжки почитай
>тогда возвращайся и продолжим дискуссию
>то тебя бы от этого извращения коробило
>из совершенной системы сделать

Книжки-то интересные. И читанные. Но _дискуссия_ не имеет никакого реального смысла. Потому что все эти твои стенания про "извращения" - это архитектурная вкусовщина. Систему МОЖНО использовать как пускалку для десктопов и докеров? Можно. Точка. Дискутировать можно по ДРУГОМУ вопросу - насколько ЭФФЕКТИВНО решение по использованию этой системы для запуска десктопов и докеров. Эффективно для наилучшего функционирования этих самых десктопов и докеров, разумеется.

И, кстати, раз система совершенная - это подразумевает её универсальность, как одну из составляющих совершенности или нет? Если подразумевает - то не удивительно её широкое использование для РАЗНЫХ задач, а не сеансы фапания на её совершенство.

Так что возьми себя в руки, уймись и не забудь принять таблетки.

>FrеeDOS какой-нибудь для своих фантазий приспособили

DOS -> ... -> Windows. Тоже нормальный вариант для десктопа. Если религия позволяет.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Andrey Mitrofanov_N0 , 31-Май-19 08:41 
> Здесь у нас, похоже, ещё один опоздавший родиться, не читавший ни Реймонда,
> ни Кернигана, ни других старейшин, причастных к Юниксу, и, следовательно, не
> понявший, что такое Юникс и в чём его _главное_ предназначение.

"Главное" было в рисёрче на авось продажникам AT&T прокатит.

Чего бы там академия с примкнувшим к ним реймондом ни говорили.


> Такие вот специалисты и превратили линукс в «ваш новый стандарт», залитый свержу
> системдой полужидкой консистенции.

Да, названия ярлычков и корпораций поменялись с тех пор.

В маркетинге и манипуляциях толпой они поднаторели.  Всё во славу Тельца.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymoustus , 31-Май-19 09:12 
>> Здесь у нас, похоже, ещё один опоздавший родиться, не читавший ни Реймонда,
>> ни Кернигана, ни других старейшин, причастных к Юниксу, и, следовательно, не
>> понявший, что такое Юникс и в чём его _главное_ предназначение.
> "Главное" было в рисёрче на авось продажникам AT&T прокатит.
> Чего бы там академия с примкнувшим к ним реймондом ни говорили.

Юникс изначально делали не для продажи (для продажи там были другие товары и услуги), а для себя. Именно по этой причине он таким спроектирован — как IDE и ОС «два-в-одном». В те годы даже самой идеи такой не было — продавать софт.

Читайте правильные книжки, товарищи.


>> Такие вот специалисты и превратили линукс в «ваш новый стандарт», залитый свержу
>> системдой полужидкой консистенции.
> Да, названия ярлычков и корпораций поменялись с тех пор.
> В маркетинге и манипуляциях толпой они поднаторели.  Всё во славу Тельца.

Что говорить, если сам Столлман и его гоп-компания столько лет за мзду малую умышленно не разрабатывают ядро собственной ГНУ-системы. Корифеи.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено анонн , 30-Май-19 13:28 

> Никсы нужны для того, чтобы ими пользоваться, причём - как _угодно_, так
> и пользоваться, в т.ч. и для корпоративных задач.

И где теперь все те никсы "для корпоративных задач" которыми пользовались? (Гусары, молчать!)



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено IRASoldier_registered , 30-Май-19 17:55 
> И где теперь все те никсы "для корпоративных задач" которыми пользовались? (Гусары,
> молчать!)

Самые распространенные в этом сегменте дистрибутивы линуксов / бсд - ну да ты ж и сам можешь названия поискать - вот прямо на этом сайте.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено анонн , 30-Май-19 18:11 
>> И где теперь все те никсы "для корпоративных задач" которыми пользовались? (Гусары,
>> молчать!)
> Самые распространенные в этом сегменте дистрибутивы линуксов

И это отвечает на какой вопрос?

Помимо того, что если даже забыть о "Linux is not Unix", то все равно - "дистрибутивы линуксов" это не "никсы", а один "никс", но в разных обертках.
И речь шла как бы о
> не ломать, опять же, линукс

и ваш же ответ
> Никсы нужны для того, чтобы ими пользоваться, причём - как _угодно_, так и пользоваться, в т.ч. и для корпоративных задач.

А "все те никсы для корпоративных задач" - это про HP-UX, SunOS, Xenix, Irix.
Ими пользовались "для корпоративных задач", да. Интересно, где они теперь и не повторится ли та же история (тем более, то же System V было пропихнуто в качестве нового стандарта то ли перед, то ли во время Unix Wars - ничего не напоминает?)


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено IRASoldier_registered , 30-Май-19 20:29 
>"Linux is not Unix" (...) один "никс", но в разных обертках

Какой-то уход разговора в сторону и кашеобразие. С чего началось? Началось с того, что тут товарища бомбит от того, что б-жественный Юникс используют типа неправильно и б-гохульно.

>это про HP-UX, SunOS, Xenix, Irix
>и не повторится ли та же история

В корпоративном сегменте вовсю используют, OMG, Убунточку. И имеют с того ништяки и профит. Так что о чём ты? А то, что история юниксофорков древовидна и находится в динамике, где какие-то ветви растут и делятся, а какие-то отмирают - ну так это Кэп. Это ни плохо, ни хорошо. It's life.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonymouss , 29-Май-19 20:53 
Сделали уже.
Маленькая пускалка для docker
https://rancher.com/rancher-os/

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 08:29 
>Да, но инфраструктура более легковесных в плане ресурсов решений оказывается более тяжеловесной в использовании. У докера, вон, большое сообщество, есть готовые базовые имиджи чуть ли не для всего на свете. А в случае schroot, например, мне надо дебутстрапить предварительно окружения самостоятельно, и это не делается одной командой, увы.

Потому что это не правильный подход. Надо не систему бутстрапить, а сбандлить с приложением либы, которое оно использует, с помощью инструментов вроде linuxdeploy


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено freehck , 29-Май-19 18:28 
> Почему это не нужны? Это хорошый способ предотвратить возможность какому-нибудь софтверному каловому монстру засрать твою систему кривыми либами зависимостей.

Плюсую. А ещё деплой удобнее в разы становится.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 20:11 
деплой мусорных монстров "мы скачали пол-интернета себе в хомяк и еще вон там и вон там нагадили ошметками" - становится.
Деплой нормального софта - не становится, он и так удобный - zypper up -y, и всех дел.

но нормальный софт уже десять лет как немоден в новых-стандартах.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено хотел спросить , 29-Май-19 22:05 
я лучше виртуалку накачу

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 22:13 
> я лучше виртуалку накачу

с виртуалкой - попадос, это полноценный сервер - добро пожаловать в мир регулярных апдейтов, бэкапов, автоматизации управления и т д (можно использовать ее и в режиме контейнера, но готовых рецептов для этой цели нет, все придется выстрогать самому из полена - вот прямо начиная с докерных volumes)


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено хотел спросить , 30-Май-19 02:28 
>> я лучше виртуалку накачу
> с виртуалкой - попадос, это полноценный сервер - добро пожаловать в мир
> регулярных апдейтов, бэкапов, автоматизации управления и т д (можно использовать ее
> и в режиме контейнера, но готовых рецептов для этой цели нет,
> все придется выстрогать самому из полена - вот прямо начиная с
> докерных volumes)

а в контенерах что по-другому? или на виртуалках снапшотов нет?


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 13:54 
>>> я лучше виртуалку накачу
>> с виртуалкой - попадос, это полноценный сервер - добро пожаловать в мир
>> регулярных апдейтов, бэкапов, автоматизации управления и т д (можно использовать ее
> а в контенерах что по-другому? или на виртуалках снапшотов нет?

в контейнере у тебя (если все сделал по методичке и каким-то чудом это получилось) - ровно одна программа крутится, без всей остальной операционной системы - от той только дерево fs - да, в нем могут быть какие-нибудь чудеса, но ту программу они скорее всего не затрагивают. И (опять же если получилось,а не как в описываемом эксплойте) он по сути неперсистентный - при рестарте той программы весь контейнер пересоздается из образа заново.

А апдейтится/бэкапается и обслуживается у тебя - хост. Причем с хостовой точки зрения - это просто еще один процесс, с какими-то заморочками.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено хотел спросить , 30-Май-19 21:54 
> А апдейтится/бэкапается и обслуживается у тебя - хост.

А контейнер? Тот самый рантайм на котором крутится мое приложение? Кто его будет обновлять?

Обновление виртуалки заменяется обновлением образа?

Чем тогда лучше 1 хост + 10 контейнеров вместо 1 хост + 10 виртуалок?

Как по мне те же яйца в профиль, но только без нюансов вида: "сли все сделал по методичке и каким-то чудом это получилось"

Разве не так?



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 13:49 
Если писать код абсолютно правильно, то контейнеры не особо то и нужны. Но с ними проще, на многое можно забить.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено kai3341 , 29-Май-19 14:07 
>  Если писать код абсолютно правильно, то контейнеры не особо то и нужны. Но с ними проще, на многое можно забить.
> абсолютно

максималист детектед. Возвращайся в мир собственных фантазий


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 16:27 
>Если писать код абсолютно правильно, то контейнеры не особо то и нужны.

Контейнеры были придуманы для разделения ресурсов между сервисами, выполняющимися в облачной инфраструктуре. И в этой нише конкуренция идет в основном между различными типами этих самых контейнеров, так как виртуализация всегда имеет больше накладных расходов. А то, что некоторые макаки забивают гвозди микроскопами - это как бы совсем не означает, что микроскопы не нужны и их легко заменить молотками.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 22:06 
> Контейнеры были придуманы для разделения ресурсов между сервисами, выполняющимися в облачной

да ну нах? Я-то думал для разделения ресурсов были придуманы многозадачные операционные системы, где-то лет пятьдесят назад (и да, они умели э...как это..."облачную инфраструктуру". В смысле, можно было собрать "кластер" из двух EC1045)

> инфраструктуре. И в этой нише конкуренция идет в основном между различными
> типами этих самых контейнеров, так как виртуализация всегда имеет больше накладных

серьезно? Вы где видите в продакшн какие-то еще "контейнеры"? Вообще контейнеры, я уж не уточняю "отличные от доскера", а не впопенштифт поверх къебенетеса.

виртуализация имеет помимо накладных расходов (которые хрен померяешь на фоне накладных расходов, ну,например, операционной системы с доскером в доскере в доскере - кто менял производительность прекрасной overlayfs, ась?) определенные бонусы - например, таки обеспечивая относительно надежную изоляцию - дальше poc эксплойты пока не продвинулись.

> расходов. А то, что некоторые макаки забивают гвозди микроскопами - это

это неизбежно следствие массового выпуска микроскопов без линз, с большой деревянной ручкой и металлической херней на конце. Для изучения микромира непригодных в принципе. Гвозди тоже хреново забивают, тут согласен.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено SysA , 30-Май-19 17:27 
systemd-nspawn

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено лютый жабист__ , 29-Май-19 18:44 
>Если писать код абсолютно правильно, то контейнеры не особо то и нужны

Если использовать java EE, то доцкер не нужен. Может есть и другие вменяемые платформы, хз.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 14:09 
>>Если писать код абсолютно правильно, то контейнеры не особо то и нужны
> Если использовать java EE, то доцкер не нужен.

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

Иначе в любой момент можно получить в морду бэктрейсом, и ни одна живая душа на свете не сможет объяснить, чего тут сломалось и чего этой уродине надо.

> Может есть и другие вменяемые платформы, хз.

есть, но жабка в их список не входит.

P.S. утром рассыпался filr - да-да, все как ты любишь, томкэт, жабка-ээ, поиски по всему диску кривыми башевскими скриптами запчастей и жалобы что нашла не то не так и не там вместо нормальных логов. Повезло - "починил" вручную запустив сдохший сервис. Почему он не загружался автоматически - жабист его знает.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 29-Май-19 15:22 
> Ждем комментаторов с искрометными шутками про "девляпсов" и "контейнеры нинужны".

У "девляпсов" копирование файлов в контейнер (точнее, образ) выполняется только при docker build, когда контейнер, внезапно, не выполняется. Для всего остального есть volumes.

Менять что-то в контейнере вручную - крайне бессмысленная задача, так они обычно создаются и уничтожаются автоматически при деплое.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 16:07 
> Для всего остального есть volumes.

объявленные (те что персистентны, а не каждый раз вручную) deprecated пять лет назад и с тех пор по этому поводу толком не поддерживаемые (оставляют неудобообнаруживаемый и неудобоудаляемый мусор в системе, не видны обычными инструментами если не знать и не спросить специально)? Отличное решение, так держать.

Ну и вот ни разу не поверю, что копирование файлов ИЗ контейнера - никогда-никогда не случается у девляпсов. А баг, как я понимаю, эксплойтится и этим способом замечательно.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Анониим , 29-Май-19 17:00 
> deprecated

И чем заменять предлагают?


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 17:58 
> И чем заменять предлагают?

как обычно, ничем - "как, вы не слышали? в какой криокамере вы спали? standalone docker давно уже ж немодно, все на k8s, бегом, бегом, некогда разбираться, ляпай давай!"

его, разумеется, тоже будет некогда доделывать - "все бегом в впопенштифт, управлять кластером руками ересь и предрассудки!"


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 18:13 
в k8s все тем более через volume-ы делается

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 30-Май-19 12:41 
Судя по его комментам в этом обсуждении, докер он видел только на картин^Wвинде, а про кубер и сварм вообще только слышал.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 14:16 
> Судя по его комментам в этом обсуждении, докер он видел только на
> картин^Wвинде, а про кубер и сварм вообще только слышал.

ваш сварм - такое же устаревшее ненужно, уже выкинутое ляпателями доскера в помойку, не доделывать же его, в самом-то деле?

Работает оно примерно вот так:
https://github.com/docker/docker-credential-helpers/issues/103
(да, проблема не в непосредственно его коде, но она, как видим, вылезла на куче систем и у кучи людей - просто потому что ляпалки не умеют тестировать прежде чем пихать что попало в зависимости)

и  ничего, пол-года никого не беспокоило - а чо, подумаешь, билд ломается, pull-то не ломается, зачем что собирать, вон тащи с хаба, уже за тебя собрали как попало что попало!

А новые-модные пацанчики им не пользуются - устаревшая негодная технология, не иначе.


P.S. отдельно доставил девляпский способ "решения" проблемы - тоже, судя по комментом, радостно подхваченный миллионами мух. Не буду объяснять что с ним не так, вам не надо лишних знаний.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено sailorCat , 29-Май-19 17:37 
> у и вот ни разу не поверю, что копирование файлов ИЗ контейнера - никогда-никогда не случается у девляпсов.

Осталось найти девопса и убедить его сто раз скачать файл из работающего контейнера. Если повезёт, этого хватит, чтобы сработала уязвимость.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 18:00 
ну нет, зачем же так - надо найти девопса с десятью тысячами контейнеров, и как-то развести на нужный и полезный файл где-то в одном из. Вероятность попадания резко увеличивается.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 30-Май-19 12:39 
Ага, админ десяти тысяч контейнеров не имеет никакой автоматизации и чуть что - сам лезет чинить.
Десять тысяч раз в день, ага.

Ну и бред вы несете.

На практике, если с каким-то контейнером проблема - его проще редеплойнуть, чем ковыряться в его потрохах и выяснять, кто там pid-файл забыл убрать.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 13:31 
> Ага, админ десяти тысяч контейнеров не имеет никакой автоматизации и чуть что - сам лезет чинить.

Зачем ты приписываешь свои слова другим?

> проще редеплойнуть, чем ковыряться

На практике проще.
Но не правильней.
Потому, что если всё делать как проще, то получится:

> Ну и бред вы несете.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 14:22 
> Ага, админ десяти тысяч контейнеров не имеет никакой автоматизации

ну нет, зачем же - он как раз автоматически наш эксплойт и запустит, вручную-то хрен разведешь на такую тяжкую работу. Возможно даже и не зная о том - мало ли кто и когда чего заавтоматизировал еще до него - разбираться некогда, давай еще сорок подов поднимай.

> На практике, если с каким-то контейнером проблема - его проще редеплойнуть, чем

а оно вот, опять. И еще в пятистах, и число их растет.
Не, не будем ковыряться, какая нам разница что там не работает - проще редеплойнуть, ага?

А потом прод лежит, потому что число "не совсем так работающих" превысило запас прочности системы, и они продолжают валиться.

Мы за это (в смысле - перезапуск автоматикой без попыток разобраться, что именно в этом инстансе пошло не так), кстати, дежурную смену штрафовали, именно по этой причине. Надеюсь, они все уже развились в девопсов, а самые умные - сменили профессию.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 30-Май-19 15:52 
> ну нет, зачем же - он как раз автоматически наш эксплойт и запустит

docker cp? Нет, не запустит. В процессе продового деплоя отладочным операциям не место.

> Не, не будем ковыряться, какая нам разница что там не работает - проще редеплойнуть, ага?

Для ветеран-админов из девяностых, у которых одновременно в ведении было максимум десяток демонов, сложно понять, как можно работать с десятком тысяч контейнеров. Вы все время проецируете SOHO-методы - вручную чинить каждый сбой каждого приложения.
Действительно, зачем нужны системы мониторинга и коллекторы ошибок - админ сам зайдет, посмотрит и починит, лично, на всех ста серваках одновременно, ага.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 16:08 
> docker cp? Нет, не запустит. В процессе продового деплоя отладочным операциям не
> место.

ага, перезапускать до посинения прода, после - обновить резюме.

>> Не, не будем ковыряться, какая нам разница что там не работает - проще редеплойнуть, ага?
> Для ветеран-админов из девяностых, у которых одновременно в ведении было максимум десяток
> демонов, сложно понять, как можно работать с десятком тысяч контейнеров. Вы

так же, как мы работали с тысячей-другой физических хостов без всяких контейнеров - ничего ужасного в этом нет.

> все время проецируете SOHO-методы - вручную чинить каждый сбой каждого приложения.

это как раз промышленные методы - _сбоям_, а не отладке,  на проде не место. Как и лечению перезапуском.

Если нельзя откатиться на заведомо исправную версию - да, идешь и разбираешься, что сломалось. Если делаешь это вручную - достаточно одного инстанса каждого типа, затронутого ошибкой.
Ну а если все переавтоматизировал так, что ручного доступа вообще нет - получай в свой канализационный коллектор терабайт ненужного мусора и ищи там, как хочешь.

хотя да, зачем - надо просто перезапустить, потом еще два раза перезапустить, потом обновить резюме и еще раз перезапустить.

В резюме, разумеется, не забыть упомянуть опыт обслуживания продакшн-систем с миллионом инстансов.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Анонимус2 , 29-Май-19 19:38 
Где вы такую траву берете? Или вы машину времени украли и пишете из 2030 года?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 13:27 
Не машину, а вагон времени. Всё это ваше ГНУ именно про вагон бесплатного чужого времени.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Andrey Mitrofanov_N0 , 31-Май-19 09:21 
> Не машину, а вагон времени. Всё это ваше ГНУ именно про вагон
> бесплатного чужого времени.

Сестра, тампоны!  В треде ушибленный ГНУ!1

У тебя ушиб, если ты "девляпсы" выше по треду или "дыркер" из новости "перевёл" на гну.

Прикладывай лёд.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 30-Май-19 12:35 
> объявленные (те что персистентны, а не каждый раз вручную)

О, сразу видно великого спеца по девляпсам. Контейнеры, значит, вручную создаете.

На практике, где-либо, кроме тестового стенда, никто такой фигней не занимаются. Контейнеры со всеми томами, портами и лимитами создаются автоматически системой деплоя, поэтому никаких "вручную" быть не может по определению. Более того, в нормальной инфраструктуре система мониторинга выявляет все созданные и измененные "вручную" контейнеры на продовых серваках и поднимает critical alert.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 14:25 
>> объявленные (те что персистентны, а не каждый раз вручную)
> О, сразу видно великого спеца по девляпсам. Контейнеры, значит, вручную создаете.

сразу видно великого спеца-девляпса, он даже не понял что речь о персистентных томах, а не контейнерах.

> На практике, где-либо, кроме тестового стенда, никто такой фигней не занимаются. Контейнеры
> со всеми томами, портами и лимитами создаются автоматически системой деплоя, поэтому

поэтому docker cp их незаменимый помощник, когда что-то где-то пойдет не так, ага, ага (ну и наш тоже, если придет в голову их немного поломать).

какие еще персистентные тома, они об этом ведь не успели дочитать, а если бы и успели - модная система "орхестрации" все равно не даст.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 30-Май-19 16:07 
> сразу видно великого спеца-девляпса, он даже не понял что речь о персистентных томах, а не контейнерах.

Нет, я не понял, нафига вообще нужны персистентные тома. Еще раз: список томов в виде пар "каталог хоста"-"каталог контейнера" (+опционально ro) автоматически формируется при создании каждого нового контейнера. Зачем в этой схеме нужен механизм docker persistent volumes?

> поэтому docker cp их незаменимый помощник, когда что-то где-то пойдет не так, ага, ага (ну и наш тоже, если придет в голову их немного поломать).

Ну удачи залезть на тестовый стенд. Конечно, специально для вас его откроют в мир. Если очень-очень попросить.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 16:11 
> Нет, я не понял, нафига вообще нужны персистентные тома. Еще раз: список
> томов в виде пар "каталог хоста"-"каталог контейнера" (+опционально ro) автоматически
> формируется при создании каждого нового контейнера. Зачем в этой схеме нужен

в этой-  низачем, поэтому поломано и починено не будет. Как и много чего еще, брошенное недоделанным, потому что стая макак ускакала за новыми, более блестящими погремушками.
(тот же swarm, как показала практика)



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Канделябры , 29-Май-19 16:02 
> с искрометными шутками

Не каждому разработчику удаётся выбраться из контейнера на оплачиваемую работу.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 18:10 
Хьело фрём Индия, дрюгь! Ми написале харёши кёд для твая видиёкартачкя, дрюгь! Тама сто милиёнь строкь! (неразборчиво говорит дальше на хинглише)

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Дон Ягон , 29-Май-19 16:17 
> Ждем комментаторов с искрометными шутками про "девляпсов" и "контейнеры нинужны".

Жаль, что тебе и подобным не понятно, что это не шутки в целом.
Контейнеры сами по себе может и ок концепция, со своей областью применения, но то, как эта концепция реализована в дрокере - это провал. Да и вечнодырявые линуксовые неймспейсы доверия не добавляют.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено виндотролль , 30-Май-19 06:44 
какая разница между концепцией контейнеров, ее реализацией в докере и линуксовыми неймспейсами?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Дон Ягон , 30-Май-19 16:00 
> какая разница между концепцией контейнеров, ее реализацией в докере и линуксовыми неймспейсами?

Это, на самом деле, непростой вопрос, на который развёрнуто отвечать можно очень долго и наверняка можно что-то пропустить.

Контейнеры в Linux претендуют на то, чтобы быть гибкими до невозможности. Ты можешь запустить приложение только в сетевом или только в PID неймспейсе, например, и, в теории, как угодно хитро управлять наборами неймспейсов для контейнеров.

На практике - бесконечные дыры из-за того, что реализация переусложнена во имя той самой гибкости.
При этом, необходимость этой гибкости под огромным вопросом.
Нужно изолировать приложение? ИЗОЛИРУЙ! Не нужно этих полумер с общими для N контейнеров неймспейсов. Это никогда не будет безопасной конструкцией.

В этом плане неплохой пример того, какие контейнеры ОК - старые джейлы во FreeBSD. Гораздо более куцые в плане функционала, но свою задачу - запуск приложений в изолированном контейнере решающими отлично. Сейчас и их слегка переусложнили...


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 18:18 
Ты про вебмакак забыл без них никуда.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено псевонимус , 02-Июн-19 15:53 
"Контейнеры2 НЕ НУЖНЫ. дЕВЛЯПСЫ И ХИПСТОТА ЗЛО.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 13:26 
#nobigfatdaemon

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено ыфективный манагер , 29-Май-19 13:46 
S in docker stands for security

Уже было и потёрли?


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено имя , 29-Май-19 14:07 
шутка, повтроненная в десятый раз уже не смешна

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено анонн , 29-Май-19 14:11 
> шутка, повтроненная в пятидесятый раз уже не смешна

Кто бы это Астахалу объяснил?



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Евгений Петросян , 29-Май-19 14:24 
отнюдь, коллега, отнюдь

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 29-Май-19 15:12 
> S in docker stands for security

Вроде так обычно не про докер шутили, а про systemd.
WAIT, OH SHI~


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 13:47 
#notabug

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Sw00p aka Jerom , 29-Май-19 14:19 
Ну где тот аноним, который биткоинами разбрасывался? месяц даже не прошел )))

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 14:26 
ну он вроде обещался за вылезание из контейнера, а не за эксплуатацию уязвимости в самом дыркере

тут, как я понимаю, традиционно, нужен доступ к docker socket или лох, который это сделает за тебя в оговоренный момент. А это человеческие отношения, это сложно - проще получить свой биткойн с этих вот - "я вчера взламал твой кампьютер, хакнул твой вебкамера и заснятое разошлю по списку всех тваих кантактов если не пришлешь мне деньгов". Раньше они хоть правда пытались подбирать пароли и иногда даже присылали их, а теперь уже не парятся - видимо, и так неплохо выходит.

И только я, как дурак, сижу без вебкамеры :-(


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 29-Май-19 15:09 
> лох, который это сделает за тебя в оговоренный момент.

И вероятность удачи порядка 1% на попытку. Очень долго придется несчастного лоха мучить...


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 29-Май-19 15:06 
> Ну где тот аноним, который биткоинами разбрасывался? месяц даже не прошел )))

Он обещал за выход из контейнера. А сабжевая жуткая мега-уязвимость предполагает, что вы уже вне контейнера и имеете полномочия для управления докером (группа docker, в которую обычно входят только админы).


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 16:08 
так каждый дурак может, тут идея что полномочия-то не у тебя, а используешь их - ты, без спросу.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 30-Май-19 12:42 
Фигасе "без спросу" - сотню-другую раз подряд просить админа "ну скопируй мне файл, ну позяяяязя".

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 14:37 
Systemd, dockers, не хватает только реестра для полного счастья.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 14:42 
dconf

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним84701 , 29-Май-19 15:06 
> dockers

C буквой "s" это будет другой, неправильный докер.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 15:23 
Wayland же, причем тут реестр.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Andrey Mitrofanov_N0 , 29-Май-19 15:44 
> Wayland же, причем тут реестр.

"-- Тому не надо #Windows искать, у кого он за спиной стоит. "(почти)


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 16:09 
"на 'десктопе' стоит"


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Andrey Mitrofanov_N0 , 31-Май-19 09:27 
> "на 'десктопе' стоит"

не, за "спиной rh ^W ibmel-а".


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Gannet , 29-Май-19 23:22 
В топике ничего не сказано про systemd, чудик.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено corvuscor , 29-Май-19 14:40 
>Атака может быть совершена только в момент выполнения администратором команды "docker cp" для копирования файлов в контейнер или из него.

Вот уязвимость так уязвимость... Я аж забоялся...


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 29-Май-19 15:08 
> Таким образом атакующему необходимо каким-то образом убедить администратора Docker в необходимости выполнения этой операции и предугадать используемый при копировании путь.

Может, проще сразу попросить рутовый доступ? А что, неплохая уязвимость получается - любой линукс взломать можно. И *bsd тоже. "Каким-то образом убедить админа, что вам нужен рутовый шелл".


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 15:08 
А когда выберетесь из докера, то что дальше делать будете ?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Fyjybv755 , 29-Май-19 15:15 
Если говорить о реалистичных сценариях атаки, то это не "выбраться из контейнера", а "получить рута, если у тебя есть полномочия докер-админа".
На практике обычно управление докером и так выполняется из-под рута, поэтому можно даже за попкорном не ходить, скукотища.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Какаянахренразница , 29-Май-19 15:20 
Снова ночь и снова демоны приподнимают крышки контейнеров, оглядываются вокруг и едва слышно, по-одному, вылазят наружу...

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено zurapa , 29-Май-19 15:58 
Вот читаю комментарии, и удивляюсь. Никогда столь дырявая вещь не захватывала умы IP сообщества. Видимо это новый миллениум - сначала ставишь в прод, потом отлавливаешь баги, дыры и всё такое. Нам же некода, быстро надо.
Это:
и про докер,
и про pulseaudio, как он внедрялся,
и про systemd, как он внедрялся, без которого docker не столь привлекательным становится.

Странно это. Без докера, помоему и обсуждать то не пришлось бы. Сейчас все разговоры только о том, какие дырки в докере, как эти дырки латают, как swarm придумал, как научили контейнеры контактировать друг с другом, какой плохой swarm, закроем swar, сделаем kubernetis, и т.д...

Технология на столько бурно развивается. и на столько плохо обкатана, что тот кто его потрогал год назад, сейчас уже занова должен всё читать и разбираться.

В сети взяли на вооружение BGP, раздали всем желающим рукожопам по AS, и сейчас ноют, что делать с интернетом. Распродали IP-адреса всем подряд, бесконтрольно, получили целые подсети spam, ddos, прочего флуда.

У меня одного впечатление, что всем IT рулит стадо детей лет 12-ти, которым вообще не хочется думать о завтрашнем дне?

Где мозги у людей?!

Даже уже шутить по поводу Docker не хочется. Это реально не смешно становится. Постригусь в BSD'уны.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 16:16 
> и про systemd, как он внедрялся, без которого docker не столь привлекательным становится.

вот сейчас обидно получилось!

доскер с системд - не то что не близнецы-братья, а вообще друг-друга не любят. При запуске изнутри доскера, у системды есть специальный детект, который при этом ее ломает нахрен (можно починить но не нужно - для того и сделано ,чтоб так не запускали - просто так работать не будет, нужен костылепердолинг. one true init, заметьте, будет) Менеджмент доскер-контейнеров системдой невозможен нормально by design, только кривыми костылепрокладками - что и вызвало к жизни редхатовский "почти такой же, только не демон" (хотя ежу понятно что это решение всем хуже).
Поменять параметры запуска доскеру до системды можно было отдельным человекочитаемым конфигом (поскольку их читал скрипт), сейчас - только оверрайдом юнита, со всеми побочными эффектами (включая и то что человекочитаемым это не является, поскольку потроха сцыстемды перемешиваются с настройками приложения), ведь сцыстемда не умеет файлы с параметрами, а доскер как обычно недоделан, и не все то что можно пооверрайдить командной строкой, допустимо в конфиге.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Ёж , 29-Май-19 17:05 
> хотя ежу понятно что это решение всем хуже

Мне не понятно! Объясни!


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 17:54 
у тебя есть демон, работает с поднятыми привиллегиями, запускается тем у кого они есть, может самостоятельно после этого сбросить лишние (ему видней, какие на самом деле нужны), no user-serviceable parts inside.
И отдельно cli, не требующий лишних прав, общающийся с демоном через лимитированный интерфейс (docker socket).

Очевидно, что это и более надежное, и более управляемое (единственная точка входа - сокет, на которую можно аккуратно раздать права кому надо) и более компактное решение, вполне себе, между нами, unixway. Если б еще и работало, цены б ему не было, но тут как всегда.

Редгад берет и запихивает это все в юзеро-исполняемую программу чохом. Только потому, что его чудо-система инициализации не может нормально с тем демоном взаимодействовать, и не понимает, работает ли еще контейнер или уже сдох. (хотя это вообще не ее собачье дело, между прочим - но вот перехода в состояние running было бы неплохо и дождаться, если от его работы еще что-то у нас зависит. А опаньки, не обучено оно таким сложным проверкам.)


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено вИКТОР АГН , 29-Май-19 20:01 
>и про systemd, как он внедрялся, без которого docker не столь привлекательным становится.

да при чём тут докер то? :E у меня за 2 года прода багов докера было ровно два, с пермиссиями и extended acl. второй баг возник из-за лимитов. В systemd они задаются отдельно от /etc/security/limits.d/
Других проблем не было. и это прод, 2к рпс/наносекунду.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 02:37 
> у меня

да-да-да, "если у меня работает, значит не гoвно".


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 31-Май-19 06:37 
2K рпс/наносекунду. Толсто однако.

РПС - RPS - requests per second.

Даже если забыть этот ляп. И это 2K запросов в наносекунду,  Гугл в сторонке курит.

Иди уроки учи. Завтра в школу


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 31-Май-19 06:39 
Другими словами вы pizdobol сэр.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено zurapa , 31-Май-19 11:56 
Я в своём комментарии, как бы намека (явно говорю), что без systemd, с которым требования в виртуальной машине повышаются до 512МБ (хотя, вроде 256МБ со скрежетом стартует), докер становится не так привлекателен со всей мудрёностью, дырами, оркестрационными костылями и прочими утилитами.

Смотрите пример.
допустим в минималке Alpine Linux запускается на 32МБ RAM. Сколько вы таких станций сможете запустить, чтобы утилизировать 1ГБ RAM?
А теперь, если у вас Debian, на запуск которого вам нужно 512БМ RAM. Сколько вы таких станций сможете запустить, чтобы утилизровать 1ГБ RAM?

Доступно объяснил?

Я конечно понимаю, что 32МБ RAM на запуск системы и кучи процессов подкапотом и дискового пространства под систему значительно выше чем в контейнере. Но зато, не нужно постоянно адаптироваться под быстроменяющийся дуршлаг, быстродействие которого под большим вопросом под нагрузками, т.к. есть накладные расходы на слои FS, есть утечки памяти, есть нюансы с сетью, есть дырки и нежданчики, которые всю изоляцию делают вовсе не изоляцией (на сколько позволяет мне судить моё поверхностное знание о Docker).

И это всё прекрасно, когда вы на Docker у себя в лаборатории, изолированной от общества, делаете. А вот если начинаете покупать контейнеры у Amazon, в облаке на них прод подымаете. Мне вас жалко.

Не! Конечно, может вы никому не интересны, и у вас взлома не произойдёт!... И в резюме вы сможете написать, что знаете докер, можете подымать 100500 хостов за пару минут и вертеть все их на своей шишке. Обычно это безотказно работает на работодателей ищущих DevOps.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Гномспецназ , 29-Май-19 16:22 
Нео путь избранного

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 16:47 
А что Freebsd с её джейламм?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Sw00p aka Jerom , 29-Май-19 17:47 
> А что Freebsd с её джейламм?

какой был 100 лет назад, такой и остался, пусть таким и остается


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 17:55 
кое-что все же успели испортить за последние пять - в погоне за косплеем доскера, ага.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено abi , 29-Май-19 20:21 
vnet что-ли? На 11.2 все ещё кидал систему в панику если в разных клетках свой pf запустить.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Sw00p aka Jerom , 29-Май-19 21:58 
> vnet что-ли? На 11.2 все ещё кидал систему в панику если в
> разных клетках свой pf запустить.

в клетках пф? о Боже


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 22:08 
>> vnet что-ли? На 11.2 все ещё кидал систему в панику если в
>> разных клетках свой pf запустить.
> в клетках пф? о Боже

ну а зачем вообще тебе vnet?

с разделяемой физической сетевухой и так все работает.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Sw00p aka Jerom , 30-Май-19 00:19 
> ну а зачем вообще тебе vnet?
> с разделяемой физической сетевухой и так все работает.

алиасов хватает )


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 13:33 
Алиасы не нужны. vhid практичней.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 17:44 
так это и есть разделение физической сетевухи - хошь алиасами, а не хошь просто порт не занимай.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Sw00p aka Jerom , 30-Май-19 17:56 
> так это и есть разделение физической сетевухи - хошь алиасами, а не
> хошь просто порт не занимай.

а зачем тогда pf тянуть в джейл?


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 18:23 
в смысле? Это способы его туда не тянуть.

А pf в jail можно хотеть тянуть по миллиону причин - например, дать им порулить кому-то третьему. Но для этого понадобится таки vnet. С моей точки зрения - лучше бы его там не было, а кому-те мы дадим виртуальную машину, пусть подавится, но в ядре будет меньше подозрительного кривого кода, который некому поддерживать.

P.S. впрочем, я тут случайно забрел в некоторые места, почитал, сделал выводы о перспективах фри в моем хозяйстве и в народном хозяйстве вообще.
Вкратце: раз https://reviews.freebsd.org/D19094 и два: https://github.com/zfsonlinux/zfs/issues/7896 (напоминаю, что это вашновыйстанда...простите, апстрим, и именно по этой причине туда пришел Тутубалин, точнее, его сумели уговорить это сделать)

Причем во втором случае есть шанс на победу здравого смысла, а в первом никаких надежд нет, типичное поведение фрибсдшников, ткнутых носом в проблему.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Дон Ягон , 04-Июн-19 01:14 
> Вкратце: раз https://reviews.freebsd.org/D19094 и два: https://github.com/zfsonlinux/zfs/issues/7896
> (напоминаю, что это вашновыйстанда...простите, апстрим, и именно по этой причине туда
> пришел Тутубалин, точнее, его сумели уговорить это сделать)
> Причем во втором случае есть шанс на победу здравого смысла, а в
> первом никаких надежд нет, типичное поведение фрибсдшников, ткнутых носом в проблему.

О да. Сорян за лёгкий некропостинг, но да, это прекрасно.
"Ты закоммитишь?" - и тишина. В русскоязычном канале фрибсдшников в богомерзком телеграме Слава (slw который) много высказывался про весь этот трэш-цирк.

Жаль, что всё так.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 18:14 
Для всех в этом чатике изоляция бывает только аппаратная. И то там работает социоинженерия. Все остальное фикция. То что докер не может решить эту проблему это только потому что никто такой задачи решить не может.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Онаним , 29-Май-19 19:45 
Ещё дыры в интеловских процах там ничего так работают.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Анонимус2 , 29-Май-19 19:46 
Эту вашу аппаратную изоляцию ломают чаще чем в докере дыры находят. При этом её ещё и исправить можно только покупкой новой железяки, которая появится только через год.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 13:36 
> вашу аппаратную изоляцию ломают чаще чем в докере дыры находят.

Это изоляция .. , она такая же наша как и твоя.
И почему изоляцию ломают, а дыры в докере находят? Может всё ровно наоборот? Дыры в твоей аппаратной изоляции находят, а докер ломают?

> При этом её ещё и исправить можно только покупкой новой железяки, которая появится только через год.

И какой же ты делаешь из этого вывод? Что, надо использовать докер без аппаратной изоляции?


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено zurapa , 31-Май-19 12:03 
Вот тут ты очень смешно протролил. Надо запомнить. Буду теперь всем DevOps'ам говорить, чтобы использовали Docker без аппаратной изоляции в чистом виде, прямо на железе. Какой там на железе?! Прямо в уме пускай это делают. В мозгу то дыр нет. Хотя...
Ха-ха-ха-ха-ха! (сдох)

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 21:05 
> И то там работает социоинженерия.

И хорошо работает. Аппаратная изоляция - это программная, реализованная на уровне фирмвари проца. Тот же программный код, притом проприетарные. Да уж, изоляция с открытым кодом - фикция, только проприетарная изоляция настоящая.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 19:20 
Вспомнил забавный киноляп из недавнего фильма, как чел, кажется раз 7 сбегал из немецкого концлагеря во время второй мировой.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним84701 , 29-Май-19 20:48 
> Вспомнил забавный киноляп из недавнего фильма, как чел, кажется раз 7 сбегал
> из немецкого концлагеря во время второй мировой.

Был такой. Тони Ролт. Прославился еще как гонщик (и тем, что для последнего побега, из замка Кольдиц, построили с группой заключенных планер).
Сбегал 7 раз (вроде как подтверждено документально самими немцами).
Просто был британским офицером (более мягкие условия содержания в начале второй мировой), да и последний его побег был еще до 1943.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено sleeply4cat , 29-Май-19 19:48 
Почему баг обработки симлинков исправляется приостановкой контейнера????

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено вИКТОР АГН , 29-Май-19 20:06 
>Почему баг обработки симлинков исправляется приостановкой контейнера????

потому что твой супер контейнер должен быть stateless, и их должно быть два минимум.
statefull прикладухи для докера это такое себе, mysql в докере поднимать не следует, если ты не псих и не разраб.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 20:17 
> Почему баг обработки симлинков исправляется приостановкой контейнера????

потому что макака по другому просто не умеет. Контейнер стопнула - опа, вот и race condition сам собой рассосался, с гарантией. А что он в тот момент может на запрос отвечал (от чего никакое "stateless" не спасет) - да пофигу, вон, девляпс уже верещит что это верно и правильно, у него 5krps ненужно - "всеработает".


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено mumu , 29-Май-19 20:49 
Девопсненько так. В lxc проблемы нет, но девопсяры же в неё не умеют, им решетокер нужен))

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Анонимный эксперт , 29-Май-19 20:52 
lxc очень сложно, нужно проходить курсы для запуска hello world

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 29-Май-19 22:11 
> lxc очень сложно, нужно проходить курсы для запуска hello world

lxc еще и очень криво, неудачный косплей виртуальной машины.
К ней бы runc от clear приделал кто - была бы неплохая в общем альтернатива qemu.



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 21:00 
В podman тоже нет проблемы, но во многом аналогичен докеру по использованию. Да и runc лучше lxd по безопасности, потому как хотя-бы для части контейнеров в нем можно обходиться без прав рута.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 11:41 
https://github.com/rgroux/exemples/wiki/Howto:-LXC---contain...

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 29-Май-19 21:01 
Вообще этих контейнеров вагон и маленький вагон, но бабки нашептали только три буквы - LXC.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено mumu , 30-Май-19 10:05 
Вопрос в том, как много из них прошли аудит безопасности и стали готовы для продакшена.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 16:14 
> Вопрос в том, как много из них прошли аудит безопасности и стали

лолшта? Конечно ноль!
> готовы для продакшена.

ВСЕ!
(каравай-каравай, каку хочешь? Выбирай!)


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Анонимный эксперт , 31-Май-19 04:30 
Только то что запускают в реальной VM, как например VMware Photon.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 31-Май-19 07:19 
> Только то что запускают в реальной VM, как например VMware Photon.

ты еще скажи, что она проходила какой-то там "аудит".

или что секретная технология x-як-х-як и в продакшн не освоена китайцами вмвари в достаточной степени.

или что такая же виртуалка с atomic shit (или как там его) чем-то по надежности будет хуже?



"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Gannet , 29-Май-19 23:27 
В systemd-nspawn тоже проблемы нет.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Погонщик , 30-Май-19 01:05 
Ну что, сколько уже смузихлебов выбралось из своего картонного контейнера? Уже есть статистика?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 02:23 
ШОК, СЕНСАЦИЯ!!! Найдена уязвимость во всех ОС: Если иметь права root\админа, то можно убить систему!!!
Уязвимость ещё не исправлена!

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 03:26 
А можно поподробнее? Хочу УБИТЬ СИСТЕМУ!

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Пишу из ванны , 30-Май-19 08:57 
Имей систему - переходи на красный.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 30-Май-19 13:38 
Можно: killall system
Дерзай.

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено анонн , 30-Май-19 14:14 
> Можно: killall system
> Дерзай.

# killall system                                                                  
No matching processes were found

А что должно было произойти?


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено mumu , 30-Май-19 10:06 
Если на каждый шмокер приходится ровно по одному хосту, то не страшно конечно. Но нафига тогда он нужен?

"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено пох. , 30-Май-19 12:05 
для деплоя же ж...

но так красиво получается только первые три дня - а дальше контейнеров становится пара сотен, вручную рулить ими ты быстро задолбаешься, а ответственность за безопасность и надежность решения уже успешно переложена на никого, так что и плакать не о чем.


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Аноним , 01-Июн-19 18:20 
> убедить админа

Убедить? Да сейчас каждая вторая приблуда - "нет времени объяснять, качай docker". Или еще хуже "curl https://vasyapupkin.com -sSf | sh"


"Уязвимость в Docker, позволяющая выбраться из контейнера"
Отправлено Anonim , 10-Июн-19 10:12 
Используйте для изоляции харденед chroot от grsecurity.net