LINUX.ORG.RU

Systemd 194, теперь с HTTP-сервером и генератором QR-кодов

 


2

2

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

В частности:

  • опция HandleSleepKey в logind.conf была разбита на HandleSuspendKey и HandleHibernateKey, старая опция более не доступна;
  • почти полностью удалена утилита multi-seat-x, минимальная обертка оставлена до тех пор, пока DM не начнут поддерживать новую логику перечисления графических устройств Xorg;
  • nspawn теперь создает символическую ссылку /etc/localtime в окружении контейнера;
  • исправлено поведение при отсутствии /etc/vconsole.conf, теперь в этом случае не будет загружаться никакой шрифт;
  • journald теперь пишет в лог максимальный размер, который файлы журнала могут занимать на диске;
  • опция параметра journalctl -n теперь необязательна и по умолчанию равна 10;
  • journalctl -f теперь реагирует на изменение размеров терминала и разбивает строки соответственно;
  • новая опция --cursor в journalctl позволяет выводить записи начиная с определенного места журнала;
  • добавлена поддержка journalctl для bash-completion.

Но две функции привлекли особое внимание. Их заметили пользователи федоры, которые при обновлении обнаружили, что systemd теперь зависит от libmicrohttpd и qrencode. Это стало причиной активно продолжающегося обсуждения в рассылке.

Оказалось, что обе функции связаны с journald — собственной заменой syslog-демона, как известно, входящей в состав systemd. Среди прочего, он отличается тем, что ведет логи в бинарном виде вместо текстового.

Зависимость от qrencode объясняется реализацией функции Forward Secure Sealing, journalctl из состава systemd использует qrencode для вывода QR-кодов в текстовой консоли.

А поскольку логи хранятся бинарно, для работы с ними нужны дополнительные программы. Зависимость от libmicrohttpd вызвана тем, что в состав systemd теперь входит встроенный http-сервер journald-gateway, умеющий отдавать логи в текстовом и json-формате. Его основное предназначение автор видит в синхронизации журнала по сети.

Так выглядит http-сервер journald-gateway в действии

>>> Леннарт про FSS и QR-код

anonymous

Проверено: JB ()
Последнее исправление: Silent (всего исправлений: 3)

Ответ на: комментарий от anonymous

Ключа верификации? Да, его нет, но он и не нужен. Я же не буду проверять лог, просто отрежу хвост, и всё. С точки зрения journald это будет выглядеть так, словно в тот момент он упал и вот только сейчас его перезапустили.

Надо дальше пойти. Вот что бы такого не было drm везде внедрить. И что бы всё с подписями, начиная с загрузки.

anonymous
()
Ответ на: комментарий от DRVTiny

кто у нас вендор

Это не вендор, это диллер. :D

imul ★★★★★
()

PS: я думал у пингвинов-истеричек пятиминутка ненависти к Поттерингу уже вчера закончилась. Ан нет, некоторые даже из могилок повставали ради этого.

imul ★★★★★
()
Ответ на: комментарий от imul

А на аватарке - это твоя поза вместе с обожаемым тобой поццерингом???

anonymous
()
Ответ на: комментарий от anonymous

Это ведь сарказм, правда? Мне тоже понравилась идея обходить с мобилкой все машины каждый раз, когда ротейтится ключ (а ротейтится, судя по словам автора, он каждые 15 минут).

особенно когда количество машин переваливает за 2-3 сотни. но админы локалхостов(ака поцтеринк) конечно будут рады. на виках появятся инструкции как добавить в КР код свою фотку и прочие полезности.

prizident ★★★★★
()
Ответ на: комментарий от anonymous

А хоть что-нибудь посуществу можешь сказать?

https://en.wikipedia.org/wiki/Public-key_cryptography - можешь начать прям отсюда. Как только поймёшь почему знание публичного ключа не заменяет знание закрытого ключа и сможешь это объяснить своими словами - приходи, поговорим про FSS.

