Пользователи Docker Hub (https://hub.docker.com/), официального каталога контейнеров для системы Docker, получили уведомление (https://news.ycombinator.com/item?id=19763413) о взломе инфраструктуры проекта. В результате атаки в руки злоумышленников попала база учётных записей, включающая сведения о 190 тысячах пользователей сервиса, включая хэши их паролей и токены для доступа к репозиториям на GitHub и Bitbucket. Для предотвращения распространения атаки формирование сборок приостановлено, а токены к GitHub и Bitbucket отозваны.
Всем пользователям Docker Hub рекомендуется срочно поменять свои пароли, особенно если один пароль используется на нескольких разных ресурсах. В случае использования автоматизированных сборок с привязкой к репозиторию на GitHub или Bitbucket также рекомендуется включить двухфакторную аутентификацию и обновить идентификатор подключения OAuth (нужно (https://docs.docker.com/docker-hub/builds/link-source/) отсоединить и заново привязать репозиторий).
В случае привязки к репозиторию запрашивались полные полномочия на чтение и запись информации, т.е. компрометация Docker Hub может привести и к компрометации подключенных репозиториев. В случает наличия привязки следует внимательно
изучить лог (GitHub (https://help.github.com/en/articles/reviewing-your-security-log) BitBucket (https://bitbucket.org/blog/new-audit-logs-give-you-the-who-w...)) последних событий на предмет наличия подозрительной активности. Кроме того,
в случае размещения ключей подключения к различным API в непубличных репозиториях и контейнерах, необходимо обновить и эти ключи, так как атакующие могли получить доступ приватным репозиториям.
Инфраструктура Docker Hub была атакована 25 апреля. В ходе атаки злоумышленники получили доступ к СУБД проекта и информации пользователей, за исключением финансовых данных. Начальное разбирательство показало, что утечка охватывает данные приблизительно 190 тысяч пользователей, что составляет примерно 5% от общей пользовательской базы сервиса. Подробная информация об инциденте пока недоступна, разбирательство ещё не завершено.URL: https://news.ycombinator.com/item?id=19763413
Новость: https://www.opennet.dev/opennews/art.shtml?num=50584
Обо всех этих проектах *hub впереди ещё много интересных новостей (не всегда радостных)
кстати, а все оценили что их нескучный бложек называется success.docker.com - и страничка, куда ведет ссылка с любой страницы докерхапа, имеет прекрасный подзаголовок "docker success center" ?рыдаю под столом. Воистину, саксес!
>success.docker.com - и
> "docker success center" ?
> рыдаю под столом. Воистину, саксес!"" Дыркер -- не про безопасность и не про продавакшен, и никогда не был. ""
http://www.opennet.dev/openforum/vsluhforumID3/117187.html#39Отано чо! Он про сак-сцес!11111
Точно. Про sucks ass.
Вот жесть, целый docker hub.
Вот почему никогда нельзя привязывать друг к другу свои аккаунты на разных сервисах. Дописал что-то в код - закинул на гитхаб от себя. Слепил имидж с обновлённым кодом - закинул на докерхаб опять-таки от себя.
Вы только что придумали велосипед - держите в курсе.Собирать докер имеджи руками - моветон
> Собирать докер имеджи руками - моветонИ давно для Вас Алёна Гиль стала авторитетом по части создания Docker-образов?
Это мои чисто практические заключения, из опыта, которого к слову с докером уже более 4х лет
Ну да, конечно, весь твой опыт с Докером подтверждает, что _на своей_ машине автоматом слепить обновлённый образ на основе обновлённого репозитория (который опять-таки живёт _на твоей_ машине, а на гитхаб только отзеркаливается), и _со своей_ машины закинуть его на докерхаб - это страшный моветон, да.
В _твоём_ собственном интернете, никому, кроме _тебя_ не нужном.
Поделом.
Хотя, им же нечего скрывать)))0
весь докерхаб надо поместить в докер, полученный контейнер засунуть в квм, квм-хост запустить на hyper-v, что бы прям все было забетонировано.
И как же эти действия защитят от взлома?
Никак, но будет правильная матрёшка по типу "мы засунули тебе браузер в браузер, чтобы ты мог сёрфить интернет пока сёрфишь интернет".
> квм-хост запустить на hyper-vНу-ну.
Ого, редко встретишь настолько глубоко мыслящего индивидуума, что глубину этой мысли даже титаническими усилиями не постичь простому смертному!
Респект, глубиномер зашкалил!P.S. Это часом не Вы изобрели 100-ричную логику, где банальные и привычные законы нашей "приземленной" бинарной логики не действуют от слова "совсем"?
Если так, то "троектратный Салют" и респект дважды!
> hyper-vпоказывает, на каких курсах он набирался ума
>P.S. Это часом не Вы изобрели 100-ричную логику, где банальные и привычные законы нашей "приземленной" бинарной логики не действуют от слова "совсем"?Почему же это не действуют? как раз на оборот
Какая разница между допустим (A xor B) и (A xor B xor C) ?
Никогда такого небыло и вот опять
У любого адекватного человека, не родится мысль брать чужие блобы в дом, ну а если взял - ССЗБ.
В интернете куча статей как собрать образы (from scratch ) , пользуете CI ? прекрасно! Они будут собираться автоматически.А дыры всегда были и будут, да вот опять :D
линукс себе from scratch собрать не забудь, альтернативно-адекватный ты наш.а то ж там блоооообы!
(тыщи их)P.S. а еще есть прекрасные дыркерные контейнеры, которые не имеют исходников в принципе.
Или имели их - когда-то. А сейчас не соберутся, либо потому что FROM:чтототамчтотригоданазадбыло:latest либо потому что наоборот - внутри wget какая-тохрень, которая давным-давно уже удалена или перемещена незнамокуда.Но бывают и такие где автор просто ниасилил автоматическую сборку - смотришь в history - а там - там-тадам add /здоровенный.tar - собранный автором кое-как у себя, любимого, методом проб и ошибок с единственно-верными версиями всего.
> потому что FROM:чтототамчтотригоданазадбыло:latestТе чё сказали? FROM: scratch
"Девопсы плакали, но продолжали жрать кактус..."
Гражданин Зара(у)па,Шли бы вы лесом, если не умеете (как и большинство тех кто называет себя девопсом ) - то это не значит , что мир на вас замкнулся, всем на-ср-ать на ваше мнение, у бизнеса свои критерии.
Те кому надо, уже в докере/кубере - да хоть в рокете, а вы продолжайте жевать свой эгкхм Кактус сами.
Как правило, такие как Вы, даже винду поставить нормально не могут, не говоря уж о каких либо адекватных ОС.Мир не идеален, незаменимых нет. Успехов вам, на вашем месте работы, надеюсь вас там ценят и любят (а иначе на-хе-р вас там держать ? )
Эвона взорвалось у анонимуса. Обычно как раз таки наоборот - кучу девопсиков умеет в 3 команды докера, а как только надо запустить локально - так они даже не знают какие пакеты нужно установить (а часто оказывается, что у них венда). С умным видом клацать кнопки в вебморде консоли хостинга и раскатывать готовые имеджи - это не вершина эволюции, уймитесь.
да, это не вершина эволюции. это яма деградации.
Всяко бывает, да. Приходил один собеседоваться. Его спросили: зачем докер нужен? А он: чтобы после обновления сервиса всю систему не перезагружать.
Но из существования таких индивидов не следует, что докер не нужен. Вот нужность хаба под вопросом, ибо кроме пары-тройки официальных образов оттуда ничего брать точно не стоило (а после этого факапа и их не стоит).
> Его спросили: зачем докер нужен?опа, а с этого места поподробнее - что вы ожидали услышать от правильного кандидата?
(меня интересует именно это, а не "правильный ответ")
> Но из существования таких индивидов не следует, что докер не нужен. Вот нужность хаба под
> вопросом,дыркер без хаба - очевидно не нужен.
поскольку превращается в плохой косплей бсдшного джейла, где солнце надо закатывать вручную.
> дыркер без хаба - очевидно не нужен.Это всё равно, что говорить, что git без гитхаба не нужен. Никто ведь не мешает держать свой уютный реестр со своими образами.
> поскольку превращается в плохой косплей бсдшного джейла, где солнце надо закатывать вручную.
А что, у бсдешного джейла есть API, позволяющий его легко интегрировать с чем вздумается? И что, он умеет наплодить >9000 контейнеров из одного образа за считаные секунды с минимальным оверхедом? Да, подобное можно реализовать с помощью jail, но поверх придётся наворотить ещё вагон кода.
> Это всё равно, что говорить, что git без гитхаба не нужен.git и с гихапом не нужен, автоматизируя ненужную деятельность и не автоматизируя нужную, но это ладно.
> Никто ведь не мешает держать свой уютный реестр со своими образами.
только смысл в этом какой?
весь смысл и польза от дыркера в том что наружу ничего лишнего не торчит и не может быть просыпано на пол.
А для этого надо иметь FROM что. Иначе (если оно у тебя уже отдельно от доскера собрано и лежит на общей fs) - нахрена городить этажерку с ее глюками, падениями и тормозами? (и s for security)> А что, у бсдешного джейла есть API, позволяющий его легко интегрировать с чем вздумается?
а зачем он ему, если он не является монстром без ручек с ниасиленными exit codes, не говоря уж о чем сложнее?
> И что, он умеет наплодить >9000 контейнеров из одного образа за считаные секунды с минимальным
> оверхедом?он умеет запустить 9000 процессов с тем же самым оверхедом, с которым их запустила бы операционная система без всякого контейнера (потому что для нее нет разницы).
В отличие от доскера, где старт контейнера весьма и весьма уныл из-за создания ненужно-матрешки оверлеев - у меня мониторинг успевает заорать.> Да, подобное можно реализовать с помощью jail
но ведь ненужно.
> но поверх придётся наворотить ещё вагон кода.
ну и к дыркеру пришлось. причем это еще и вагон очень плохого кода - начиная от swarm (внезапно ломающего build, казалось бы, никак не связанный с ним) и заканчивая k8s и менее популярными затыкалками явных косяков дизайна и неумения разработчиков доделывать до работоспособного в массовом проекте состояния, а не "запускается!"
P.S. вот кто-нибудь знает как ЭТО можно употребить с ну хоть какой-нибудь практической пользой?
https://github.com/gentoo/gentoo-docker-images
(на build error не обращайте внимания - это как раз последствия взлома)
> А для этого надо иметь FROM чтоСобрал базовый образ, на его основе плодишь всё остальное. В чём проблема? (Да, я, как и большинство других, ленив, и до сих пор большую часть базовых образов тягал с хаба, сам собирал только то, чего там нет.)
>> А что, у бсдешного джейла есть API, позволяющий его легко интегрировать с чем вздумается?
> а зачем он ему, если он не является монстром без ручек с ниасиленными exit codes, не говоря уж о чем сложнее?Затем, чтобы твоё сравнение его с докером имело право на существование.
> он умеет запустить 9000 процессов с тем же самым оверхедом, с которым их запустила бы операционная система без всякого контейнера (потому что для нее нет разницы).
> В отличие от доскера, где старт контейнера весьма и весьма уныл из-за создания ненужно-матрешки оверлеев - у меня мониторинг успевает заорать.Оверлеи для того и нужны, чтобы запускать не просто процессы, а разные контейнеры, не копируя образ. И это как раз то, для чего есть смысл использовать докер.
> но ведь ненужно.
Тебе не нужно — ну и молчи в тряпочку. А я бы порадовался, если бы давние потуги запилить jail-бекенд для докера привели бы к созданию чего-то работоспособного.
> Собрал базовый образ, на его основе плодишь всё остальное. В чём проблема?зачем, блин?
базовый образ ты собирал из своей операционной системы - поздравляю, она у тебя и так есть - теперь еще и со всем нужным для работы того что предполагалось в образе.
Какой теперь смысл громоздить подпорки и костыли?
У jail смысл остается - в изоляции, доскер и ее обеспечивает на от...сь.> (Да, я, как и большинство других, ленив, и до сих пор
> большую часть базовых образов тягал с хаба, сам собирал только то,с хабом все как и с обычными дистрибутивами линукса - большая часть работы проделана за тебя - это и обновления, и сборка-упаковка. (да, все сделано не теми руками и через анус, но "и так сойдет" в эпоху девляпса)
Ты _экономишь_ свое время и усилия, написав FROM какаятонёх и добавив пару своих конфигов или специально-кривособранный бинарник, и вообще не парясь о том, что там в нижних слоях. (потом обратно тратишь на выпрямление изначально кривого, но это см выше - можно и не тратить)
Не говоря уже о том что у меня полно такого, что просто не соберешь или оно соберется криво - разработчики уже напрочь разучились думать верхней головой, и эти поделки существуют вообще только в виде готовых образов.
> Затем, чтобы твоё сравнение его с докером имело право на существование.
у него есть api, unix называется.
у дыркера, что характерно, нету, вмешаться можно через несколько кривых и уродливых механизмов, иначе все сломаешь (читал тут про страдания с ipv6 - плакал - там именно все сломали, а зачем - непонятно, не в смысле причин, а в смысле результата).> Оверлеи для того и нужны, чтобы запускать не просто процессы, а разные
> контейнеры, не копируя образ. И это как раз то, для чегоman mount_unionfs что-ли?
> есть смысл использовать докер.
приведи пример хоть одного использования по назначению - и зачем оно в принципе надо, отдельно от кривизны самой технологии.
у меня вот смысл что это средство деплоя. Я не могу поставить ту систему, которая там внутри, оно гнилое и дырявое. раздать subtree с ней для jail'ов через nfs - мог бы ничуть не сложнее чем громоздить обертки для "контейнеров", еще и работало бы быстрее.
>> но ведь ненужно.
> Тебе не нужно — ну и молчи в тряпочку. А я быникому ненужно - поэтому и не написали (альтернативно-одаренные не в счет - им всегда нужно, но написать ничего не могут). В линуксе другого пути не было просто - весь миллион low-level api, задействуемых дыркером при создании контейнера, практически невозможно использовать вручную, поэтому и наклепали игогошную поделку, кое-как соединяющую их в то, что во фре делает утилита на 16k.
> порадовался, если бы давние потуги запилить jail-бекенд для докера привели бы
так в нем линукс-помойки все равно нормально работать не будут.
> базовый образ ты собирал из своей операционной системы - поздравляю, она у тебя и так есть - теперь еще и со всем нужным для работы того что предполагалось в образе.Ты это, заканчивай там с веществами. Образ аккуратно собирается в чруте посредством debootstrap или rinse, в зависимости от дистрибутива, который надо упаковать. И в нём далеко не обязательно тот же самый дистрибутив, под которым это делается.
> с хабом все как и с обычными дистрибутивами линукса - большая часть работы проделана за тебя - это и обновления, и сборка-упаковка.
Ага, только, в отличие от дистрибутива, ты понятия не имеешь, кто и как всю эту работу проделал. Нет рецензирования, нет подписывания, нет никаких гарантий. В случае дистрибутива ты доверяешь команде его разработчиков, в случае хаба — сборщику каждого отдельного образа индивидуально. Всех надо проверять, если ты хоть немножко парано^W не самоубийца.
> Ты _экономишь_ свое время и усилия, написав FROM какаятонёх
Не помню уже, когда писал что-нибудь отличное от FROM debian или FROM alpine.
> приведи пример хоть одного использования по назначению - и зачем оно в принципе надо, отдельно от кривизны самой технологии.
> у меня вот смысл что это средство деплоя.А у меня это средство для сборки. Они получаются на 100% воспроизводимыми, потому что окружение всегда одно и то же. И docker интегрирован со всеми, какие только бывают, CI (см. выше про API).
> никому ненужно - поэтому и не написали
Вообще-то написали, только пока писали, docker уже настолько переколбасили, что надо было начинать всё сначала.
> так в нем линукс-помойки все равно нормально работать не будут.
А мне фрю надо.
> Ты это, заканчивай там с веществами. Образ аккуратно собирается в чруте посредством debootstrap
> или rinse,больше костылей богу костылей.
образ, используемый доскером - будем собирать в чем угодно, только не в доскере, ну а чо, всегда так делали ж.>> с хабом все как и с обычными дистрибутивами линукса - большая часть работы проделана за тебя -
>> это и обновления, и сборка-упаковка.
> Ага, только, в отличие от дистрибутива, ты понятия не имеешь, кто и как всю эту работу проделал.как будто ты в дистрибутиве имеешь?
Ну и наклейка "official image" как бы имеется. https://docs.docker.com/docker-hub/official_images/
На фоне взлома инфраструктуры вот очень полезная - сразу можно угадать тех, у кого точно утекли и гитхабовые ключи ;-)А когда там нечто, что и собрать-то толком невозможно - так и тем более нет смысла ковыряться - ну его нах запускать билдскрипты и костыли того же автора, хрен знает каких червей он сам нахватался (да и не запускается обычно нифига просто так). Проще сразу запускать его бинарник.
> А у меня это средство для сборки.
а кто только что для сборки использовал поделку с чрут? Я обычно использую (если это нельзя просто взять и поставить или хотя бы просто взять и собрать штатными инструментами) vm, поскольку для сборки все равно понадобится весь интернет, и делать это в разы удобнее в полноценном дистрибутиве, а не в кастрированном уродце.
Но мне воспроизводимость этой сборки нахрен не уперлась (хотя она и воспроизводится - в той же vm) - зачем мне ее воспроизводить чтобы получить то что у меня уже есть?
А с новой версией того же кала (или, что чаще - под новую версию системного кала) - какое ж оно нахрен воспроизводимое? То ли соберется, то ли, скорее всего, нет.> А мне фрю надо.
ну так во фре есть jail. Правда, я давно уже сам не ковырялся с современными CI, но когда еще да - докер им был совершенно фиолетов.
Не говоря уже о том что он как-то плохо умеет запускать винду для тестирования со стороны юзера, и все равно это делал когда-то xen, нынче вмварь.
> больше костылей богу костылей.
> образ, используемый доскером - будем собирать в чем угодно, только не в
> доскере, ну а чо, всегда так делали ж.Да, всегда так делали. На хабе лежат образы, таким же образом собранные. Я тебе больше скажу, с докером в комплекте идёт скрипт, который это делает.
>>> с хабом все как и с обычными дистрибутивами линукса - большая часть работы проделана за тебя -
>>> это и обновления, и сборка-упаковка.
>> Ага, только, в отличие от дистрибутива, ты понятия не имеешь, кто и как всю эту работу проделал.
> как будто ты в дистрибутиве имеешь?Да, имею. Есть команда майнтейнеров, есть ченжлог, есть все логи сборок. Но главное — это всё делает одна команда, а не отдельный Вася Пупкин для каждого пакета, который сам по себе, и о котором никто ничего не знает.
> Ну и наклейка "official image" как бы имеется. https://docs.docker.com/docker-hub/official_images/
Есть, да. До этой новости даже была иллюзия, что она чего-то стоит. Но всё равно за каждым официальным образом — своя команда. Чем больше образов используешь, тем больше народу, которому соглашаешься доверять, а значит выше вероятность, что доверишься кому-то, кому не стоило.
>> А у меня это средство для сборки.
> а кто только что для сборки использовал поделку с чрут?Для сборки не docker-образов, а самых обычных пакетов — rpm, deb, всё такое.
> Я обычно
> использую (если это нельзя просто взять и поставить или хотя бы
> просто взять и собрать штатными инструментами) vm, поскольку для сборки все
> равно понадобится весь интернет, и делать это в разы удобнее в
> полноценном дистрибутиве, а не в кастрированном уродце.Рад за тебя, тебе не приходится поддерживать >9000 разных сборочных окружений. Держать по виртуалке для каждого довольно накладно выходит.
> Но мне воспроизводимость этой сборки нахрен не уперлась (хотя она и воспроизводится
> - в той же vm) - зачем мне ее воспроизводить чтобы
> получить то что у меня уже есть?Чтобы не вылез на следующей сборке из тех же исходников внезапный баг, невесть откуда взявшийся.
>> А мне фрю надо.
> ну так во фре есть jail. Правда, я давно уже сам не
> ковырялся с современными CI, но когда еще да - докер им
> был совершенно фиолетов.Не знаю, как тогда, а сейчас им jail совершенно фиолетов. К тому же поддерживать принципиально разные наборы костылей для разных ОС — так себе развлечение.
> опа, а с этого места поподробнее - что вы ожидали услышать от правильного кандидата?Да ничего не ожидали. Просто запарил он про докер вчехлять, вот и спросили.
>> опа, а с этого места поподробнее - что вы ожидали услышать от правильного кандидата?
> Да ничего не ожидали. Просто запарил он про докер вчехлять, вот иа, в смысле, вы искали админа а пришел девляпс? Ну так ему и не надо знать лишнего, ему надо быстрей-быстрей 9000 контейнеров разворачивать.
Искали девопса, а пришёл портовый грузчик.
мляяя, надо было брать!тут хранилку пришлось кусками всю из стоек выковыривать и обратно совать - это тебе не доскер в доскере под доскером, где каждая обезьяна справится, там юниты килограмм по сорок и "вот тут просунь руку - дальше, дальше, еще дальше...так, теперь подержи всю хреновину на весу, там винтик".
Использую несколько официальных образов, таких как php:7.1-apache и mariadb:10.4. docker внутри виртулки (virtualBox 5.2).Чисто гипотетически: что может произойти?
Твои апач, пых и мускуль будут работать не на тебя, а на дядю майнера. Это сейчас в тренде.
Ну или по-старинке поддосят кого или пентагон через тебя ломанут.
Полон опасностей хипста-мирок...
Держите в курсе, скоро вот такие как вы (не хипстеры - с ваших же слов ) - станут динозаврами, и вымрут, вас уволят с работы и скормят системе/ рынку труда. Только вот не актуальны ваши знания будут, от слова СОВСЕМ. Куда пойдете дальше ? Макраме ? Вязание? Может в такси ?
Уважаемый хипстер, держите нас в курсе.
Не поперхнись смузЯми, малыш.
такие динозавры как мы увольняем таких хипстерков как ты
но я лично хипстерков вообще не беру
так получается, никто не проходит
Пока есть у серьёзных компаний перед глазами такой хороший пример, как хипста девляпсы, нам без работы остаться не грозит. Ну и после них - тоже :D
Самое главное не прояснили - были ли скомпромитированны образы.P.S. декерхабу не доверяю, образы из инета на компе не запускаю - in Docker s stands for "security".
держи нас в курсе
В Linux буквы s тоже нет. Зато она есть в Windows :)
Вы похоже не поняли проблемы, фишка в том, что докер хаб просил токен для гитхаба с полным доступ и к ПРИВАТНЫМ репам тоже, так как он утек, то вполне могли быть украдены исходники многих приватных реп, как то так.
а вот _этих_ ребят - мне нихрена как раз и не жалко.
Может, наконец научатся соображать, что приватные - они при вас. Под замком и за периметром. И начнут, наконец, платить зарплаты админам, а не девляпать хапая с хапов все что под руку попадется. Ну, хотя бы отдельные единицы научатся, остальные-то постирают обгаженные штанцы, и дальше пойдут выкладывать все свое имущество на радость кому попало.
:) Из разговоров:
- Внимание, комичу пароль в Гит. Нууууу, блин, нууу, не хочу учиться иначе уметь.Сколько ж их было встречено. Халтурщиков.
Вот смех смехом, а мне поэтому и нравится LFS: прочитал в gnu-announce о новой версии софта, скачал, скомпилировал, заменил. Никакой зависимости от репозиториев, которые регулярно ломают. Да, это не полное решение проблемы, но гораздо лучше, чем пост-фактум узнавать об взломе инфраструкуры генты или дебиана, например. Для совсем параноиков есть доверенный компилятор-интерпретатор GNU Mes (ну вы поняли о чём я, почитайте если не в курсе что это за проект), плюс покоммитно патчь дерево каждой софтины, тогда вопрос репопроблемы вообще снимается (прочитал коммит, скачал, пропатчил). Единственное я конечно ленивый, но точно так буду делать в будущем. Сразу куча говна из системы вылетит. А пока на арче всё же.
> гораздо лучше, чем пост-фактум узнавать об взломе инфраструкуры генты или дебиана, напримерДа, о взломе инфраструктур 100500 проектов, откуда ты тягаешь исходники, ты, скорее всего, не узнаешь.
> Для совсем параноиков есть доверенный компилятор-интерпретатор GNU Mes (ну вы поняли о чём я, почитайте если не в курсе что это за проект)Поняли-поняли, диванный секурити-эксперт. Вот когда реально сделаешь всё то, о чём написал, приходи поделиться историей успеха.