A Microsoft publicou suas contribuições relacionadas à distribuição Azure Linux 4, que foi completamente reformulada em comparação com a versão 3.0 e migrada de sua própria base de pacotes para utilizar pacotes da distribuição Fedora 43. Anteriormente, o Azure Linux era posicionado como uma plataforma para ambientes Linux usados em infraestrutura de nuvem, sistemas edge e diversos serviços da Microsoft. Agora, o Azure Linux é apresentado como um sistema operacional seguro e confiável de uso geral, otimizado para a nuvem Azure, que pode ser utilizado em máquinas virtuais, contêineres, no ambiente WSL (Windows Subsystem for Linux) e como sistema operacional principal em computadores.
A versão Azure Linux 4 está marcada como em processo de desenvolvimento. Para implementações em produção, recomenda-se usar a versão Azure Linux 3. Versões prontas ainda não estão disponíveis, mas existe um guia para a construção. As modificações específicas da distribuição são fornecidas sob a licença MIT.
Na formação da distribuição, em vez de criar um fork do Fedora, o Azure Linux 4 utiliza uma abordagem declarativa, permitindo a recompilação de pacotes RPM com as alterações e configurações necessárias a partir dos repositórios padrão do Fedora, utilizando arquivos de configuração no formato TOML. Funcionalidades adicionais são definidas na forma de sobreposições, permitindo gerar arquivos spec de pacotes específicos do Azure Linux com base nos pacotes SRPM padrão do Fedora. As sobreposições definem as alterações feitas sobre os pacotes do Fedora, como estruturas adicionais nos arquivos spec, patches e parâmetros de compilação.
A unidade de pacote no Azure Linux 4 é composta por "componentes" (pacote fonte), que em sua maior parte são importados do Fedora através do dist-git e podem formar um ou vários pacotes RPM. Todos os componentes são construídos a partir do código-fonte, não são transferidos pacotes binários do Fedora. Para a geração dos pacotes RPM resultantes com base nas sobreposições, é utilizado a ferramenta azldev, escrita na linguagem Go e disponibilizada sob a licença MIT.
Entre as características do Azure Linux 4 destacam-se a entrega do kernel Linux com otimizações adicionais, proteção contra ataques de cadeia de suprimentos, ciclo de suporte e lançamento de atualizações previsíveis, funcionalidades integradas para a nuvem Azure e alterações para aumentar a segurança. O sistema de construção do Azure Linux permite gerar tanto ambientes de instalação com pacotes RPM, quanto imagens de sistema monolíticas, criadas com a ferramenta rpm-ostree e atualizadas de forma atômica, sem a necessidade de dividir em pacotes individuais. Duas modelos de entrega de atualizações são suportados: através da atualização de pacotes individuais e pela reconstrução e atualização de toda a imagem do sistema.
Entre as medidas de segurança implementadas no Azure Linux:
- Filtragem de chamadas de sistema através do mecanismo seccomp.
- Criptografia de partições de disco.
- Verificação de pacotes por assinatura digital.
- Randomização do espaço de endereçamento.
- Proteção contra ataques relacionados a links simbólicos, mmap, /dev/mem e /dev/kmem.
- Modo somente leitura e proibição de execução de código em áreas de memória onde estão localizados os segmentos com dados do núcleo e módulos.
- Opção para bloquear o carregamento de módulos do núcleo após a inicialização do sistema.
- Habilitação, durante a construção, de modos de proteção contra estouros de pilha, estouros de buffer e problemas de formatação de strings (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
- Entrega dos pacotes mínimos necessários, sem ativação de serviços desnecessários.
Fonte: opennet.ru
