W wydaniu Fedora 40 zaproponowano włączenie ustawień izolacji dla domyślnie włączonych usług systemd, jak również usług z ważnymi aplikacjami, takimi jak PostgreSQL, Apache httpd, Nginx i MariaDB. Oczekuje się, że zmiana znacząco zwiększy bezpieczeństwo dystrybucji w domyślnej konfiguracji i da możliwość zablokowania nieznanych luk w usługach systemowych. Propozycja nie została jeszcze rozpatrzona przez komitet FESCo (Fedora Engineering Steering Committee), odpowiedzialny za techniczną część rozwoju dystrybucji Fedora. Propozycja ta może również zostać odrzucona podczas przeglądu przez społeczność.
Zalecane do włączenia ustawienia:
- PrivateTmp=yes — zapewnienie oddzielnych katalogów z plikami tymczasowymi.
- ProtectSystem=yes/full/strict — montowanie FS w trybie tylko do odczytu (w trybie „full” — /etc/, w trybie strict — wszystkie FS, poza /dev/, /proc/ i /sys/).
- ProtectHome=yes — zakaz dostępu do katalogów domowych użytkowników.
- PrivateDevices=yes — pozostawienie dostępu tylko do /dev/null, /dev/zero i /dev/random
- ProtectKernelTunables=yes — dostęp tylko w trybie odczytu do /proc/sys/, /sys/, /proc/acpi, /proc/fs, /proc/irq itd.
- ProtectKernelModules=yes — zakaz ładowania modułów jądra.
- ProtectKernelLogs=yes — zakaz dostępu do bufora z logami jądra.
- ProtectControlGroups=yes — dostęp tylko w trybie odczytu do /sys/fs/cgroup/
- NoNewPrivileges=yes — zakaz podnoszenia uprawnień poprzez flagi setuid, setgid i capabilities.
- PrivateNetwork=yes — umieszczanie w osobnej przestrzeni nazw stosu sieciowego.
- ProtectClock=yes — zakaz zmiany czasu.
- ProtectHostname=yes — zakaz zmiany nazwy hosta.
- ProtectProc=invisible — ukrywanie obcych procesów w /proc.
- User= — zmiana użytkownika
Dodatkowo mogą zostać rozważone ustawienia:
- CapabilityBoundingSet=
- DevicePolicy=closed
- KeyringMode=private
- LockPersonality=yes
- MemoryDenyWriteExecute=yes
- PrivateUsers=yes
- RemoveIPC=yes
- RestrictAddressFamilies=
- RestrictNamespaces=yes
- RestrictRealtime=yes
- RestrictSUIDSGID=yes
- SystemCallFilter=
- SystemCallArchitectures=native
Źródło: opennet.ru