anonymous
()
Ответ на: комментарий от anonymous

Почему не сойдутся? Они не сойдутся, только если пока я буду логинится и стопать журнал, админ успеет прибежать и сфоткать новый QR-код, так?

Забавная всё-таки закономерность - хомячки с баттхёртом при слове Поттеринг упорно не могут осилить несколько абзацев текста на английском и раз за разом несут подобную чушь.

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

anonymous
()
Ответ на: комментарий от vova7890

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

rezedent12 ☆☆☆
()
Ответ на: комментарий от autonomous

Я кстати под этой «предъявой» могу подписаться. Мне удобно работать в линуксе, _но_ в нем правда не пашет автокад, инвентор и другой нужный мне софт. Потому приходится держать дуалбут. С другой стороны математика работает, ансис работает, как солид/инвентор перенесут - дуалбут можно смело снести.

Ноут - все равно заведомо менее удобная вещь. Сколько у ноута диагональ экрана? 17, 19? Больше уже редко бывает. А для удобной работы с тем же Eclipse желательно 21-23 (имхо). Для черчения/моделирования тоже неплохо бы большой экран. Не, можно подключать экран, можно подключать мышь, клавиатуру (мне удобно, когда кнопки не плоские), колонки... Тогда какой понт в том, что это ноут? Либо байда на 5 кило весом, либо жрет батарею в момент - в любом случае в дороге с ним не очень удобно. Сам юзаю нетбук, но чисто для быстрой правки документов в LO или просмотра фильмов - работать на нем кисло

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от anonymous

Забавная всё-таки закономерность - хомячки с баттхёртом при слове Поттеринг упорно не могут осилить несколько абзацев текста на английском и раз за разом несут подобную чушь.

Много на себя берете. Поделия поттеринга не укладываются в философию UNIX. А наоборот. Поэтому есть ненулевая вероятность что Поттеринг и есть тот хомячек-быдлокодер. А соответствие поддерживающих Поттеринга вы выстоите сами.

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

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

0. Пусть есть рабочее окружение с набором софта. 1. Часть софта поддерживает собственную схему журналирования (их мы не будем рассматривать), а часть использует syslog (вот эти нам нужны). 2. Итак, вторая группа гонит в syslog информацию которая полезна пользователю. То есть эта информация либо в текстовом виде (например классическое - printk), либо это некий код (индекс) или комбинация флагов (индексов) указывающих на ошибку. Индексы нам почти не интересны (собразите сами почему напримере с errno). 3. А теперь смотри какая ситуация с syslog: софт гонит текст в syslog а тот пишет в файл. Пользователь сразу может читает/грепать/анализировать (вообщем обрабатывать). Сохранился принцип KISS, а также есть удовлетворение концепции UNIX: обработка потока данных использую программы как фильтры (perl -n/-p тут самое адекватное для эксклюзивных работ). 4. А с journald ситуация такая: софт гонит текст в journald который пакуется в нечитаемый формат и в нечитаемом формате пишется в файл. Пользователь не может работать с этим файлом. Каждый блок данных должен быть обратно преобразован к читаемому виду. 5. В пункте 4 много ненужного оверхеда. Если кому-то нужнен набор функции с journald (индексы, криптование и так далее) - можно было это запилить в виде доп. фильтра для syslogd на выходе поскольку это лишь мелкая проблема хранения формата.

А почему бы не расширить функционал syslog до требуемых уровней и сохранив при этом гибкость администрирования (то есть, как минимум обратную совместимость по выбору) ? Ведь именнно это и есть мастерство хакера, не?

anonymous
()

Ядро Linux постепенно превращается в операционную систему по типу FreeBSD с Sendmail в базовой системе. :))

libmicrohttpd хотя бы можно отключить или уже нельзя? (Sendmail в базовой системе FreeBSD отключить можно, даже отказаться от его сборки можно).

