E foi lançado o Systemd 248 com melhorias para desbloqueio de tokens e mais. Confira as novidades desse importante release.
O systemd é um conjunto de softwares que fornecem itens ou blocos de construção fundamentais para um sistema operacional Linux. Entre outros recursos, ele inclui o systemd “System and Service Manager”, um sistema init usado para inicializar o espaço do usuário e gerenciar processos do sistema após a inicialização.
Agora, continuando com um ciclo de desenvolvimento previsível, após 4 meses de desenvolvimento, o lançamento da nova versão do systemd 248 foi revelado.
Systemd 248 lançado com melhorias para desbloqueio de tokens e mais
Esta nova versão fornece suporte de imagem para expandir os diretórios do sistema, o utilitário systemd-cryptenroll, bem como a capacidade de desbloquear LUKS2 usando chips TPM2 e tokens FIDO2, iniciar drives em um espaço de identificador IPC isolado e muito mais.
Nesta nova versão, o conceito de imagens de extensão do sistema foi implementado, o que pode ser usado para expandir a hierarquia de diretórios e adicionar arquivos adicionais em tempos de execução, mesmo se os diretórios especificados forem montados como somente leitura.
Quando uma imagem de extensão do sistema é montada, seu conteúdo é sobreposto na hierarquia usando OverlayFS.
Outra mudança que se destaca é que um novo utilitário systemd-sysext foi proposto para conectar, desconectar, visualizar e atualizar imagens de extensões de sistema, além da adição do serviço systemd-sysext.service para montar automaticamente imagens já instaladas na inicialização Tempo.
Para unidades, a configuração ExtensionImages é implementada, que pode ser usada para vincular imagens de extensão do sistema à hierarquia de namespace FS de serviços isolados individuais.
Systemd-cryptsetup adiciona a capacidade de extrair o URI do token PKCS#11 e a chave criptografada do cabeçalho de metadados LUKS2 no formato JSON, o que permite integrar as informações abertas do dispositivo criptografado no próprio dispositivo sem envolver arquivos externos, também fornece suporte para desbloquear partições criptografadas LUKS2 usando chips TPM2 e tokens FIDO2, além de tokens PKCS#11 anteriormente suportados.
O carregamento da libfido2 é feito por meio de dlopen(), ou seja, a disponibilidade é verificada em tempo real, não como uma dependência embutida no código.
Além disso, no systemd 248 o systemd-networkd adicionou suporte para o protocolo mesh BATMAN (Better Approach To Mobile Adhoc Networking), que permite a criação de redes descentralizadas, cada nó se conectando através de nós vizinhos.
Também foi observado que a implementação do mecanismo de resposta antecipada para falta de memória foi estabilizada no sistema systemd-oomd, bem como a opção DefaultMemoryPressureDurationSec para definir o tempo de espera pela liberação de recursos antes de afetar uma unidade.
O Systemd-oomd usa o subsistema de kernel PSI (Pressure Stall Information) e permite detectar a ocorrência de atrasos devido à falta de recursos e desligar seletivamente processos com uso intensivo de recursos em um estágio em que o sistema ainda não está em um estado crítico e não inicia para cortar fortemente o cache e deslocar os dados para a partição de troca.
Foi adicionado o parâmetro PrivateIPC, que permite configurar o lançamento de processos em um espaço isolado do IPC em um arquivo unitário com identificadores próprios e fila de mensagens.
Para conectar uma unidade a um espaço de identificador IPC já criado, a opção IPCNamespacePath é fornecida.
Já para os kernels disponíveis, foi implementada a geração automática de tabelas de chamadas do sistema para filtros seccomp.
Das outras mudanças que se destacam:
- O utilitário systemd-distribu adicionou a capacidade de ativar partições criptografadas usando chips TPM2, por exemplo, para criar uma partição /var criptografada na primeira inicialização.
- Adicionado o utilitário systemd-cryptenroll para vincular tokens TPM2, FIDO2 e PKCS#11 a partições LUKS, bem como para liberar e visualizar tokens, vincular chaves sobressalentes e definir uma senha de acesso.
- As configurações ExecPaths e NoExecPaths foram adicionadas para aplicar o sinalizador noexec a partes específicas do sistema de arquivos.
- Adicionado um parâmetro de linha de comando do kernel – “root=tmpfs”, que permite que a partição raiz seja montada para armazenamento temporário localizado na RAM usando Tmpfs.
- Um bloco com variáveis de ambiente expostas agora pode ser configurado por meio da nova opção ManagerEnvironment em system.conf ou user.conf, não apenas por meio da linha de comando do kernel e das configurações do arquivo de unidade.
- Em tempo de compilação, você pode usar a chamada de sistema fexecve() em vez de execve() para iniciar processos para reduzir o atraso entre a verificação do contexto de segurança e sua aplicação.
Enquanto isso, você pode baixar o systemd 248 agora mesmo se quiser compilá-lo.
Caso contrário, sugiro fortemente que você espere até que ele chegue aos repositórios de software estáveis da sua distribuição favorita do Linux antes de atualizar para esta versão.