A Microsoft lançou uma atualização mensal da distribuição Azure Linux 3.0.20260506. A distribuição está se desenvolvendo como uma plataforma básica universal para ambientes Linux utilizados em infraestrutura de nuvem, sistemas de edge e vários serviços Microsoft. As contribuições do projeto são distribuídas sob a licença MIT. As compilações de pacotes são formadas para as arquiteturas aarch64 e x86_64. O tamanho da imagem de instalação é de 770 MB.
Entre as mudanças na nova versão:
- Pacotes ignition e rust-afterburn foram adicionados ao repositório (SPECS e SPECS-EXTENDED).
- O pacote do analisador de rede Wireshark foi recompilado com suporte ao idioma Lua.
- Na compilação do pacote do kernel para a arquitetura arm64, foi incluído o parâmetro CONFIG_IKCONFIG_PROC, que permite o acesso à configuração de compilação do kernel atual através do arquivo /proc/config.gz.
- Foi melhorado o suporte à migração ao vivo no QEMU.
- O arquivo PackageBuild.yml foi atualizado com o parâmetro extraMacrosFiles para passar arquivos adicionais com macros durante a construção do pacote.
- Várias dezenas de vulnerabilidades em diferentes pacotes foram corrigidas.
- As versões do kernel Linux 6.6.137.1, clamav 1.5.2, cloud-hypervisor 51.1.56, containerd2 2.1.6, cups 2.4.18, erlang 26.2.5.20, golang 1.26.2-1, libpng 1.6.57, mysql 8.0.46 foram atualizadas.
A distribuição Azure Linux fornece um pequeno conjunto padrão de pacotes essenciais, que serve como base universal para a criação de conteúdos de contêineres, ambientes de hospedagem e serviços executados em infraestruturas de nuvem e em dispositivos de edge. Soluções mais complexas e especializadas podem ser criadas adicionando pacotes adicionais sobre o Azure Linux, mas a base para todos esses sistemas permanece inalterada, o que simplifica a manutenção e a preparação de atualizações.
O Azure Linux é utilizado como base para o mini-distribuição WSLg, que fornece componentes da pilha gráfica para a execução de aplicativos GUI Linux em ambientes baseados no subsistema WSL2 (Windows Subsystem for Linux). Funcionalidades ampliadas no WSLg são implementadas através da inclusão de pacotes adicionais com o servidor compositor Weston, XWayland, PulseAudio e FreeRDP.
Para gerenciar serviços e carga, é utilizado o gerenciador de sistema systemd. Para gerenciar pacotes, são fornecidos os gerenciadores de pacotes RPM e DNF. O servidor SSH não é habilitado por padrão. Para a instalação da distribuição, há um instalador que pode operar tanto em modos texto quanto gráfico. O instalador oferece a opção de instalação com um conjunto completo ou básico de pacotes, além de uma interface para selecionar a partição, nome do host e criação de usuários.
O sistema de construção Azure Linux permite gerar tanto pacotes RPM distintos com base em arquivos SPEC e textos fonte, quanto imagens de sistema monolíticas, formadas com a ferramenta rpm-ostree e atualizadas de forma atômica sem dividir em pacotes individuais. Assim, são suportados dois modelos de entrega de atualizações: por meio da atualização de pacotes individuais e pela reconstrução e atualização de toda a imagem do sistema. Um repositório está disponível, incluindo cerca de 3000 pacotes RPM já construídos, que podem ser utilizados para compor suas próprias imagens com base em um arquivo de configuração.
A plataforma básica inclui apenas os componentes mais necessários e está otimizada para uso mínimo de memória e espaço em disco, além de alta velocidade de inicialização. O projeto adota a abordagem de 'máxima segurança por padrão', que implica a inclusão de diversos mecanismos adicionais para aumentar a proteção:
- 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.
- Uso de iptables para filtragem de pacotes de rede.
- 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).
Fonte: opennet.ru
