gladilov.org.ru gladilov.org.ua

106 заметок с тегом

сисадминство

Всякие системные и просто нужные компьютерные фичи. Настройка софта, иногда восстановление железа, и прочее, что входит в сферы интересов от эникейшика до «full stack admin’а». В придачу — симулятор системного администратора.



Позднее Ctrl + ↑

Компания Intel развивает протокол HTTPA, дополняющий HTTPS

Инженеры из компании Intel предложили новый протокол HTTPA (HTTPS Attestable), расширяющий HTTPS дополнительными гарантиями безопасности произведённых вычислений. HTTPA позволяет гарантировать целостность обработки запроса пользователя на сервере и убедиться в том, что web-сервис заслуживает доверия и работающий в TEE-окружении (Trusted Execution Environment) на сервере код не был изменён в результате взлома или диверсии администратора.

Показать

HTTPS защищает передаваемые данные на этапе передачи по сети, но не может исключить нарушение их целостности в результате атак на сервер. Изолированные анклавы, создаваемые при помощи таких технологий, как Intel SGX (Software Guard Extension), ARM TrustZone и AMD PSP (Platform Security Processor), дают возможность защитить важные вычисления и снизить риск утечек или изменения конфиденциальной информации на конечном узле.

HTTPA для гарантирования достоверности переданной информации позволяет задействовать предоставляемые в Intel SGX средства аттестации, подтверждающие подлинность анклава, в котором произведены вычисления. По сути HTTPA расширяет HTTPS возможностью удалённой аттестации анклава и позволяет проверить то, что он выполняется в подлинном окружении Intel SGX и web-сервису можно доверять. Протокол изначально развивается как универсальный и помимо Intel SGX может быть реализован и для других TEE-систем.

Помимо штатного для HTTPS процесса установки защищённого соединения, HTTPA дополнительно требует согласования сессионного ключа, заслуживающего доверия. Протокол вводит в обиход новый HTTP-метод «ATTEST», который позволяет обрабатывать три типа запросов и ответов:

«preflight» для проверки, поддерживает ли удалённая сторона аттестацию анклавов;
«attest» для согласования параметров аттестации (выбор криптографического алгоритма, обмен уникальными для сеанса случайными последовательностями, генерация идентификатора сеанса и передача клиенту открытого ключа анклава);
«trusted session» — формирование сессионного ключа для доверительного обмена информацией. Сессионный ключ формируется на основе ранее согласованной предварительной секретной последовательности (pre-session secret), сформированной клиентом с использованием полученного от сервера открытого ключа TEE, и сгенерированных каждой стороной случайных последовательностей.

HTTPA подразумевает, что клиент заслуживает доверия, а сервер нет, т. е. клиент может использовать данный протокол для верификации вычислений в TEE-окружении. При этом HTTPA не гарантирует, что производимые в процессе работы web-сервера остальные вычисления, производимые не в TEE, не были скомпрометированы, что требует применения отдельного подхода к разработке web-сервисов. Таким образом, в основном HTTPA нацелен на использование со специализированными сервисами, к которым предъявляются повышенные требования к целостности информации, такие как финансовые и медицинские системы.

Для ситуаций когда вычисления в TEE должны быть подтверждены как для сервера, так и для клиента предусмотрен вариант протокола mHTTPA (Mutual HTTPA), выполняющий двухстороннюю верификацию. Данный вариант более усложнённый из-за необходимости двустороннего формирования сессионных ключей для сервера и клиента.

Источники:http://www.opennet.ru/opennews/art.shtml?num=56050
https://arxiv.org/pdf/2110.07954.pdf

2021   Intel   в мире   досуг   интересное   интернет   сеть   сисадминство   события   софт

Завтра ошибка в GPSD приведёт к сдвигу на 19 лет назад

В пакете GPSD, применяемом для извлечения точного времени и данных о координатах из GPS-устройств, выявлена критическая проблема, из-за которой 24 октября произойдёт смещение времени на 1024 недели назад, т. е. время будет переведено на март 2002 года. Проблема проявляется в выпусках с 3.20 по 3.22 включительно и устранена в выпуске GPSD 3.23 (исправление также бэкпортировано в пакет с версией 3.22 для Debian). Всем пользователям систем, в которых используется GPSD, необходимо срочно установить обновления, или быть готовым к сбою.

Показать

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

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

