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

GNU/Linux

1 172 поста 15 638 подписчиков

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

144

Выпуск web-браузера CENO 2.0, использующего P2P-сеть для обхода блокировок

Выпуск web-браузера CENO 2.0, использующего P2P-сеть для обхода блокировок

Компания eQualite опубликовала выпуск мобильного web-браузера CENO 2.0.0 (CEnsorship.NO), предназначенного для организации доступа к информации в условиях цензуры, фильтрации трафика или отключения сегментов интернета от глобальной сети. Браузер построен на основе движка GeckoView (применяется в Firefox для Android), расширенного возможностью обмена данными через децентрализованную P2P-сеть, в которой пользователи участвуют в перенаправлении трафика к внешним шлюзам, обеспечивающим доступ к информации в обход фильтров. Наработки проекта распространяются под лицензией MIT. Готовые сборки доступны в Google Play.

P2P-функциональность вынесена в отдельную библиотеку Ouinet, которая может быть использована для добавления средств обхода цензуры в произвольные приложения. Браузер CENO и библиотека Ouinet позволяют получить доступ к информации в условиях активной блокировки прокси-серверов, VPN, шлюзов и прочих централизованных механизмов обхода фильтрации трафика, вплоть до полного отключения интернета в цензурируемых областях (при полной блокировке контент может раздаваться из кэша или локальных накопителей).

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

Для получения доступа к новому контенту, прямой доступ к которому заблокирован, применяются специальные прокси-шлюзы (injector), которые размещаются во внешних частях сети, не подверженных цензуре. Информация между клиентом и шлюзом шифруется с использованием шифрования на базе открытых ключей. Для идентификации шлюзов и предотвращения внедрения вредоносных шлюзов применяются цифровые подписи, а ключи сопровождаемых проектом шлюзов включены в поставку браузера.

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

Обычные запросы вначале браузер пытается доставить напрямую, а если прямой запрос не проходит - выполняет поиск в распределённом кэше. При отсутствии URL в кэше информация запрашивается через подключение к прокси-шлюзу или обращение к шлюзу через другого пользователя. Конфиденциальные данные, такие как cookie, в кэше не сохраняются.

Каждая система в P2P-сети снабжается внутренним идентификатором, который используется при маршрутизации в P2P-сети, но не привязан к физическому местоположению пользователя. Достоверность передаваемой и сохраняемой в кэше информации обеспечивается через применение цифровых подписей (Ed25519). Передаваемый трафик шифруется при помощи TLS. Для доступа к информации о структуре сети, участниках и прокэшированном контенте применяется распределенная хэш-таблица (DHT). При необходимости в качестве транспорта помимо HTTP могут использоваться µTP или Tor.

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

Среди изменений в новом выпуске:

  • Изменено оформление панели и переделан интерфейс конфигуратора.

  • Предоставлена возможность определения поведения по умолчанию кнопки Clear и удаления данной кнопки с панели и из меню.

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

  • Выполнена перегруппировка опций меню.

  • В отдельное подменю вынесены опции для настройки интерфейса.

  • Обновлена версия библиотеки Ouinet (0.21.5) и дополнения Ceno Extension(1.6.1), движок GeckoView и библиотеки Mozilla синхронизированы с Firefox for Android 108.

  • Добавлена локализация для русского языка.

  • Добавлены настройки для управления параметрам темы оформления и поисковыми движками.

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

ФСТЭК РФ опубликовал рекомендации по обеспечению безопасной настройки 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++ раскритиковал навязывание безопасных языков программирования

Бьёрн Страуструп (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 объявил о решении прекратить поддержку системы управления версиями 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 Mint c окружением XFCE.

Шаг 1

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

Шаг 2

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

Шаг 3

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

Шаг 4

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

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

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

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

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

Компания 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 с обобщением данных, полученных после сбора телеметрии

Опубликован отчёт о составе окружений пользователей 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

Опубликован новый выпуск 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 - для скрытых общих ресурсов пользователя.

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