Azure Linux 2.0.20240403 lançado com correções de segurança

E foi lançado o Azure Linux 2.0.20240403 com correções de segurança, e mais. Confira as novidades e veja como criar sua própria compilação dela.

Azure Linux não é uma distribuição de propósito geral como qualquer outra que teríamos em mente (como Ubuntu ou Fedora), embora seja de código aberto e já esteja sendo usado por sistemas como o Windows Subsystem for Linux (WSL), Azure Sphere OS, SONiC e outros esforços baseados em Linux.

Azure Linux é uma distribuição caracterizada por fornecer um pequeno conjunto padrão de pacotes principais que servem como base universal para a criação de contêineres, ambientes de hospedagem e serviços executados em infraestruturas de nuvem e dispositivos de borda.

Soluções mais complexas e especializadas podem ser criadas adicionando pacotes adicionais ao Azure Linux, mas a base para todos esses sistemas permanece a mesma, facilitando a manutenção e a preparação para atualizações.

Por exemplo, o Azure Linux é usado como base para a minidistribuição WSLg, que fornece componentes de pilha de gráficos para iniciar aplicativos Linux GUI em ambientes baseados no subsistema WSL2 (Windows Subsystem for Linux).

A funcionalidade estendida no WSLg é feita incluindo pacotes adicionais com Weston Composite Server, XWayland, PulseAudio e FreeRDP.

O sistema de compilação Azure Linux permite gerar pacotes RPM autônomos baseados em arquivos fonte e SPEC, bem como imagens de sistema monolíticas geradas com o kit de ferramentas rpm-ostree e atualizadas atomicamente sem dividir em pacotes separados.

Consequentemente, dois modelos de entrega de atualização são suportados: atualizando pacotes individuais e reconstruindo e atualizando toda a imagem do sistema.

Um repositório está disponível com cerca de 3000 RPMs já construídos que você pode usar para construir suas próprias imagens com base no arquivo de configuração.

A distribuição inclui apenas os componentes mais necessários e é otimizada para consumo mínimo de memória e espaço em disco, bem como altas velocidades de download. A distribuição também se destaca por incluir vários mecanismos de segurança adicionais.

O projeto usa uma abordagem de “segurança máxima por padrão”. Fornece a capacidade de filtrar chamadas de sistema usando o mecanismo seccomp, criptografar partições de disco e verificar pacotes usando assinaturas digitais.

Os modos de randomização de espaço de endereçamento suportados no kernel Linux são ativados, assim como os mecanismos de proteção contra ataques relacionados a links simbólicos, mmap, /dev/mem e /dev/kmem.

Para áreas de memória que contêm segmentos com dados do kernel e do módulo, o modo é definido como somente leitura e a execução de código é proibida.

A capacidade de desabilitar o carregamento de módulos do kernel após a inicialização do sistema está disponível opcionalmente. O kit de ferramentas iptables é usado para filtrar pacotes de rede. Por padrão, a etapa de compilação habilita os modos de proteção contra estouros de pilha, estouros de buffer e problemas de formatação de string (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).

O gerenciador de sistema systemd é usado para gerenciar serviços e inicialização. Os gerenciadores de pacotes RPM e DNF são fornecidos para gerenciamento de pacotes.

Agora, o Azure Linux da Microsoft, anteriormente conhecido como CBL-Mariner por sua distribuição interna de Linux, foi lançado com uma nova versão, o Azure Linux 2.0.20240403.

Novidades do Azure Linux 2.0.20240403

Azure Linux 2.0.20240403 lançado com correções de segurança
Azure Linux 2.0.20240403 lançado com correções de segurança

O Azure Linux 2.0.20240403 foi lançado durante a noite e vem com uma série de atualizações de segurança e outras correções.

Azure Linux 2.0.20240403 continua contando com a antiga série de kernel Linux 5.15 LTS, que teve vários CVEs corrigidos nos últimos lançamentos pontuais.

Além de muitas correções de segurança do kernel Linux, vários outros pacotes receberam atualizações em nome da segurança, incluindo PAM, WPA_Supplicant, ClamAV, Kubervirt, libvirt, Node.js, X.Org Server, Ansible, Zstd, Python e vários outros pacotes.

Azure Linux 2.0.20240403 também corrige um erro de instalação do pacote cloud-init, permite sufixos de ccache e artefato para verificação rápida de PR, corrige reconstruções do conjunto de ferramentas para compilações delta, força o systemd coredump a usar compactação LZ4 e várias outras alterações,

Por fim, se você tiver interesse em saber mais sobre o assunto, consulte os detalhes no seguinte endereço.

Como criar sua própria compilação Azure Linux?

Para aqueles que estão interessados ​​em aprender mais sobre o Azure Linux, eles devem saber que podem construir sua própria imagem a partir do Ubuntu ou de qualquer distribuição Linux, somente neste caso seguiremos as instruções para gerar a imagem no Ubuntu.

Para fazer isso primeiro, devemos estabelecer alguns pré-requisitos que precisaremos para construir a imagem ISO:
sudo apt install make tar wget curl rpm qemu-utils golang-go genisoimage python2-minimal bison gawk

Agora procedemos para obter o código da Azure Linux:
git clone https://github.com/microsoft/azurelinux.git

E agora teremos que entrar no diretório Azure Linux/toolkit e criar a imagem ISO de instalação.
cd azurelinux/toolkit
sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

Quando terminar, podemos encontrar o arquivo ISO no diretório ../out/images/full/. Com a imagem do sistema criada, podemos testar o sistema em uma máquina virtual, seja com VirtualBox, VMWare, Boxes ou qualquer outro de sua preferência.

A única coisa que você precisa configurar na máquina virtual é que ela tenha pelo menos 2 GB de RAM, um núcleo e 16 GB de armazenamento.

Por fim, caso tenha interesse em saber mais sobre o assunto, consulte os detalhes no seguinte endereço.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.