Протокол GPS предусматривает наличие счётчика недель, отсчитывающего недели начиная с 5 января 1980 года. Проблема в том, что при вещании под данный счётчик отводится всего 10 бит, что подразумевает его переполнение через каждые 1023 недели (19.7 лет). Первое переполнение произошло в 1999 году, второе в 2019, а третье произойдёт в 2038 году. Данные события отслеживаются производителями и для них предусмотрены специальные обработчики. В настоящее время параллельно внедрён новый формат GPS-сообщений (CNAV), в котором для счётчика отводится 13 бит (т. е. переполнение ожидается только в 2137 году).

В GPSD в логике корректировки появления лишней секунды (добавляется с целью синхронизации эталонных мировых атомных часов с астрономическим временем Земли) была допущена ошибка из-за которой 24 октября 2021 года преждевременно будет произведено вычитание 1024 из счётчика числа недель. По задумке автора кода сдвиг должен был произойти 31 декабря 2022 года, но перевод этой даты в число недель был выполнен не верно и фактически приведённое в проверке число недель подпадало под октябрь 2021 года (указано значение 2180 вместо 2600).

/* sanity check week number, GPS epoch, against leap seconds
     * Does not work well with regressions because the leap_sconds
     * could be from the receiver, or from BUILD_LEAPSECONDS. */
    if (0 < session->context->leap_seconds &&
        19 > session->context->leap_seconds &&
        2180 < week) {
        /* assume leap second = 19 by 31 Dec 2022
         * so week > 2180 is way in the future, do not allow it */
        week -= 1024;
        GPSD_LOG(LOG_WARN, &session->context->errout,
                 "GPS week confusion. Adjusted week %u for leap %d\n",
                 week, session->context->leap_seconds);
    }

Источники:
https://us-cert.cisa.gov/ncas/current-activity/2021/10/21/gps-daemon-gpsd-rollover-bug
http://www.opennet.ru/opennews/art.shtml?num=56017

2021   в мире   досуг   железо   интересное   сисадминство   события   софт

Минцифры РФ разработало открытую лицензию

В git-репозитории программного комплекса «Витрины данных НСУД», разработанного по заказу Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации, обнаружен текст лицензии, озаглавленной «Государственная открытая лицензия, версия 1.1». Согласно пояснительному тексту, права на текст лицензии принадлежат Минцифры. Датирована лицензия 25 июня 2021 года.

Показать

По сути лицензия является пермиссивной и близка к лицензии MIT, но создана с оглядкой на российское законодательство и гораздо более многословна. Условия лицензии содержат множество уточнений, и без того следующих из законодательства РФ. В то же время в лицензии присутствуют спорные моменты в части определений. Так, исходный код определяется как «программа для ЭВМ в форме текста на языке программирования, который может быть прочтён человеком», что не обязательно подразумевает возможность получения из него исполняемого кода, а также то, что этот код не является сгенерированным на базе настоящего исходного кода (то есть кода в предпочтительной форме для внесения изменений).

Лицензия разрешает использовать программу или её части в любых не запрещённых законодательством РФ целях, а также изучать, перерабатывать и распространять копии программы и своей изменённой версии. Лицензия не требует распространять производную программу на условиях той же лицензии. В тексте также достаточно подробно раскрыты вопросы освобождения от ответственности — ни одна из сторон лицензионного соглашения не вправе требовать от другой стороны возмещения убытков, в том числе вызванных возможными недостатками или ошибками программы, а лицензиар не обязан исправлять недостатки или ошибки.

Примечательно, что в пояснительном тексте указана версия лицензии 1.0, в то время как текст лицензии имеет версию 1.1. Вероятно, это указывает на то, что лицензия дорабатывалась наспех.

Источники:
https://g.info.gov.ru/datamart/nsud-datamarts/-/blob/master/open_license_ru
http://www.opennet.ru/opennews/art.shtml?num=55960

2021   досуг   интересное   Россия   сисадминство   события   софт

Компания Canonical представила оболочку Ubuntu Frame

Компания Canonical представила первый выпуск оболочки Ubuntu Frame, предназначенной для создания интернет-киосков, терминалов самообслуживания, информационных стендов, цифровых вывесок, умных зеркал, промышленных экранов, IoT-устройств и других подобных применений. Оболочка рассчитана на предоставление полноэкранного интерфейса для одного приложения и базируется на использовании дисплейного сервера  Mir и протокола  Wayland. Наработки проекта распространяются под лицензией GPLv3. Для загрузки подготовлены пакеты в формате snap.