iZEN ★★★★★
()
Ответ на: комментарий от Lennier

бинарный реестр в гноме, теперь бинарные логи. зачем? Можете сказать в 2 словах зачем.

Чтобы юзеры не лазили своими кривыми ручонками править MZ-сигнатуру у исполняемого файла. ;)

iZEN ★★★★★
()
Ответ на: комментарий от anonymous

ВНЕЗАПНО, заменив один из узлов (то, что читает текстовый файл и выдает его нам в perl и все остальное), получаем обычный лог. А еще можно напрячь мозг и создать виртуальное устройство, которые будет представляться текстовым файлом логов, и читать из него чем угодно. Но нам ведь важно не это, а ЧТОБЫ ТЕКСТОВЫЕ.

vurdalak ★★★★★
()
Ответ на: комментарий от iZEN

Ядро Linux постепенно превращается в операционную систему по типу FreeBSD с Sendmail в базовой системе. :))

wat

libmicrohttpd хотя бы можно отключить или уже нельзя?

Можно

vasily_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

хакера

Поттеринг не хакер, а съехавший на веществах быдлокодер.
Таким дурачкам, как он, раньше говорили: «Keep it simple, stupid!» (KISS).

anonymous
()
Ответ на: комментарий от anonymous

А соответствие поддерживающих Поттеринга вы выстоите сами.

Это точно не русский язык. Может быть какой-то похожий, но точно не русский.

мои суждения основаны лишь на общих принципах работы систем логирования

А мои основаны на ЗНАНИИ. Причём, совершенно бесплатном - я просто сел, прочитал и понял 5 абзацев английского языка по теме, прежде чем публично высказываться.

А почему бы не расширить функционал...

А почему нельзя прочитать несколько абзацев по теме, которую решил обсуждать?

anonymous
()
Ответ на: комментарий от vurdalak

ВНЕЗАПНО, заменив один из узлов (то, что читает текстовый файл и выдает его нам в perl и все остальное), получаем обычный лог. А еще можно напрячь мозг и создать виртуальное устройство, которые будет представляться текстовым файлом логов, и читать из него чем угодно. Но нам ведь важно не это, а ЧТОБЫ ТЕКСТОВЫЕ.

Когда я пишу сообщения - я пытаюсь писать РАЗВЕРНУТО и также стараюсь мысли формулировать так чтобы была однозначная ясность. Сообразите к чему я это вам сказал?

anonymous
()
Ответ на: комментарий от vasily_pupkin

Он хранит текущий ключ в fss. Как ты предлагаешь открутить его назад?

Что бы там ни хранилось, если его смог рассчитать запущенный на этой машине journald, то его точно также сможет рассчитать (пересчитать после откусывания хвоста) хакер. Всякая public cryptography тут не помогает. Не важно, что именно там хранится, цифровая подпись лога, или зашифрованная открытым ключом последняя строка лога, если её может сгенерить journald, то смогу и я. Ведь так?

В общем, расскажите как вы хотите, чтобы оно работало, и я либо скажу, почему оно не будет работать, либо скажу, почему так не надо делать. :)

Я, на самом деле, могу придумать десяток способов контроля целостности лога. Ну, например, можно скриптом каждые 10 минут отправлять админу на SMS количество строк и md5-сумму лога. Получается примерно то же самое, только сработает для сислога и без QR-кодов — админ всегда может прийти и проверить, сходится ли контрольная сумма для указанного числа строк или нет.

Но ни одна такая схема не будет работать — ни один админ не будет каждые 10-15 минут обходить все сервера с мобилкой и сверять контрольную сумму. Зато любая схема будет хуже обычного выделенного сервера для хранения лога — где автоматический скрипт может регулярно обходить все машины, сравнивать свою копию лога с текущей, и слать SMS админу, если они не совпадают. От этого простого возможного уже десятки лет способа хакера не спасёт ни удаление лога (есть копия) ни троян (текстовый лог особо не затроянишь), да и админу не придётся нигде бегать...

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

