В кодовую базу, на основе которой будет сформирован выпуск ядра Linux 6.6, передано изменение, убирающие упоминание Агентства национальной безопасности США (АНБ) из опций, связанных с включением системы принудительного контроля доступа SELinux.
Механизм SELinux был разработан АНБ, включён в состав ядра Linux в 2003 году и используется во многих дистрибутивах Linux, включая Fedora и Red Hat Enterprise Linux.
Вопреки спекуляциям о возможном внесении закладок, реализация SELinux была многократно проверена и подвергнута независимому аудиту.
Последние 20 лет технология развивается при активном участии сообщества и не воспринимается как разработка, контролируемая АНБ. Так как проект уже давно развивается под крылом сообщества и сопровождается независимыми мэйнтейнерами решено перейти на использование имени "SELinux" вместо "NSA SELinux" в комментариях и документации в Kconfig.
Важнейший фикс  😏 
 Linux / Линукс 🥸 
Механизм SELinux был разработан АНБ, включён в состав ядра Linux в 2003 году и используется во многих дистрибутивах Linux, включая Fedora и Red Hat Enterprise Linux.
Вопреки спекуляциям о возможном внесении закладок, реализация SELinux была многократно проверена и подвергнута независимому аудиту.
Последние 20 лет технология развивается при активном участии сообщества и не воспринимается как разработка, контролируемая АНБ. Так как проект уже давно развивается под крылом сообщества и сопровождается независимыми мэйнтейнерами решено перейти на использование имени "SELinux" вместо "NSA SELinux" в комментариях и документации в Kconfig.
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁32👍12🔥3
  Организация ISRG (Internet Security Research Group), которая является учредителем Let's Encrypt, опубликовала первый стабильный выпуск проекта Sudo-rs.
Проект развивает написанные на языке Rust варианты утилит sudo и su, предназначенные для выполнения команд от имени других пользователей.
👉 В утилитах по возможности обеспечена совместимость с классическими утилитами sudo и su, позволяющая использовать sudo-rs в качестве прозрачной замены sudo в типовых сценариях, соответствующих конфигурации /etc/sudoers по умолчанию в Ubuntu и Debian.
Из отличий от sudo отмечается включение по умолчанию режима use_pty, игнорирование настроек env_reset, verifypw и visiblepw, которые всегда включены.
Linux / Линукс🥸 
Проект развивает написанные на языке Rust варианты утилит sudo и su, предназначенные для выполнения команд от имени других пользователей.
👉 В утилитах по возможности обеспечена совместимость с классическими утилитами sudo и su, позволяющая использовать sudo-rs в качестве прозрачной замены sudo в типовых сценариях, соответствующих конфигурации /etc/sudoers по умолчанию в Ubuntu и Debian.
Из отличий от sudo отмечается включение по умолчанию режима use_pty, игнорирование настроек env_reset, verifypw и visiblepw, которые всегда включены.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍14😁2
  💡 10 полезных советов для написания эффективных bash скриптов в Linux
