Na versão Fedora 40, foi proposto incluir configurações de isolamento para serviços de sistema do systemd ativados por padrão, bem como para serviços com aplicativos importantes, como PostgreSQL, Apache httpd, Nginx e MariaDB. Espera-se que a alteração aumente significativamente a segurança da distribuição na configuração padrão e permita bloquear vulnerabilidades desconhecidas em serviços de sistema. A proposta ainda não foi analisada pelo comitê FESCo (Fedora Engineering Steering Committee), responsável pela parte técnica do desenvolvimento da distribuição Fedora. A proposta também pode ser rejeitada durante o processo de revisão da comunidade.
Configurações recomendadas para inclusão:
- PrivateTmp=yes — fornecimento de diretórios separados para arquivos temporários.
- ProtectSystem=yes/full/strict — montagem do sistema de arquivos em modo somente leitura (no modo 'full' — /etc/, no modo strict — todos os sistemas de arquivos, exceto /dev/, /proc/ e /sys/).
- ProtectHome=yes — proibição de acesso aos diretórios pessoais dos usuários.
- PrivateDevices=yes — permitindo acesso apenas a /dev/null, /dev/zero e /dev/random.
- ProtectKernelTunables=yes — acesso somente em modo de leitura a /proc/sys/, /sys/, /proc/acpi, /proc/fs, /proc/irq, etc.
- ProtectKernelModules=yes — proibição de carregamento de módulos do kernel.
- ProtectKernelLogs=yes — proibição de acesso ao buffer de logs do kernel.
- ProtectControlGroups=yes — acesso somente em modo de leitura a /sys/fs/cgroup/
- NoNewPrivileges=yes — proibição de elevação de privilégios através das flags setuid, setgid e capacidades.
- PrivateNetwork=yes — colocação em um namespace separado para a pilha de rede.
- ProtectClock=yes — proibição de alteração do tempo.
- ProtectHostname=yes — proibição de alteração do nome do host.
- ProtectProc=invisible — ocultação de processos de outros usuários em /proc.
- User= — troca de usuário.
Além disso, pode ser considerado incluir as configurações:
- CapabilityBoundingSet=
- DevicePolicy=closed
- KeyringMode=private
- LockPersonality=yes
- MemoryDenyWriteExecute=yes
- PrivateUsers=yes
- RemoveIPC=yes
- RestrictAddressFamilies=
- RestrictNamespaces=yes
- RestrictRealtime=yes
- RestrictSUIDSGID=yes
- SystemCallFilter=
- SystemCallArchitectures=native
Fonte: opennet.ru