anonymous
()
Ответ на: комментарий от tailgunner

Какие-то подростковые понты. Всё сводится к «We don’t care. We make Arch for ourselves».

А какого ответа ты ожидал - пока-что прыщавый баттхёрт порождает однообразные банальности в духе «давайте засунем ещё ... в ядро» и «поттеринг - гат». Для того чтобы получить развёрнутый, аргументированный ответ надо сперва задать грамотный вопрос. А для этого придётся всё-таки прочитать несколько абзацев текста и даже, о ужас! понять их.

Но прыщавым некогда - у вас же баттхёрт :)

anonymous
()
Ответ на: комментарий от anonymous

root и открытые сорцы конечно помешают мне сгенирировать новый закрытый ключ и пересоздать лог, ага.

anonymous
()
Ответ на: комментарий от anonymous

Что бы там ни хранилось, если его смог рассчитать запущенный на этой машине journald, то его точно также сможет рассчитать (пересчитать после откусывания хвоста) хакер...

И ведь они все такие - образования нет, желания хоть что-то выучить - нет, способности читать даже маленькие тексты на английском тем более нет... один только баттхёрт есть, да желание поучать разработчиков дистрибутивов как правильно следовать Философии Юникс.

anonymous
()
Ответ на: комментарий от anonymous

root и открытые сорцы конечно помешают мне сгенирировать новый закрытый ключ и пересоздать лог, ага.

Ох лол! И ведь это не сарказм - он реально ТАК туп, что не понимает как работает криптография с открытым ключом. Более того, я почти уверен, что ему даже википедия не поможет. Кто готов поспорить? ;-)

anonymous
()
Ответ на: комментарий от prizident

но админы локалхостов(ака поцтеринк) конечно будут рады

Блин, а ведь правда. Как мне это раньше в голову не пришло... Админ локалхоста!!! Вот для кого это делалось.

Действительно, у localhost-админа есть всего одна машина. Он не может выделить сервер под логи. Но зато он постоянно сидит за этой машиной, и может регулярно проверять её логи. А ещё, хотя у него и нет другого компа, но у него обычно есть мобилка, и на ней (как на «защищенном хранилище») он может периодически сохранять и сравнивать контрольную сумму.

Вот для кого придуманы эти QR-коды — для админов, которые админят всего один комп. :)

anonymous
()
Ответ на: комментарий от anonymous

Слышь, гуманитарий, завязывай методологией мозги пудрить. РАЗВЕРНУТО будешь шоколадку хавать.
А тут по-сути излагай, без грязных намеков на чистую фантазию.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

Есть ГПСЧ, есть его сид. Его сид хранится у админа. Промежуточный выход ГПСЧ - ключ для маркировки серии записей. Последний промежуточный выход хранится вместе с логом

то смогу и я. Ведь так?

Разумеется. Нужно только потратить немного времени

От этого простого возможного уже десятки лет способа хакера не спасёт ни удаление лога (есть копия) ни троян (текстовый лог особо не затроянишь), да и админу не придётся нигде бегать...

Спасет недоступность сервера логов, или АС-1

vasily_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

А для этого придётся всё-таки прочитать несколько абзацев текста и даже, о ужас! понять их.

Понять и простить, ага...

anonymous
()
Ответ на: комментарий от anonymous

а варианта с создать лог заново мы не рассматриваем?

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

vasily_pupkin ★★★★★
()
Ответ на: комментарий от vurdalak

Чтобы оправдать свой комментарий, видимо.

Не сообразили.

anonymous
()
Ответ на: комментарий от anonymous

А соответствие поддерживающих Поттеринга вы выстоите сами.

Это точно не русский язык. Может быть какой-то похожий, но точно не русский.

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

мои суждения основаны лишь на общих принципах работы систем логирования