Показать

Ubuntu Frame можно использовать для запуска приложений на базе  GTK,  Qt,  Flutter и  SDL2, а также программ на базе Java, HTML5 и Electron. Возможен запуск как приложений, собранных с поддержкой Wayland, так и программ на базе протокола  X11 (используется Xwayland). Для организации работы в Ubuntu Frame с отдельными web-страницами или сайтами развивается программа Electron Wayland с реализацией специализированного полноэкранного web-браузера, а также порт движка WPE WebKit. Для быстрой подготовки и развёртывания решений на основе Ubuntu Frame предлагается использовать пакеты в формате snap, при помощи которых организована изоляция запускаемых программ от остальной системы.

Оболочка Ubuntu Frame адаптирована для работы поверх системного окружения  Ubuntu Core, компактного варианта дистрибутива Ubuntu, поставляемого в форме неделимого монолитного образа базовой системы, в котором не применяется разбивка на отдельные deb-пакеты и используется механизм атомарного обновления всей системы. Компоненты Ubuntu Core, включая базовую систему, ядро Linux, системные надстройки и дополнительные приложения, поставляются в формате snap и управляются инструментарием snapd. Компоненты в формате Span изолируются при помощи AppArmor и Seccomp, что создаёт дополнительный рубеж для защиты системы в случае компрометации отдельных приложений. Базовая файловая система монтируется в режиме только для чтения.

Для создания кастомизированного киоска, ограниченного работой одного приложения, разработчику достаточно подготовить само приложение, а все остальные задачи по поддержке оборудования, поддержанию системы в актуальном состоянии и организации взаимодействия с пользователем берут на себя Ubuntu Core и Ubuntu Frame, включая поддержку управления при помощи экранных жестов на системах с сенсорными экранами. Заявлено, что обновления с устранением ошибок и уязвимостей в выпусках Ubuntu Frame будут формироваться в течение 10 лет. При желании оболочку можно запустить не только в Ubuntu Core, но и в любом дистрибутиве Linux с поддержкой пакетов Snap. В простейшем случае для развёртывания web-киоска достаточно установить и запустить пакет ubuntu-frame и настроить несколько параметров конфигурации:

snap install ubuntu-frame
snap install wpe-webkit-mir-kiosk
snap set wpe-webkit-mir-kiosk daemon=true
snap set ubuntu-frame daemon=true
snap set wpe-webkit-mir-kiosk url=https://example.com

Источники:
https://ubuntu.com/blog/canonical-launches-ubuntu-frame-the-foundation-for-embedded-displays
https://www.opennet.ru/opennews/art.shtml?num=55933
https://github.com/MirServer/ubuntu-frame

2021   ubuntu   в мире   досуг   интересное   сисадминство   события   софт

Для ядра Linux предложена реализация SMB-сервера

Для включение в состав следующего выпуска ядра Linux предложена новая реализация файлового сервера, использующего протокол SMB3. Сервер оформлен в виде модуля ядра ksmbd и дополняет ранее доступный код клиента SMB. Отмечается, что в отличие от SMB-сервера, работающего в пространстве пользователя, реализация на уровне ядра более эффективна с точки зрения производительности, потребления памяти и интеграции с расширенными возможностями ядра. Основным разработчиком ksmbd является Стив Френч (Steve French) из компании Microsoft (ранее много лет работал в IBM), мэйнтейнер подсистем CIFS/SMB2/SMB3 в ядре Linux и давний участник команды разработчиков Samba, внёсший значительный вклад в реализацию поддержки протоколов SMB/CIFS в Samba и Linux.

Показать

Из возможностей ksmbd выделяется улучшенная поддержка технологии распределённого кэширования файлов (SMB leases) на локальных системах, которая позволяет существенно сократить трафик. В дальнейшем планируется добавление новых возможностей, таких как поддержка RDMA («smbdirect»), а также расширений протокола, связанных с усилением надёжности шифрования и верификацией по цифровым подписям. Отмечается, что подобные расширения гораздо проще реализовать в компактном и хорошо оптимизированном сервере, работающем на уровне ядра, чем в пакете Samba.

