В Fedora 40 планируют включить изоляцию системных сервисов

В выпуске Fedora 40 предложено включить настройки изоляции для включаемых по умолчанию системных сервисов systemd, а также сервисов с важными приложениями, такими как PostgreSQL, Apache httpd, Nginx и MariaDB. Предполагается, что изменение позволит значительно повысить защищённость дистрибутива в конфигурации по умолчанию и даст возможность блокировать неизвестные уязвимости в системных сервисах. Предложение пока не рассмотрено комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки дистрибутива Fedora. Предложение также может быть отклонено в процессе рецензирования сообществом.

Рекомендованные для включения настройки:

  • PrivateTmp=yes – предоставление отдельных директорий со временными файлами.
  • ProtectSystem=yes/full/strict – монтирование ФС в режиме только для чтения (в режиме “full” – /etc/, в режиме strict – всех, кроме /dev/, /proc/ и /sys/)ю
  • ProtectHome=yes – запрет доступа к домашним каталогам пользователей
  • PrivateDevices=yes – оставление доступа только к /dev/null, /dev/zero и /dev/random
  • ProtectKernelTunables=yes – доступ только в режиме чтения к /proc/sys/, /sys/, /proc/acpi, /proc/fs, /proc/irq и т.п.
  • ProtectKernelModules=yes – запрет загрузки модулей ядра.
  • ProtectKernelLogs=yes – запрет доступа к буферу с логами ядра.
  • ProtectControlGroups=yes – доступ только в режиме чтения к /sys/fs/cgroup/
  • NoNewPrivileges=yes – запрет повышения привилегий через флаги setuid, setgid и capabilities.
  • PrivateNetwork=yes – помещение в отдельное пространство имён сетевого стека.
  • ProtectClock=yes – запрет изменения времени.
  • ProtectHostname=yes – запрет изменения имени хоста.
  • ProtectProc=invisible – скрытие чужих процессов в /proc.
  • User= – смена пользователя

Дополнительно может быть рассмотрено включение настроек:

  • CapabilityBoundingSet=
  • DevicePolicy=closed
  • KeyringMode=private
  • LockPersonality=yes
  • MemoryDenyWriteExecute=yes
  • PrivateUsers=yes
  • RemoveIPC=yes
  • RestrictAddressFamilies=
  • RestrictNamespaces=yes
  • RestrictRealtime=yes
  • RestrictSUIDSGID=yes
  • SystemCallFilter=
  • SystemCallArchitectures=native
Release. Ссылка here.