1. Всегда используйте комментарии в скриптах
Комментарии начинаются со знака решетки — #.
2. Настраивайте завершение выполнения скрипта при ошибке
Так бывает, что bash может продолжать выполнять скрипт, несмотря на сбои в выполнении определенной команды.
Можно использовать следующую команду для выхода из скрипта в случае ошибке:
Также bash может попытаться использовать переменную, не объявленную ранее в коде сценария. Чтобы bash завершал выполнение скрипта в такой ситуации — добавьте в код следующую команду:
Использование двойных кавычек при обращении к переменным предотвращает разбиение строк при наличии в них пробелов на слова, а также — другие возможные сбои.
5. Используйте функции в скриптах
Скрипт, который разбит на функции, становится более модульным. Такой код проще прочитать и понять, чем длинную последовательность предписаний.
6. Используйте знак = для сравнения строк
Во многих популярных языках программирования сравнение на равенство проверяется двойным знаком «равно» ==. Однако в сценариях командной строки Линукс для этого используется одинарное равно =.
7. Используйте знак $ вместо знаков “
Существует несколько способов подстановки команд. Вы можете использовать обратные апострофы
Статическая переменная — это переменная, которая не меняется. Встроенная команда
9. Используйте верхний регистр для названий переменных среды, нижний — для названий пользовательских переменных
Все переменные среды bash, такие как HOSTNAME, BASH, GROUPS и другие — следует писать заглавными буквами. Тогда как для именования пользовательских переменных лучше использовать строчные буквы. В коде большого скрипта при использовании множества различных переменных высок риск назвать некоторые из них одинаково, что может привести к неожиданным или даже критическим ошибка.
10. Выполняйте отладку (debugging) скриптов
Linux / Линукс🥸 
1. Всегда используйте комментарии в скриптах
Комментарии начинаются со знака решетки — #.
2. Настраивайте завершение выполнения скрипта при ошибке
Так бывает, что bash может продолжать выполнять скрипт, несмотря на сбои в выполнении определенной команды.
Можно использовать следующую команду для выхода из скрипта в случае ошибке:
# let script exit if a command fails3. Настраивайте завершение выполнения скрипта при обнаружении необъявленной переменной
set -o errexit
# OR
set -e
ls -xyz # command with error
echo "you will not see this message"
Также bash может попытаться использовать переменную, не объявленную ранее в коде сценария. Чтобы bash завершал выполнение скрипта в такой ситуации — добавьте в код следующую команду:
#let script exit if an unsed variable is used4. Используйте двойные кавычки для ссылки на переменные
set -o nounset
# OR
set -u
echo $ThisVariableAreNotDefined
echo "you will not see this message"
Использование двойных кавычек при обращении к переменным предотвращает разбиение строк при наличии в них пробелов на слова, а также — другие возможные сбои.
5. Используйте функции в скриптах
Скрипт, который разбит на функции, становится более модульным. Такой код проще прочитать и понять, чем длинную последовательность предписаний.
6. Используйте знак = для сравнения строк
Во многих популярных языках программирования сравнение на равенство проверяется двойным знаком «равно» ==. Однако в сценариях командной строки Линукс для этого используется одинарное равно =.
7. Используйте знак $ вместо знаков “
Существует несколько способов подстановки команд. Вы можете использовать обратные апострофы
`command` для заключения команды в них, либо же использовать конструкцию $(command). На сегодняшний день рекомендуется использовать именно второй вариант с использованием $, что подтверждается рекомендациями shellcheck, инструментом для анализа кода скриптов. Например:user=`echo “qwerty” `8. Объявляйте статические переменные с опцией readonly
user1=$(echo “abcde”)
Статическая переменная — это переменная, которая не меняется. Встроенная команда
readonly используется для пометки переменных, доступных только для чтения (то есть — неизменяемых). Это подразумевает, что изменить ее в будущем уже будет нельзя.9. Используйте верхний регистр для названий переменных среды, нижний — для названий пользовательских переменных
Все переменные среды bash, такие как HOSTNAME, BASH, GROUPS и другие — следует писать заглавными буквами. Тогда как для именования пользовательских переменных лучше использовать строчные буквы. В коде большого скрипта при использовании множества различных переменных высок риск назвать некоторые из них одинаково, что может привести к неожиданным или даже критическим ошибка.
10. Выполняйте отладку (debugging) скриптов
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍28❤5
  В CVE опубликованы отчёты о ложных уязвимостях в curl, PostgreSQL и других проектах