При этом ksmbd не претендует на роль полной замены пакета Samba, который не ограничивается возможностями файлового сервера и предоставляет инструментарий, охватывающей сервисы для обеспечения безопасности, LDAP и контроллер домена. Реализация файлового сервера в Samba является кросс-платформенной и рассчитанной на более широкие области применения, что затрудняет оптимизацию для некоторых Linux-окружений, таких как прошивки для устройств с ограниченными ресурсами.

Ksmbd рассматривается не как отдельный продукт, а скорее как высокопроизводительное и готовое для применения на встраиваемых устройствах расширение к Samba, при необходимости интегрируемое с инструментами и библиотеками Samba. Например, с разработчиками Samba уже согласован вопрос использования в ksmbd совместимых с smbd файлов конфигурации и расширенных атрибутов (xattrs), что упростит переход с smbd на ksmbd и наоборот.

Источники:
Список рассылки
Опёнок

2021   Linux   в мире   досуг   интересное   ОС   сисадминство   события   софт

День рождения ядра Linux

25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портирования bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 28 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США (расчёт производился, когда в ядре было 13 млн строк кода), по другим оценкам — более 3 миллиардов.

Показать

Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.

Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.

Динамика роста кодовой базы (количество строк исходного кода) ядра:

0.0.1 — сентябрь 1991, 10 тыс. строк кода;
1.0.0 — март 1994, 176 тыс. строк кода;
1.2.0 — март 1995, 311 тыс. строк кода;
2.0.0 — июнь 1996, 778 тыс. строк кода;
2.2.0 — январь 1999, 1.8 млн. строк кода;
2.4.0 — январь 2001, 3.4 млн. строк кода;
2.6.0 — декабрь 2003, 5.9 млн. строк кода;
2.6.28 — декабрь 2008, 10.2 млн. строк кода;
2.6.35 — август 2010, 13.4 млн. строк кода;
3.0 — август 2011, 14.6 млн. строк кода.
3.5 — июль 2012, 15.5 млн. строк кода.
3.10 — июль 2013, 15.8 млн. строк кода;
3.16 — август 2014, 17.5 млн. строк кода;
4.1 — июнь 2015, 19.5 млн. строк кода;
4.7 — июль 2016, 21.7 млн. строк кода;
4.12 — июль 2017, 24.1 млн. строк кода;
4.18 — август 2018, 25.3 млн. строк кода.
5.2 — июль 2019, 26.55 млн. строк кода.
5.8 — август 2020, 28.4 млн. строк кода.
5.13 — июнь 2021, 29.2 млн. строк кода.

Прогресс развития ядра:

Linux 0.0.1 — сентябрь 1991, первый публичный выпуск, поддерживающий только CPU i386 и загружающийся с дискеты;
Linux 0.12 — январь 1992, код начал распространяться под лицензией GPLv2;
Linux 0.95 — март 1992, обеспечена возможность запуска X Window System, реализована поддержка виртуальной памяти и раздела подкачки.
Linux 0.96-0.99 — 1992-1993, началась работа над сетевым стеком. Представлена файловая система Ext2, добавлена поддержка формата файлов ELF, представлены драйверы для звуковых карт и контроллеров SCSI, реализована загрузка модулей ядра и файловой системы /proc.
В 1992 году появились первые дистрибутивы SLS и Yggdrasil. Летом 1993 года были основаны проекты Slackware и Debian.
Linux 1.0 — март 1994, первый официально стабильный релиз;
Linux 1.2 — март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;
Linux 2.0 — июнь 1996 года, поддержка многопроцессорных систем;
Март 1997: основан LKML, список рассылки разработчиков ядра Linux;
1998 год: запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;
Linux 2.2 — январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;
Linux 2.4 — февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система Ext3, поддержка USB, ACPI;
Linux 2.6 — декабрь 2003, поддержка SELinux, средства автоматического тюнинга параметров ядра, sysfs, переработанная система управления памятью;
В 2005 году представлен гипервизор Xen, который открыл эру виртуализации;
В сентябре 2008 года сформирован первый релиз платформы Android, основанной на ядре Linux;
В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён переход к нумерации 3.x. Число объектов в Git-репозитории достигло 2 млн;
В 2015 году состоялся выпуск ядра Linux 4.0. Число git-объектов в репозитории достигло 4 млн;
В апреле 2018 года преодолён рубеж в 6 млн git-объектов в репозитории ядра.
В январе 2019 года сформирована ветка ядра Linux 5.0. Репозиторий достиг уровня 6.5 млн git-объектов.
Опубликованное в августе 2020 года ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта.
В ядре 5.13 был поставлен рекорд по числу разработчиков (2150), изменения от которых вошли в состав ядра.
В 2021 году в ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust. Ведётся работа по включению компонентов для поддержки Rust в основной состав ядра.
68% всех изменений в ядро внесены 20 наиболее активными компаниями. Например, при разработке ядра 5.13 10% всех изменений подготовлено компанией Intel, 6.5% — Huawei, 5.9% — Red Hat, 5.7% — Linaro, 4.9% — Google, 4.8% — AMD, 3.1% — NVIDIA, 2.8% — Facebook, 2.3% — SUSE, 2.1% — IBM, 1.9% — Oracle, 1.5% — ARM, 1.4% — Canonical. 13.2% изменений подготовлены независимым участниками или разработчиками, явно не заявившим о своей работе на определённые компании. 1.3% изменений подготовлены студентами, аспирантами и представителями учебных заведений. По числу добавленных в ядро 5.13 строк кода лидирует компания AMD, доля которой составила 20.2% (драйвер amdgpu насчитывает около 3 млн строк кода, что примерно 10% от общего размера ядра — 2.4 млн строк приходится на сгенерированные автоматически заголовочные файлы с данными для регистров GPU).

