Visão geral da arquitetura Azure Linux

O Azure Linux é uma distribuição Linux mantida pela Microsoft, construída sobre o ecossistema Fedora e otimizada para o Azure. Este artigo explica como o Azure Linux está estruturado, o que inclui por defeito e onde traça intencionalmente fronteiras.

Note

O Azure Linux 4.0 encontra-se agora em preview e destina-se exclusivamente a efeitos de avaliação e teste. Não é adequado para uso em produção.

Como o Azure Linux se relaciona com o Fedora

Azure Linux deriva de Fedora e utiliza o mesmo ecossistema de embalagens baseado em RPM. Obtém-se a familiaridade com dnf5, ferramentas de compilação em Fedora (mock, fedpkg, koji, kiwi), e cadeias de ferramentas de compiladores modernas — todas acompanhadas a partir do Fedora a montante. Para além dessa base, a Microsoft adiciona reforço de segurança específico do Azure, um kernel personalizado e um ciclo de vida gerido adequado a cargas de trabalho na nuvem.

O kernel é disponibilizado na versão 6.18 LTS, com controladores de convidado do Hyper-V, otimizações de desempenho específicas para o Azure e endurecimento de segurança, validados nas SKUs de VM do Azure.

Arquitetura em camadas

O Azure Linux utiliza um modelo em camadas. Cada camada constrói sobre a que está abaixo, desde o hardware e firmware na base até às cargas de trabalho no topo.

Captura de ecrã de um diagrama que mostra a arquitetura em camadas Azure Linux.

Camada do núcleo

O kernel personalizado do Azure Linux inclui os controladores convidados do Hyper-V, correções de reforço da segurança e otimizações de desempenho ajustadas para a infraestrutura do Azure. Pode escolher entre kernels Long-Term Support (LTS) para estabilidade ou kernels Hardware Enablement (HWE) para suporte a novo hardware e GPU. Consulte a cadência de lançamento e ciclo de vida para obter mais detalhes.

Camada central do sistema operativo

Esta camada fornece o sistema de ficheiros raiz mínimo: systemd para gestão de serviços, glibc como runtime C, e OpenSSL para criptografia. Estes são componentes de Nível 1, o que significa que estão bloqueados por versão durante a vida útil de uma grande versão e recebem apenas backports de segurança. Isto mantém a interface binária da aplicação (ABI) estável e o comportamento previsível.

Camada de pacotes em espaço de utilizador

Ambientes de execução de linguagens (Python, Go, Rust, Node.js), ferramentas de contentorização e dependências da aplicação encontram-se aqui. Os pacotes de nível 1 estão bloqueados para estabilidade. Os pacotes de Nível 2 são atualizados com um ritmo previsível. Para mais informações, consulte Cadência de libertação e ciclo de vida.

Camada de carga de trabalho

Os seus serviços e aplicações Azure funcionam aqui. O Azure Linux apresenta a mesma base do sistema operativo, conjunto de pacotes e comportamento, quer esteja a correr em AKS, VMs Azure ou imagens de contentores.

Âmbito da plataforma

O Azure Linux foi concebido para cargas de trabalho cloud no Azure. Embora o Azure Linux seja open source, o suporte da Microsoft e os compromissos do ciclo de vida aplicam-se apenas a cenários do Azure.

A tabela seguinte descreve o que é e o que não é suportado no Azure Linux:

Area Suportado Não suportado
Arquiteturas x86-64 (mínimo v2), ARMv8 (64 bits) Arquiteturas de 32 bits
Ambientes Azure VMs, AKS, imagens de contentores Imagens ISO, no local, multinuvem, IoT, dispositivos de extremidade
Interface de utilizador Consola baseada em texto, SSH Ambientes de trabalho gráficos, instalador com interface gráfica
Virtualização Convidados da KVM, Hyper-V Xen
Hardware periférico Armazenamento ligado ao Azure, redes, GPUs Bluetooth, Wi-Fi, impressoras, áudio/vídeo, robótica
Plataforma de confiança TPM 2,0 TPM 1.x
Suporte de idiomas Suporte local global disponível Nem todos os pacotes de idiomas estão incluídos na imagem base

Cada imagem Linux Azure inclui waagent e cloud-init. Estes componentes são necessários para a integração com o Azure e devem estar sempre presentes.

Estrutura do repositório

