Сообщество - GNU/Linux

GNU/Linux

1 151 пост 15 631 подписчик

Популярные теги в сообществе:

616

ФСТЭК РФ опубликовал рекомендации по обеспечению безопасной настройки Linux

ФСТЭК РФ опубликовал рекомендации по обеспечению безопасной настройки Linux Технологии, Linux, Длиннопост

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

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

Основные рекомендации:

  • Запрет учётных записей пользователей с пустыми паролями.

  • Отключение входа суперпользователя по SSH (PermitRootLogin=no в /etc/ssh/sshd_config).

  • Ограничение доступа к команде su пользователями из группы wheel ("auth required pam_wheel.so use_uid" в /etc/pam.d/su)

  • Ограничение списка пользователей, которым разрешено использовать команду sudo.

  • Установка корректных прав доступа к файлам с параметрами пользователей (chmod 644 /etc/passwd /etc/group) и хешами паролей (chmod go-rwx /etc/shadow).

  • Установка корректных прав доступа к файлам запущенных процессов через выполнение "chmod go-w /путь/к/файлу" для всех исполняемых файлов и библиотек, связанных с запущенными в настоящий момент процессами, с последующей проверкой, что каталог, содержащий данные файлы, а также все родительские каталоги недоступны для записи непривилегированным пользователям.

  • Установка корректных прав доступа к исполняемым файлам, вызываемым из cron ("chmod go-w путь_к_файлу"), а также к файлам конфигурации cron /etc/crontab и /etc/cron.* ("chmod go-wx путь").

  • Установить корректные права доступа к файлам, выполняемым с помощью sudo ("chown root путь_к_файлу" и "chmod go-w путь_к_файлу").

  • Установить корректные права доступа к стартовым скриптам системы ("chmod o-w filename" к каждому файлу в /etc/rc#.d, а также к файлам .service).

  • Установить корректные права доступа к исполняемым файлам и библиотекам, расположенным по стандартным путям (/bin, /usr/bin, /lib, /lib64 и т.п.), а также к модулям ядра (/lib/modules/версия-текущего-ядра).

  • Установить корректные права доступа к SUID/SGID-приложениям путём проведения аудита всех SUID/SGID-приложений и удаления SUID/SGID-флагов с лишних.

  • Установить корректные права доступа к содержимому домашних каталогов пользователей (.bash_history, .history, .sh_history, .bash_profile, .bashrc, .profile, .bash_logout и т.п.).

  • Установить корректные права доступа к домашним каталогам пользователей (chmod 700 каталог).

  • Ограничить доступ к журналу ядра (sysctl -w kernel.dmesg_restrict=1).

  • Блокирование утечки информации об адресном пространстве через /proc/kallsyms (sysctl -w kernel.kptr_restrict=2).

  • Инициализировать нулями динамическую память ядра (параметр init_on_alloc=1 при загрузке).

  • Запрет слияния кэшей slab-аллокатора ядра (параметр slab_nomerge при загрузке).

  • Инициализировать механизм IOMMU (параметры iommu=force, iommu.strict=1 и iommu.passthrough=0 при загрузке).

  • Рандомизировать расположение ядерного стека (параметр randomize_kstack_offset=1 при загрузке).

  • Включить защиту от аппаратных уязвимостей CPU (параметр mitigations=auto,nosmt при загрузке).

  • Включить защиту подсистемы eBPF (sysctl -w net.core.bpf_jit_harden=2).

  • Отключить устаревший интерфейс vsyscall (параметр vsyscall=none при загрузке).

  • Ограничить доступ к событиям производительности (sysctl -w kernel.perf_event_paranoid=3).

  • Отключить монтирование виртуальной файловой системы debugfs (параметр debugfs=no-mount или off при загрузке).

  • Отключить системный вызов kexec_load (sysctl -w kernel.kexec_load_disabled=1).

  • Ограничить использование user namespaces (sysctl -w user.max_user_namespaces=0).

  • Запретить системный вызов bpf для непривилегированных пользователей (sysctl -w kernel.unprivileged_bpf_disabled=1).

  • Запретить системный вызов userfaultfd для непривилегированных пользователей (sysctl -w vm.unprivileged_userfaultfd=0).

  • Запретить автоматическую загрузку модулей ядра, связанных с TTY Line Discipline (sysctl -w dev.tty.ldisc_autoload=0).

  • Отключить технологию TSX (Transactional Synchronization Extensions) (параметр tsx=off при загрузке).

  • Настроить минимальны виртуальный адрес, который разрешено использовать для mmap (sysctl -w vm.mmap_min_addr = 4096).

  • Включить рандомизацию адресного пространства (sysctl -w kernel.randomize_va_space = 2).

  • Запретить подключение к другим процессам с помощью ptrace (sysctl -w kernel.yama.ptrace_scope=3).

  • Ограничить небезопасные варианты прохода по символическим ссылкам (sysctl -w fs.protected_symlinks=1).

  • Ограничить небезопасные варианты работы с жесткими ссылками (sysctl -w fs.protected_hardlinks=1).

  • Включить защиту от непреднамеренной записи в FIFO-объект (sysctl -w fs.protected_fifos=2).

  • Включить защиту от непреднамеренной записи в файл (sysctl -w fs.protected_regular=2).

  • Запретить создание core dump для исполняемых файлов с флагом suid (sysctl -w fs.suid_dumpable=0).

Показать полностью
263

Создатель C++ раскритиковал навязывание безопасных языков программирования

Создатель C++ раскритиковал навязывание безопасных языков программирования Java, Ruby, Rust, Swift

Бьёрн Страуструп (Bjarne Stroustrup), создатель языка C++, опубликовал возражения против выводов, сделанных в отчёте АНБ, в котором организациям было рекомендовано отойти от использования языков программирования, таких как Си и Си++, перекладывающих управление памятью на разработчика, в пользу языков, таких как C#, Go, Java, Ruby, Rust и Swift, обеспечивающих автоматическое управление памятью или выполняющих проверки безопасной работы с памятью во время компиляции.

По мнению Страуструпа упомянутые в отчёте АНБ безопасные языки на деле не превосходят C++ в важных с его точки зрения применениях. В частности, развиваемые последние годы базовые рекомендации по использованию C++ (C++ Core Guidelines) охватывают методы безопасного программирование и предписывают применение средств, гарантирующих безопасную работу с типами и ресурсами. При этом разработчикам, которым не требуются подобные строгие гарантии безопасности, оставляется возможность продолжения использования старых методов разработки.

Страуструп считает, что хороший статический анализатор, соответствующий рекомендациям C++ Core Guidelines, может обеспечить необходимые гарантии безопасности C++ кода, требуя значительно меньше затрат, чем переход на новые безопасные языки программирования. Например, большинство рекомендаций Core Guidelines уже реализованы в статическом анализаторе и профиле безопасной работы с памятью из состава Microsoft Visual Studio. Часть рекомендаций также учтена в статическом анализаторе Clang tidy.

Объектом критики также стало акцентирование отчёта АНБ только на проблемах работы с памятью, оставляя без внимания многие другие проблемы языков программирования, влияющие на безопасность и надёжность. Страуструп рассматривает безопасность как более широкое понятие, различные грани которого могут быть достигнуты комбинацией стиля написания кода, библиотек и статических анализаторов. Для управления включением правил, обеспечивающих безопасность работы с типами и ресурсами, предлагается использовать аннотации в коде и опции компиляторов.

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

Показать полностью
33

GitHub прекращает поддержку Subversion

GitHub прекращает поддержку Subversion Github, Microsoft, Технологии

GitHub объявил о решении прекратить поддержку системы управления версиями Subversion. Возможность работы с размещёнными в GitHub репозиториями через интерфейс централизованной системы контроля версий Subversion (svn.github.com) будет отключена 8 января 2024 года. До официального закрытия в конце 2023 года будет проведена серия тестовых отключений, вначале на несколько часов, а затем на целый день. В качестве причины прекращения поддержки Subversion упоминается желание избавиться от издержек на сопровождение лишних сервисов - бэкенд для работы с Subversion отмечен как выполнивший свою задачу и больше не востребованный разработчиками.

Поддержка Subversion была реализована в GitHub в 2010 году для упрощения постепенной миграции на Git пользователей, привыкших к Subversion и продолжающих использование типовых SVN-инструментов. В 2010 году централизованные системы были ещё широко распространены и полное доминирование Git не было очевидным. В настоящее время ситуация изменилась и Git вошёл в обиход примерно у 94% разработчиков, в то время как популярность Subversion заметно снизилась. В текущем виде, Subversion практически не используется для обращения к GitHub, доля обращений к через данную систему снизилась до 0.02% и присутствует всего около 5000 репозиториев для которых наблюдается хотябы одно SVN-обращение в месяц.

Показать полностью
45

Простое включение автомонтирования в Linux за 4 шага

Простое включение автомонтирования в Linux за 4 шага Linux, Компьютерная помощь, Компьютер, Ноутбук, Длиннопост

Здравствуйте. Без лишних вступлений переходим к сути.

Прим. Показано на примере Linux Mint c окружением XFCE.

Шаг 1

Запустите программу "Диски";

Простое включение автомонтирования в Linux за 4 шага Linux, Компьютерная помощь, Компьютер, Ноутбук, Длиннопост

Шаг 2

В левой части окна выбираем нужный диск (устройство);

Простое включение автомонтирования в Linux за 4 шага Linux, Компьютерная помощь, Компьютер, Ноутбук, Длиннопост

Шаг 3

Жмем на кнопку с шестеренками и выбираем "Изменить параметры монтирования";

Простое включение автомонтирования в Linux за 4 шага Linux, Компьютерная помощь, Компьютер, Ноутбук, Длиннопост

Шаг 4

Выключаем "Параметры по умолчанию" и ставим галочку на "Подключать при запуске системы", жмем "ок".

Простое включение автомонтирования в Linux за 4 шага Linux, Компьютерная помощь, Компьютер, Ноутбук, Длиннопост

Спасибо за внимание.

Показать полностью 4
74

Опубликованы исходные тексты программного окружения компьютера Apple Lisa

Опубликованы исходные тексты программного окружения компьютера Apple Lisa Технологии, Apple, Pascal

Компания Apple разрешила Музею компьютерной истории опубликовать исходные тексты операционной системы Lisa OS, которая c 1983 по 1986 год использовалась в персональных компьютерах Apple Lisa. Дополнительно разрешена публикация и набора приложений для Lisa OS, таких как LisaWrite, LisaCalc, LisaDraw, LisaGraph, LisaProject, LisaList и LisaTerminal. Код опубликован (zip-архив 1.1 МБ) под лицензией CHM Software License Agreement.

Операционная система Lisa OS обладала передовыми характеристиками для ОС начала 1980-х годов, в том числе поддерживала систему защиты памяти и виртуальную память, многозадачность, ФС с разделением файлов по директориям (прообраз HFS), предоставляла графический интерфейс с набором приложений для решения прикладных задач. Для разработки использовался язык Pascal.

Показать полностью
44

Отчёт GNOME с обобщением данных, полученных после сбора телеметрии

Отчёт GNOME с обобщением данных, полученных после сбора телеметрии Linux, Gnome, Длиннопост

Опубликован отчёт о составе окружений пользователей GNOME, подготовленный на основе данных, полученных в результате сбора телеметрии у 2560 пользователей, добровольно воспользовавшихся инструментом gnome-info-collect для отправки информации о своих системах. Полученные данные позволят разработчикам понять предпочтения пользователей и учесть их при принятии решений, связанных с повышением удобства работы и развитием оболочки.

Используемые дистрибутивы:

  • Fedora 54.69%

  • Arch 18.64%

  • Ubuntu 10.61%

  • Manjaro 5.56%

Наличие поддержки Flatpak:

  • Flatpak установлен 93.13%

  • Flatpak не установленн 6.87%

Браузер по умолчанию:

  • Firefox 73.14%

  • Chrome 11.64%

  • Brave 4.76%

  • GNOME Web 1.99%

  • Vivaldi 1.91%

  • LibreWolf 1.79%

  • Chromium 1.71%

  • Junction 1.55%

  • Microsoft Edge 1.51%

Производитель оборудования:

  • Lenovo 23.54%

  • Dell 15.01%

  • ASUS 11.91%

  • HP 10.17%

  • MSI 9.72%

  • Gigabyte 9.63%

  • Acer 3.92%

Активные функции удалённого доступа:

  • SSH 20.95%

  • Удалённый доступ к рабочему столу 9.85%

  • Обмен файлами 6.36%

  • Обмен мультимедийными данными 4.29%

Учётные записи в online-сервисах

Установленные дополнения к GNOME Shell:

  • Appindicator support 43.66%

  • Gsconnect 26.70%

  • User theme 26.46%

  • Dash to dock / panel 23.00%

  • Sound output chooser 22.88%

  • Blur my shell 21.06%

  • Clipboard manager 20.26%

  • Caffeine 17.68%

  • System monitor 13.75%

  • Just perfection desktop 12.63%

  • Drive menu 12.32%

  • Apps menu 12.24%

  • Place menus 10.97%

  • Openweather 9.61%

  • Bluetooth quick connect 9.50%

  • Night theme switcher 8.26%

  • Tiling assistant 7.31%

  • Launch new instance 7.15%

  • Rounded window corners 6.28%

  • Game mode 5.80%

  • Alphabetical app grid 5.80%

  • Burn my windows 5.56%

  • GNOME UI tune 4.61%

  • Auto move windows 3.93%

  • Desktop icons 3.89%

Установленные приложения (полный список):

  • GIMP 58.48%

  • VLC 53.71%

  • Steam 53.40%

  • htop 46.25%

  • Dconf Editor 43.28%

  • Extension Manager 38.44%

  • Inkscape 37.19%

  • Flatseal 36.80%

  • Discord 36.64%

  • Chrome 35.12%

  • GNOME Web 35.08%

  • Chromium 34.02%

  • Thunderbird 32.19%

  • GParted 31.05%

  • Wine 30.16%

  • OBS Studio 30.08%

  • Visual Studio Code 28.36%

  • Transmission 28.09%

  • Telegram 27.85%

  • Geary 26.25%

Показать полностью 1
80

Выпуск инструмента применения групповых политик gpupdate 0.9.12

Выпуск инструмента применения групповых политик gpupdate 0.9.12 Linux, Open Source

Опубликован новый выпуск gpupdate, инструмента для применения групповых политик в дистрибутивах «Альт». Механизмы gpupdate применяют групповые политики на машинах-клиентах как на системном уровне, так и для отдельных пользователей. Инструмент gpupdate является частью альтернативного решения компании «Базальт СПО» по реализации доменной инфраструктуры Active Directory под Linux. Приложение поддерживает работу в доменной инфраструктуре MS AD или Samba DC. Код gpupdate написан на языке Python и распространяется под лицензией GPLv3+. Установить gpupdate можно из стабильной ветки p10 репозиториев ALT.

Принцип работы gpupdate основан на реализации групповых политик в Linux, в составе которого политики хранятся в каталоге SysVol на контроллерах домена. GPOA, подмодуль gpupdate, обращается к SysVol контроллера домена и загружает из него все шаблоны групповых политик GPT для системы и пользователей (каталоги Machine и User) и всю информацию из каталогов. Инструмент gpupdate разбирает файлы с расширением .pol под себя и составляет БД. Из этого реестра GPOA забирает свои данные, сортирует, обрабатывает и начинает по очереди запускать модули "appliers".

Каждый из этих модулей отвечает за свою часть применения настроек. Например, есть модули, связанные с настройками ядра системы, с настройками рабочего стола, периферии, браузера, настройками принтеров. И каждый из модулей берёт ту часть базы, которая к нему относится. Например, applier firefox будет искать в базе строчку с firefox и обрабатывать только эту часть базы - а именно формировать из этой информации файл json в каталоге /etc/firefox/policies (как это сформировано в Linux). Далее при запуске web-браузера он обращается к этому каталогу и запускает все настройки.

Изменения в версии 0.9.11.2:

  • Поддерживаются применения для компьютера всех политик web-браузеров Firefox и Chromium.

  • Добавлены механизмы применения политик скриптов - logon/logoff/startup/shutdown.

  • Механизмы применения параметров системных настроек (preferences): операции с файлами (Files), каталогами (Folders), файлами конфигураций (Ini-files).

  • Добавлено новое действие для обновления статуса сервисов в gpupdate-setup - ключ update запускает все необходимые службы при обновлении задействованного gpupdate.

  • Улучшено применение пользовательских политик с точки зрения корректной работы и безопасности. Для Systemd появился системный таймер gpupdate.timer и пользовательский таймер gpupdate-user.timer для мониторинга и контроля времени выполнения службы gpupdate.service. Периодичность запуска gpupdate может быть настроена через таймер.

  • Оптимизирован режим обработки политики замыкания на себя - «Настройка режима обработки замыкания пользовательской групповой политики». Эта политика позволяет заместить параметры одного объекта групповой политики над параметрами другого объекта для пользователей этого второго объекта.

Особенности версии 0.9.12:

  • Добавлен механизм применения для компьютера групповых политик браузера Yandex.

  • Механизмы применения параметров системных настроек (preferences): настройки общих сетевых ресурсов для пользователя (network shares).

  • Добавлен перебор контроллеров домена (DC) с настроенным каталогом SysVol, если автоматически выбранный контроллер домена оказался с SysVol, в котором отсутствуют групповые политики. По умолчанию перебор контроллеров домена отключён.

  • Добавлена возможность генерировать правила для всех действий polkit через групповые политики; под каждый polkit-action можно подготовить admx-шаблон настройки, который отобразится в дереве консоли графического инструмента редактирования конфигураций системы и пользователя GPUI.

  • Исправлено отображение политики монтирования дисков для пользователя и добавлена поддержка монтирования для компьютера:

    • Добавлена поддержка опций меток дисков;

    • Исправлена коллизия буквенных имён дисков; буквы дисков присваиваются как в Windows.

    • Заменены точки монтирования для отображения общих ресурсов:

    • /media/gpupdate/drives.system — для системных ресурсов;

    • /media/gpupdate/.drives.system - для скрытых системных ресурсов;

    • /run/media/USERNAME/drives - для общих ресурсов пользователя;

    • /run/media/USERNAME/.drives - для скрытых общих ресурсов пользователя.

Показать полностью
92

Debian 12 перешёл на первую стадию заморозки перед релизом

Debian 12 перешёл на первую стадию заморозки перед релизом Linux, Debian

Разработчики Debian сообщили о достижении первой стадии заморозки пакетной базы Debian 12 "Bookworm", которая подразумевает прекращение выполнения "transitions" (обновление пакетов, требующее корректировки зависимостей у других пакетов, которое приводит к временному удалению пакетов из Testing), а также прекращение обновления пакетов, необходимых для сборки (build-essential).

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

На 12 марта 2023 года намечена жёсткая заморозка перед релизом, при которой процесс переноса ключевых пакетов и пакетов без autopkgtests из unstable в testing будет полностью остановлен и начнётся этап интенсивного тестирования и исправления блокирующих релиз проблем. Стадия жёсткой заморозки вводится впервые и рассматривается как необходимый промежуточный этап перед полной заморозкой, охватывающей все пакеты. Время полной заморозки пока точно не определено.

В настоящее время насчитывается 637 критических ошибок, блокирующие релиз (в момент заморозки в Debian 11 таких ошибок было 472, в Debian 10 - 577, в Debian 9 - 275, Debian 8 - 350, Debian 7 - 650). Релиз Debian 12 ожидается летом 2023 года.

Показать полностью 1
Отличная работа, все прочитано!