История
Подходящая картинка к новости

Бубунта переходит на использование zstd для сжатия deb-пакетов

Разработчики Ubuntu начали перевод deb-пакетов на использование алгоритма zstd, который позволит почти в два раза увеличить скорость установки пакетов, ценой небольшого увеличения их размера (~6%). Примечательно, что поддержка использования zstd была добавлена в apt и dpkg ещё в 2018 году в выпуске Ubuntu 18.04, но для сжатия пакетов не использовалась. В Debian поддержка zstd уже включена в APT, debootstrap и reprepro и проходит рецензирование перед включением в dpkg.

Источники:
http://www.opennet.ru/opennews/art.shtml?num=55453
https://balintreczey.hu/blog/hello-zstd-compressed-debs-in-ubuntu/

2021   в мире   досуг   интересное   ОС   сисадминство   события   софт

Google Play уходит от использования APK в пользу App Bundle

Компания Google приняла решение перевести каталог Google Play на использование формата распространения приложений Android App Bundle вместо пакетов APK. Начиная с августа 2021 года формат App Bundle должен будет применяться для всех новых приложений, добавляемых в Google Play, а также для доставки приложений, запускаемых без установки (instant app ZIP).

Обновления к уже присутствующим в каталоге приложениям разрешено продолжить распространять в формате APK. Для доставки дополнительных ресурсов в играх вместо OBB должен будет использоваться сервис Play Asset Delivery. Для заверения приложений App Bundle цифровой подписью должен будет применяться сервис Play App Signing, подразумевающий размещение в инфраструктуре Google ключей для формирования цифровых подписей.

Показать

App Bundle поддерживается начиная с Android 9 и позволяет сформировать набор, включающий всё, что нужно приложению для работы на любом устройстве — языковые наборы, поддержка разных размеров экрана и сборки для различных аппаратных платформ. При загрузке приложения из Google Play на систему пользователя доставляются только код и ресурсы, необходимые для работы на конкретном устройстве. Для разработчика приложения переход на App Bundle как правило сводится к включению другой сборочной опции в настройках и тестированию получившегося AAB-пакета.

По сравнению с загрузкой монолитных пакетов APK использование App Bundle позволяет в среднем на 15% сократить объём загружаемых на систему пользователя данных, что приводит к экономии места на накопителе и ускорению установки приложений. По данным Google в настоящее время уже около миллиона приложений перешло на использование формата App Bundle, включая приложения Adobe, Duolingo, Gameloft, Netflix, redBus, Riafy и Twitter.

Источники:
OpenNet
GoogleBlog Android

2021   в мире   досуг   интересное   ОС   сисадминство   события   софт

Смена метода доступа к Git

Протух пароль в гит, сделал так:

здесь сгенерировал новый токен.
Удалил старые кредентиалы гита:

git remote remove origin

git remote add origin https://<токен>@<URL к репозиторию>.git

Ну и находясь в директории репозитория выполнил единоразово:

git pull https://<токен>@<URL к репозиторию>.git

Источник

2021   досуг   интересное   интернет   сисадминство   софт
Ранее Ctrl + ↓
Наверх