А мои основаны на ЗНАНИИ. Причём, совершенно бесплатном - я просто сел, прочитал и понял 5 абзацев английского языка по теме, прежде чем публично высказываться.

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

А почему бы не расширить функционал...

А почему нельзя прочитать несколько абзацев по теме, которую решил обсуждать?

0. Функционала syslog достаточно

1. Недостаточность функционала восполняется простым расширением.

3. Поделка Поттеринга с точки зрения разработки хуже чем подход через наращивание функционала. Поэтому моего внимания это поделие не достойно.

4. Поскольку внимания это поделие не заслуживает, то и рассуждения идут на концептуальном уровне.

5. Теперь ясно?

6. Обсудим?

PS: Общая идея такая: я не буду жрать что придется.

PS2: Дибильный быдлолоркод аннулирующий перенос строки. Отрубить бы пальцы за такое.

anonymous
()
Ответ на: комментарий от vasily_pupkin

Да! Но тут есть одно но - логи надо перепроверять на доверие, а для этого нужно что-то заподозрить, а чтобы избежать подозрений у нас есть «затрояненый» journald

anonymous
()
Ответ на: комментарий от anonymous

Это верное замечание не противоречит моему утверждению.

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

vasily_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

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

Ты, наверное, в курсе? Кинь мне пожалуйста ссылочку на документацию, описывающую хотя бы на пальцах механизм, использованный поттерингом. И не надо тут отмазок про криптографию с открытым ключом, мы не MitM атаку рассматриваем, хакер находится на сервере. Всё, что есть у journald, есть и у хакера, все ключи у них одинаковы, значит у них абсолютно одинаковые возможности по генерации данных. Так почему вдруг journald может сгенерировать валидный поток, а хакер не может?

Хочешь простой пример? HTTPS — это ж вроде криптография с открытым ключом, да? Так вот, wireshark умеет расшифровывать обычный HTTPS-поток на лету. Для этого ему нужен доступ только к сессионному ключу, который можно получить, находясь на клиенте или на сервере. Можешь поэкспериментировать на досуге (Edit / Preferences / Protocols / SSL).

anonymous
()
Ответ на: комментарий от vasily_pupkin

Нет, а что?

Собственно, всё. Экперимент завершён.
Вывод: vasily_pupkin не смог в предлагаемом интерфейсе определить достоверность записи журнала.

anonymous
()
Ответ на: комментарий от vasily_pupkin

Есть ГПСЧ, есть его сид. Его сид хранится у админа. Промежуточный выход ГПСЧ - ключ для маркировки серии записей. Последний промежуточный выход хранится вместе с логом.

Тогда всё просто. Откусываем хвост, берём последний сохранённый в логе маркер, который по сути является текущим значением внутренней переменной нашего генератора, и пересчитываем «последний промежуточный вывод» используя этот маркер и оставшиеся после него логи. Поток валиден?

anonymous
()
Ответ на: комментарий от sendel

Конечно многим лучше большая и тормозная помойка из «хорошо читаемых» файлов, но это никогда не было номальным подходом.

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

Lennier ★★★★
()
Ответ на: комментарий от anonymous

Ключ для маркировки != значение маркера. Думай об этом как о хешировании. Т.е. из записи в журнале ты состояние ГПСЧ в тот момент времени не полуичишь

vasily_pupkin ★★★★★
()
Ответ на: комментарий от autonomous

А чем я не простой пользователь? И количество компов ощутимо увеличилось. Так что десктопов за последние 5 лет стало больше чем 5 лет назад, даже с учетом того что часть рынка отобрали ноутбуки.

Lennier ★★★★
()
Последнее исправление: Lennier (всего исправлений: 1)
Ответ на: комментарий от vasily_pupkin

Ключ для маркировки != значение маркера. Думай об этом как о хешировании. Т.е. из записи в журнале ты состояние ГПСЧ в тот момент времени не полуичишь

Даже если одновременно убить логер?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.