O Azure Linux disponibiliza pacotes em vários repositórios separados. Saber de que repositório vem um pacote ajuda a perceber o suporte disponível, o que está disponível de origem e o que tens de ativar explicitamente. Para informações diárias sobre gestão de pacotes, consulte Gestão de pacotes.

Predefinições de rede

O Azure Linux inclui uma pilha de rede otimizada para VMs do Azure, nós do AKS e cargas de trabalho de contentores. A maioria das cargas de trabalho pode usar os valores predefinidos sem alterações.

A tabela seguinte resume os componentes de rede predefinidos no Azure Linux e as alternativas disponíveis caso precise de sobrescrever os valores predefinidos para um cenário específico:

Componente Predefinição Alternativa Notes
Gestor de rede systemd‑networkd + cloud‑init NetworkManager (disponível, não predefinido) systemd-networkd é o padrão para cenários de VM e contentores do Azure.
Firewall firewalld N/A Ativado por predefinição com uma política de bloqueio de ligações de entrada e permissão de ligações de saída.
Backend de firewall nftables iptables (legado, disponível) O NFTables é o substituto moderno do IPTables. O suporte legado do iptables está disponível, mas não é o padrão.
IPv6 Habilitado e endurecido N/A Endurecimento rigoroso do sysctl aplicado tanto para o IPv4 como para o IPv6.

Predefinições de armazenamento

As predefinições de armazenamento do Azure Linux estão otimizadas para discos ligados ao Azure e para o hipervisor Hyper-V subjacente a cada VM do Azure. O sistema de ficheiros, o carregador de arranque e a fonte do relógio são escolhidos para desempenho previsível e compatibilidade com funcionalidades da plataforma Azure, como snapshots e discos geridos.

A tabela seguinte resume as definições de armazenamento predefinidas no Azure Linux e as alternativas disponíveis caso precise de sobrescrever as definições para um cenário específico:

Configuração Predefinição Alternativas
Sistema de arquivos ext4 XFS, BTRFs
Arranque Gestor de arranque GRUB2 N/A
Relógio Fonte de relógio Hyper‑V PTP N/A
NVMe Tempo limite ajustado para armazenamento anexado ao Azure N/A

Arquitetura de segurança

O Azure Linux é reforçado em todas as camadas, desde o kernel até à cadeia de abastecimento. As secções seguintes descrevem os controlos de segurança que estão ativados por defeito. Consulte Segurança e conformidade para mais informações.

Controlo de acesso obrigatório

O controlo de acesso obrigatório (MAC) confina os processos ao acesso de que realmente precisam, mesmo quando são executados como root.

A pré-visualização do Azure Linux 4.0 ativa o SELinux em modo de imposição como estrutura MAC.

Arranque Seguro

O Secure Boot garante que apenas os bootloaders e kernels assinados corram. O bloqueio do kernel protege o kernel em execução e desativa o carregamento de módulos do kernel não confiáveis em tempo de execução.

Note

Azure Linux 4.0 está agora em prévia e os seus componentes ainda não estão assinados para Secure Boot.

Endurecimento do núcleo e do sistema

O kernel e o espaço de utilizador são construídos com mitigações que tornam os exploits mais difíceis de escrever e mais fáceis de conter se tiverem sucesso.

A tabela seguinte resume as capacidades de reforço do kernel e do sistema no Azure Linux:

Capacidade Description
ASLR Randomização forte da disposição do espaço de endereçamento ativada.
Proteção de chaminés Proteções de pilha ao nível do compilador aplicadas a todos os pacotes.
Restrições de chamadas de sistema Perfis seccomp predefinidos e filtragem de chamadas de sistema.
Imagem base mínima Superfície de ataque reduzida devido a um conjunto mínimo de pacotes.

Cryptography

O Azure Linux centraliza a política criptográfica para que os algoritmos e os tamanhos das chaves se mantenham consistentes entre OpenSSL, GnuTLS, NSS e OpenSSH.

A tabela seguinte resume as definições de criptografia no Azure Linux:

Configuração Value
FIPS A certificação FIPS 140-3 é obrigatória.
Políticas de cripto Políticas criptográficas Fedora adotadas para seleção consistente de algoritmos.
Pós-quântico ML-KEM previsto, alinhado com o roteiro do Fedora e do RHEL.

Registo e auditoria

A tabela seguinte resume as definições de registo e auditoria no Azure Linux:

Configuração Value
Daemon de auditoria Auditd ativado.
Armazenamento de registos Armazenamento diário persistente.