Компания Canonical опубликовала корректирующий выпуск инсталлятора Subiquity 20.05.2, который применяется по умолчанию для установки Ubuntu Server, начиная с выпуска 18.04 при установке в Live-режиме. В новом выпуске устранена проблема с безопасностью (CVE-2020-11932), вызванная сохранением в логе пароля, заданного пользователем для доступа к созданному при установке шифрованному разделу LUKS. Обновления iso-образов с устранением уязвимости пока не опубликованы, но новая версия Subiquity с исправлением размещена в каталоге Snap Store, из которого инсталлятор может быть обновлён при загрузке в Live-режиме, на этапе до начала установки системы...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52981
Я даже не знаю как это назвать
Назовите элементарно: "не прокатило!"
Зовите это "нескучные обои".
Зачем называть? Это уже названо за нас - УБУНТУ aka ЧЕЛОВЕЧНОСТЬ.
А что? Хакер тоже не человек? Даёшь всем равные возможности по доступу на шифрованный раздел!
Позорище, вот как это назвать! Дыра на уровне инсталлирования, :-(
Там же написано - УБУНТУ.
кому баг, кому фича
Сначала вышел blackbox 7 , а потом утечка, совпадение ?
Я сегодня удивился, когда инсталяк попросил обновиться. А тут вот оно чё
А ещё говорят, что удивительных вещей не бывает.
Ещё как бывает! Полон лулзами линукс-мирок(винда, макакось и бсд(кроме трушных нетки и стрекозы) стараются не отстать)!
ключ под ковриком :)
Не - над косяком.
Это не ключ над косяком,
это разработчики под косяком.
> это разработчики под косяком.Одно другому не мешает. А может у них чего и потяжелее.
Мне интересно как программист допустил такую ошибку?Это было что-то вроде "Хей, поле ввода пароля, почему бы не добавить его данные к строке 'Введен пароль для Luks'"?
Это не ошибка, а системная функция.К счастью, пока еще никому не пришло в голову проверять, сколько наших поделок с интересными названиями вида "friendly-recovery-чегототам" отсылало эти логи нам.
А к завтрему мы все следы уже потрём.
Ага, а потом ответ типа мы не виноваты вы сами нам свои пароли прислали.
Зачем им нужны твои пароли, можешь поделиться?
Его пароли нужны не им, а нам.
Это говорит о том, что вместо типизированных данных везде фигачат одни и те же строки. Мне нравится подход, когда для секретов нужно особенное обращение, исключающее работу с ними, как со строками, т.е. интерфейс (допустим, на условной недоджаве) следующий:class SecretString {
private String secretValue;
String toString() {return "фиг тебе а не пароль"}String getSecretForReal() { return this.secretValue }
}И это практически сводит к нулю попадание паролей в логи из-за слишком умных и адаптивных логгеров, полусонных программистов и прочих человеческих ошибок - даже если залогируешь куда-нибудь секрет случайно, увидишь только фигу.
И есть только две причины не использовать такой подход при работе с чувствительными данными: идиотизм и саботаж.
В C# для этого есть System.Security.SecureString.В любом нормальном языке есть аналог. Но ведь инсталлятор написан на пистоне...
ой, проблема.class SecretString:
def __init__(self, secret):
self.__secret = secretdef getSecret(self):
return self.__secretdef __str__(self):
return '***'def __unicode__(self):
return u'***'def __repr__(self):
return '***'(на питоне почти не пишу, может, что еще надо, пусть питонисты поправят)
> В C# для этого есть System.Security.SecureString.
> В любом нормальном языке есть аналог. Но ведь инсталлятор написан на пистоне...Заменили вменяемо написанный инсталятор на пестоновый, этопять!
> Заменили вменяемо написанный инсталятор на пестоновый, этопять!Да пусть хоть на Go, если имеются необходимые модули. Инсталлятор по сути - набор скрептов для быстрого развёртывания с параметризацией. Т.к. это Open Source - скрывать нечего. Какая-то аццкая производительность в 300кк мфлопс в сек не нужна. Всё равно будет висеть на I/O большую часть времени. Главное, чтобы было всё грамотно написано и программист умел в async, хоть какой-то. Язык позволяет сделать всё быстро и без заморочек.
Ну или писать набор скрептов на С++ джва года, только ради C++. И сидеть наяривать ЧСВ с неповоротливым детищем.
> Мне интересно как программист допустил такую ошибку?
> Это было что-то вроде "Хей, поле ввода пароля, почему бы не добавить
> его данные к строке 'Введен пароль для Luks'"?А мне интересно другое - на кой было менять вменяемый дебиановский инсталятор, который всю дорогу был сперва во всех убунтах, а потом только в серверных версиях?
Ведь он работал отлично и выполнял все требования к инсталятору - надёжный, логичный, простой и не жручий ресурсы.
Но нет, мы собрались выкинуть проверенный и рабочий инструмент, потому что NIH-синдром? Недостаточно хипстотный? или где?
> вменяемый дебиановский инсталяторочень спорно...
>> вменяемый дебиановский инсталятор
> очень спорно...Всё познаётся в сравнении, ожидаем ваши пункты по каким дебианский инсталятор не считаете вменяемым, и образец вменяемого инсталятора по вашей версии!
Очень наркоманский мастер.Особенно с тайм зонами. Для многих геомест это надо голову почесать что выбирать.
Таже куча лишних вопросов. Зеркала для апдейтов и прочее. Да чего они сдались... Дайте поставлю, а потом подумаю над тюнингом.
Любой инсталятор вменяемее. В той же Ubuntu.
> Любой инсталятор вменяемее. В той же Ubuntu.угу, вменяемее - "а давайте необходимые для установки модули покачаем из интернетов! - То есть как это изолированная сеть?! Не, ну я так не играю! - Ну ладно, теперь давай за обновлениями сходим - из expert text only install mode, не задавая никаких вопросов - ну а чо, мы так видим себе "экспертов" по убунте, незачем их лишний раз беспокоить! - Как так, https через дешифрующий прокси?! Нее, братело, в таких невозможных условиях мы работать не можем."
> Очень наркоманский мастер.
> Особенно с тайм зонами. Для многих геомест это надо голову почесать что
> выбирать.
> Таже куча лишних вопросов. Зеркала для апдейтов и прочее. Да чего они
> сдались... Дайте поставлю, а потом подумаю над тюнингом.
> Любой инсталятор вменяемее. В той же Ubuntu.Ну т.е. это чистая вкусовщина, я, например, считая наоборот.
Вы предпочитаете поставить сперва г@вен, а потом разбираться что наставили, убунтовый инсталятор не даёт таких гибких настроек перед самой установкой, а дебиановский, хоть и не идеальный (покажите идеальный), но даёт-таки. Лично я считаю, что нужно давать пользователю настроить перед установкой максимально подробно что он хочет в системе и как это должно быть, а не сперва поставить заранее приготовленный конторой пресет с лопаты, а потом наворачивать на него после установки пользователей (как было у кое-кого до недавнего времени, не будем показывать пальцем) и настройки к нему. С таймзонами у дебиана всё нормально, вы просто привыкли тыкать в картинки, поэтому вам надо было и "голову почесать", чтобы выбрать.
Нет там кучи лишних вопросов, просто это в убунтовом порезано всё что можно, что и напрягает.
Зеркала для апдейтов тоже лучше когда дают руками выбрать, а не рандомное, типа ближайшее суют, потому что по разным причинам оно может не подходить или тупо на данный момент работать некорректно.В итоге я так понял ваши претензии к дебианскому инсталятору в том, что он подробный и не такой хипстотный и модный, не движется на волне со всеми. Чтож, это ваша позиция и я её принимаю, у каждого свои предпочтения, я просто надеялся будут какие-то объективные замечания, а тут просто вопрос предпочтений.
Про нелогичность выкинул что?Если человек живёт в Владивостоке, то он часовый пояс выбирает как Европа -> Россия -> Владивосток
Где тут проявление ума?
> вы просто привыкли тыкать в картинкиПро сервер речь шла, там нет картинок.
Опять мимо.
Ну, если не бояться теории заговоров - то все ложится 1:1Вы эти "серверные версии" начиная с 18, для которой просто уже не было не-live установщика, ставить в закрытой от внешнего мира сети пробовали?
Вот и не пытайтесь - не выйдет ровным счетом ничего. (и не спрашивайте что при этом понапихали на образ для установки что он на dvd-то уже не лезет)
И, разумеется, миллионам девляпсовых мух проще потребовать открыть им доступ на улицу, чем разбираться как же ж этот хлам поставить по другому.
Теперь, видимо, бездонную бигдэйта хранилку поапгрейдили, и решили, что настал удачный момент пособирать данные и о хомюзерах - но немножко перестарались. Уже ж починили, чем вы опять недовольны?!
P.S. да, да, Хэнлон, все дела. Я помню.
> Мне интересно как программист допустил такую ошибку?Сделал для дебага, но забыл отключить перед выходом в релиз.
и вовсе это не утечка, а восточная мудрость :D
А я то думаю, чего оно без сети не дает установить. А вот и ответ.
Совпадение? Не думаю.
"Ubuntu" и "Server" - какая связь?
Да, оксюморон
такая же, как и между "Ubuntu" и "Linux"хотя до сих пор существуют секты, у которых одна из главных заповедей "Ubuntu - не Линукс"
(но лично я в некоторой степени и с этим тезисом согласен. ну потому что Линукс - это ядро, а не ОС)
Шо, опять?https://slashdot.org/story/06/03/13/0525254/root-password-re...
Давече напарник консультировался про специальный модуль для Ансибл, специально сертификаты и ключи копировать. Всю дорогу обходились без таких изысков и тут - вот. Насторожился.Ну, codereview делаю. Смотрю стоит флаг запрета логов. Зачем? А т.к. этот модуль в логи пишет тело приватного ключа, копируемого средствами модуля.
Оглушительный успех, овации.
При всём уважении, ансибл широченная дыра сам по себе, даже без логгирования ключей :)
Нет, его можно правильно приготовить, но у 99% просто штатных сотрудников на это не хватит.
Ансибл - это инструмент, и неплохой, если применять по назначению.Ножом тоже можно себе ногу отрезать, это не проблема ножей.
> Ансибл - это инструмент, и неплохой, если применять по назначению.
> Ножом тоже можно себе ногу отрезать, это не проблема ножей.В данном случае вместо ножа - ёж-лезвие без ручки, острое со всех сторон
Начнём с простого: у вас ансибл как на конфигурируемые узлы ходит? :)
Про возможность компрометации самого сервера ансибла думали?
При его э... дизайне (извините, но альтернативные слова только матерные) - уже все равно будет, как он ходит.Поскольку даже если не "все ключи от всего" лежат прямо на анси6лявом сервере - ничего не может помешать, взломав его или сп-в легальный доступ, добавить еще один плейбучек, никто и не заметит даже.
Причем теперь у кульхаксора ключи есть, а у админов - опачки, нету.Удобный "просто инструмент", и квесты, гляди-ка, интересные.
> Поскольку даже если не "все ключи от всего" лежат прямо на анси6лявом
> сервере - ничего не может помешать, взломав его или сп-в легальный
> доступ, добавить еще один плейбучекВот!
> Удобный "просто инструмент", и квесты, гляди-ка, интересные.:)
По-хорошему там надо делать сквозную аутентификацию при каждом вызове, чтобы хотя бы исключить возможность доступа, куда не просят, но это уже жёсткий костылинг. Дальше надо делать сверку всех плеёбуков, конфигов, переменных с хешами в независимом репозитарии, который тоже надо огораживать и туда новые хеши коммитить под строгим контролем с изолированных систем, но это уже такой ад и такие трудозатраты, что обычные васяны-девопсы не осилят, да и безопаснее может оказаться напрямую конфигурить.
По последнему пункту - просто потому, что у большинства девляпсов компрометация ансибл-сервера автоматически компрометирует все хосты под его управлением.
Совершенно нечаянно...
Пишет сразу в 5 файлов, видимо что бы наверняка.
Это защита о случайной потери пароля пользователем. А то наклеют стикер с паролем на монитор, он отвалится, упадет, его выметут с мусором.. и все, хана. А тут опс - еще 5 резервных копий. Забота!
Всегда серверные дебианопроизводные debootstrap-ом ставил. Все эти инсталлеры - днище.
> Всегда серверные дебианопроизводные debootstrap-ом ставил. Все эти инсталлеры - днище.debian netinstall тоже нормальный, вот только бубунта решила не использовать его больше а заменить в пользу смузихлёбного нового стильно-модно-молодёжного!
Нахрена логировать пароли!??!
Хотя, представляю себе что-нибудь типа:
for all window.inputforms
form.save
log(form.name, form.data)