#длиннопост
Организация MITRE, отвечающая за ведение базы данных общеизвестных уязвимостей, опубликовала отчёт с информацией о ложной критической уязвимости. Проблеме присвоен идентификатор CVE-2020-19909 и выставлен уровень опасности 9.8 из 10.
На деле отчёт об уязвимости ссылается на проблему в коде разбора параметра командной строки "--retry-delay", которая была устранена в 2019 году и приводила к целочисленному переполнению. Ошибка не была отнесена разработчиками к категории уязвимостей.
Тем не менее, спустя три года кто-то отправил в MITRE отчёт об уязвимости и присвоил проблеме критический уровень опасности.🤷♀️  Вопрос вызывает то, как MITRE мог согласиться с заявленным уровнем опасности. Примечательно, что разработчики curl обратились в MITRE с просьбой отменить CVE-отчёт, но представители MITRE ограничились отпиской, отказались удалить CVE и лишь пометили его как спорный ("DISPUTED").
Данный инцидент можно было бы считать единичным случаем, но проект PostgreSQL сообщил о выявлении подобного ложного отчёта, также отправленного 22 августа и привязанного к старому CVE-идентификатору, выданному в 2020 году.
❗️  Анализ нетипичных CVE, созданных 22 августа, показал, что в этот день было добавлено около 150 отчётов под идентификаторами, выданными в 2020-2022 годах. Идентификаторы охватывают большое число открытых проектов и, на первый взгляд, также интерпретируют обычные ошибки, не связанные с обработкой внешних данных, как опасные уязвимости.
Спорные отчёты направлены анонимно через сервис информирования об уязвимостях NVD. Мотив публикации не ясен, вероятно кто-то решил продемонстрировать отсутствие должного аудита при приёме отчётов об уязвимостях, возможность использования CVE как механизма для дискредитации проектов или привлечь внимание к исправлению в коде потенциально опасных проблем без анализа их влияния на безопасность.
Linux / Линукс🥸 
#длиннопост
Организация MITRE, отвечающая за ведение базы данных общеизвестных уязвимостей, опубликовала отчёт с информацией о ложной критической уязвимости. Проблеме присвоен идентификатор CVE-2020-19909 и выставлен уровень опасности 9.8 из 10.
На деле отчёт об уязвимости ссылается на проблему в коде разбора параметра командной строки "--retry-delay", которая была устранена в 2019 году и приводила к целочисленному переполнению. Ошибка не была отнесена разработчиками к категории уязвимостей.
Тем не менее, спустя три года кто-то отправил в MITRE отчёт об уязвимости и присвоил проблеме критический уровень опасности.
Данный инцидент можно было бы считать единичным случаем, но проект PostgreSQL сообщил о выявлении подобного ложного отчёта, также отправленного 22 августа и привязанного к старому CVE-идентификатору, выданному в 2020 году.
Спорные отчёты направлены анонимно через сервис информирования об уязвимостях NVD. Мотив публикации не ясен, вероятно кто-то решил продемонстрировать отсутствие должного аудита при приёме отчётов об уязвимостях, возможность использования CVE как механизма для дискредитации проектов или привлечь внимание к исправлению в коде потенциально опасных проблем без анализа их влияния на безопасность.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥8👍1
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁81🌚3👍1
  🎉 1 сентября nmap исполнилось 26 лет 
nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети.
Linux / Линукс🥸 
nmap — свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  ❤36👍12🎉7🔥1
  AMD объявила о публикации исходных текстов прошивки AMD-ASPFW, обеспечивающей работу механизма защиты AMD SEV (Secure Encrypted Virtualization), позволяющего защитить виртуальные машины от компрометации со стороны гипервизора или администратора хост системы. Код опубликован под отдельным лицензионным соглашением и соответствует прошивке SEV FW 1.55.25, применяемой в 4 поколении процессоров AMD EPYC (кодовое имя Genoa).
Linux / Линукс🥸 
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍25
  Файловая система ReiserFS объявлена устаревшей в ядре Linux
Причина: желание снизить трудозатраты на сопровождение общих для файловых систем изменений, связанных с поддержкой нового API для монтирования, iomap и фолиантов (folios).
Из проблем c ReiserFS также упоминалась стагнация в сопровождении данной ФС, нерешённая проблема 2038 года и отсутствие возможностей по обеспечению отказоустойчивости. Пользовательская база ReiserFS оценивается как незначительная и постоянно сокращающаяся. Год назад последним крупным дистрибутивом, поддерживающим ReiserFS, оставался openSUSE.
Linux / Линукс🥸 
Причина: желание снизить трудозатраты на сопровождение общих для файловых систем изменений, связанных с поддержкой нового API для монтирования, iomap и фолиантов (folios).
Из проблем c ReiserFS также упоминалась стагнация в сопровождении данной ФС, нерешённая проблема 2038 года и отсутствие возможностей по обеспечению отказоустойчивости. Пользовательская база ReiserFS оценивается как незначительная и постоянно сокращающаяся. Год назад последним крупным дистрибутивом, поддерживающим ReiserFS, оставался openSUSE.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍14
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁158🤯7🔥6😢3🎉3
  Проект Sourcegraph, развивающий движок для навигации по исходным текстам, рефакторинга и поиска в коде, раскрыл сведения об инциденте, в результате которого злоумышленники получили доступ к сайту Sourcegraph.com с правами администратора.
Атакующим удалось загрузить данные о пользователях Sourcegraph, включающие email-адреса зарегистрированных пользователей, имена и email коммерческих клиентов и лицензионные ключи некоторых коммерческих пользователей.
Отмечается, что для доступа к сайту атакующими был использован токен одного из администраторов сайта, случайно сохранённый в публично доступном репозитории проекта.
Linux / Линукс🥸 
Атакующим удалось загрузить данные о пользователях Sourcegraph, включающие email-адреса зарегистрированных пользователей, имена и email коммерческих клиентов и лицензионные ключи некоторых коммерческих пользователей.
Отмечается, что для доступа к сайту атакующими был использован токен одного из администраторов сайта, случайно сохранённый в публично доступном репозитории проекта.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁15🎉2
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁51🔥5❤2🤔2
  Наиболее важные изменения Wine 8.15:
– Добавлен обработчик вывода на печать для печати голого текста.
– В движке MSHTML реализована поддержка механизма сборки мусора "Cycle Collection".
– В WoW64, прослойке для запуска 32-разрядных программ в 64-разрядной Windows, реализована поддержка межпроцессных уведомлений.
– Закрыты отчёты об ошибках, связанные с работой некоторых приложений и игр.
В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 8.15. Обновлены патчи vkd3d-latest, user32-rawinput-mouse и mshtml-TranslateAccelerator.
Linux / Линукс🥸 
– Добавлен обработчик вывода на печать для печати голого текста.
– В движке MSHTML реализована поддержка механизма сборки мусора "Cycle Collection".
– В WoW64, прослойке для запуска 32-разрядных программ в 64-разрядной Windows, реализована поддержка межпроцессных уведомлений.
– Закрыты отчёты об ошибках, связанные с работой некоторых приложений и игр.
В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 8.15. Обновлены патчи vkd3d-latest, user32-rawinput-mouse и mshtml-TranslateAccelerator.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍30
  FreeBSD загружается за 25 миллисекунд 
Разработчик FreeBSD Колин Персиваль оптимизировал FreeBSD для Firecracker, сократив время загрузки ядра до 25 миллисекунд. Алгоритм предназначен для micro-VM. Для сравнения ядро Linux в той же среде загружается 80 миллисекунд.
micro-VM предназначены для работы в качестве гостевой операционной системы под другой ОС, что снижает потребность в эмулируемом оборудовании. AWS, например, предлагает micro-VM через свой сервис Lambda на базе гипервизора Firecracker.
👉 Оптимизированное ядро в настоящее время доступно для FreeBSD 14 на платформе x86-64, также ведется работа для Arm64.
Linux / Линукс🥸 
Разработчик FreeBSD Колин Персиваль оптимизировал FreeBSD для Firecracker, сократив время загрузки ядра до 25 миллисекунд. Алгоритм предназначен для micro-VM. Для сравнения ядро Linux в той же среде загружается 80 миллисекунд.
micro-VM предназначены для работы в качестве гостевой операционной системы под другой ОС, что снижает потребность в эмулируемом оборудовании. AWS, например, предлагает micro-VM через свой сервис Lambda на базе гипервизора Firecracker.
👉 Оптимизированное ядро в настоящее время доступно для FreeBSD 14 на платформе x86-64, также ведется работа для Arm64.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  🔥28👍8😁4❤1🌚1
  Выявлена уязвимость в реализации механизма автоматической разблокировки полнодискового шифрования. Она позволяет при наличии физического доступа к компьютеру выполнить свои команды с правами root на раннем этапе загрузки, вручную снять блокировку с шифрованного диска и получить полный доступ к информации, хранимой на дисках.
👉 Уязвимость затрагивает Linux-системы в которых используются формат шифрования LUKS (Linux Unified Key Setup), механизмы защиты ключей на базе TPM (Trusted Platform Module) и компоненты Clevis, dracut и systemd для организации автоматической разблокировки во время загрузки.
Метод атаки напоминает выявленную в 2016 году уязвимость в пакете Cryptsetup, позволявшую получить доступ с правами root в командную оболочку начального загрузочного окружения при удерживании клавиши Enter в ответ на запрос ввода пароля для разблокировки зашифрованного раздела.
Новый вариант атаки был выявлен после проверки как отреагирует система, если генерировать нажатия Enter не вручную, а при помощи эмулятора клавиатуры, обеспечивающего минимально возможную задержку между нажатиями.
Успешная атака продемонстрирована в конфигурации на базе Ubuntu 20.04. Подобные конфигурации на базе фреймворка Clevis и хранения информации для расшифровки ключей в TPM обычно применяются, когда необходимо обеспечить шифрование дисков на удалённых серверах, на которых нет возможности после каждой перезагрузки вручную вводить пароль для разблокировки зашифрованных дисков.
💡 В качестве возможной меры для защиты от атаки рекомендуется выставить при загрузке параметры ядра
Linux / Линукс🥸 
👉 Уязвимость затрагивает Linux-системы в которых используются формат шифрования LUKS (Linux Unified Key Setup), механизмы защиты ключей на базе TPM (Trusted Platform Module) и компоненты Clevis, dracut и systemd для организации автоматической разблокировки во время загрузки.
Метод атаки напоминает выявленную в 2016 году уязвимость в пакете Cryptsetup, позволявшую получить доступ с правами root в командную оболочку начального загрузочного окружения при удерживании клавиши Enter в ответ на запрос ввода пароля для разблокировки зашифрованного раздела.
Новый вариант атаки был выявлен после проверки как отреагирует система, если генерировать нажатия Enter не вручную, а при помощи эмулятора клавиатуры, обеспечивающего минимально возможную задержку между нажатиями.
Успешная атака продемонстрирована в конфигурации на базе Ubuntu 20.04. Подобные конфигурации на базе фреймворка Clevis и хранения информации для расшифровки ключей в TPM обычно применяются, когда необходимо обеспечить шифрование дисков на удалённых серверах, на которых нет возможности после каждой перезагрузки вручную вводить пароль для разблокировки зашифрованных дисков.
💡 В качестве возможной меры для защиты от атаки рекомендуется выставить при загрузке параметры ядра
rd.shell=0 и rd.emergency=reboot, при которых в случае сбоя на раннем этапе загрузки будет выполнена автоматическая перезагрузка, а не переход в интерактивный сеанс.Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  😁10❤7👍3
  💡 Продолжаем про инструменты и сервисы для мониторинга серверов Linux
▪️ Uptime Robot
Работает как еще один уведомитель, который постоянно отслеживает ваш веб-сайт.
▪️ uptime.com
Uptime.com также оповещает вас о простоях веб-сайта по SMS, телефонному звонку или электронной почте. Он проверяет доступность веб-сайта с интервалом в одну минуту в 30 различных местах на 6 континентах. Цены Uptime основаны на тарифных планах basic, superior, business и enterprise.
▪️ Supervisord
Supervisord - это клиент-серверная система управления процессами, которая позволяет своим пользователям управлять рядом процессов в UNIX-подобных операционных системах. Он был вдохновлен удобством, точностью, делегированием и группами процессов и основан на Python. Версия Supervisord на GoLang также доступна на GitHub.
▪️ graphite
Graphite - это корпоративный инструмент мониторинга с открытым исходным кодом, который одинаково хорошо работает как на дешевом оборудовании, так и в облачной инфраструктуре, используемой для отслеживания производительности веб-сайтов, приложений, бизнес-сервисов и сетевых серверов.
▪️ Cabot
Cabot - это бесплатная автономная платформа мониторинга инфраструктуры с открытым исходным кодом, которая предоставляет некоторые из лучших функций PagerDuty, плотности серверов, Pingdom и Nagios без их стоимости и сложности. Он готов к установке в Docker, и его развертывание занимает 5 минут.
Linux / Линукс🥸  #monitoring
▪️ Uptime Robot
Работает как еще один уведомитель, который постоянно отслеживает ваш веб-сайт.
▪️ uptime.com
Uptime.com также оповещает вас о простоях веб-сайта по SMS, телефонному звонку или электронной почте. Он проверяет доступность веб-сайта с интервалом в одну минуту в 30 различных местах на 6 континентах. Цены Uptime основаны на тарифных планах basic, superior, business и enterprise.
▪️ Supervisord
Supervisord - это клиент-серверная система управления процессами, которая позволяет своим пользователям управлять рядом процессов в UNIX-подобных операционных системах. Он был вдохновлен удобством, точностью, делегированием и группами процессов и основан на Python. Версия Supervisord на GoLang также доступна на GitHub.
▪️ graphite
Graphite - это корпоративный инструмент мониторинга с открытым исходным кодом, который одинаково хорошо работает как на дешевом оборудовании, так и в облачной инфраструктуре, используемой для отслеживания производительности веб-сайтов, приложений, бизнес-сервисов и сетевых серверов.
▪️ Cabot
Cabot - это бесплатная автономная платформа мониторинга инфраструктуры с открытым исходным кодом, которая предоставляет некоторые из лучших функций PagerDuty, плотности серверов, Pingdom и Nagios без их стоимости и сложности. Он готов к установке в Docker, и его развертывание занимает 5 минут.
Linux / Линукс
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍10🔥3🥰3