As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AL2023 Endurecimento do kernel
O kernel Linux 6.1 em AL2 023 é configurado e construído com várias opções e recursos de fortalecimento.
Opções de fortalecimento do kernel (independente da arquitetura)
Permitir que ACPI métodos sejam inseridos/substituídos em tempo de execução (CONFIG_ _ _ACPI) CUSTOM METHOD
O Amazon Linux desativa essa opção, pois permite que os usuários root
gravem na memória arbitrária do kernel.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Formatos binários diversos (binfmt_misc
)
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
BUG()
Suporte a
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
BUG()
se o kernel encontrar corrupção de dados ao verificar a validade das estruturas de memória do kernel
Algumas partes do kernel Linux verificarão a consistência interna das estruturas de dados e podem BUG()
quando detectarem dados corrompidos.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
COMPAT_BRK
Com essa opção desativada (que é como o Amazon Linux configura o kernel), a randomize_va_space
sysctl
configuração padrão é, o que também permite a 2
randomização de pilha sobre a randomização de mmap
base, pilha e página. VDSO
Essa opção existe no kernel para fornecer compatibilidade com alguns binários libc.so.5
antigos de 1996 e anteriores.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
COMPAT_VDSO
Essa opção de configuração é relevante para x86-64
o aarch64
. Ao definir isso comon
, o kernel do Amazon Linux não torna um objeto compartilhado dinâmico virtual de 32 bits (VDSO) visível em um endereço previsível. A mais recente glibc
conhecida por ser quebrada por essa opção sendo definida por n
é glibc
2.3.3, de 2004.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
CONFIG_DEBUG
fortalecimento fechado
As opções de configuração do kernel Linux controladas por CONFIG_DEBUG
são normalmente projetadas para uso em kernels criados para problemas de depuração, e coisas como desempenho não são uma prioridade. AL2023 ativa a opção de CONFIG_DEBUG_LIST
endurecimento.
Desative DMA para PCI dispositivos no EFI stub antes de configurar o IOMMU
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Fortalecimento para copiar memória entre o kernel e o espaço do usuário
Quando o kernel precisa copiar a memória para ou do espaço do usuário, essa opção ativa algumas verificações que podem proteger contra algumas classes de problemas de estouro de pilha.
A opção CONFIG_HARDENED_USERCOPY_FALLBACK
existia nos kernels 4.16 a 5.15 para ajudar os desenvolvedores do kernel a descobrir quaisquer entradas ausentes da lista de permissões por meio de uma WARN()
. Como o AL2 023 vem com um kernel 6.1, essa opção não é mais relevante para o 023. AL2
A CONFIG_HARDENED_USERCOPY_PAGESPAN
opção existia nos kernels principalmente como uma opção de depuração para desenvolvedores e não se aplica mais ao kernel 6.1 em 023. AL2
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Suporte de hibernação
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Geração de números aleatórios
O kernel AL2 023 é configurado para garantir que a entropia adequada esteja disponível para uso interno. EC2
CONFIG_INET_DIAG
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Zere toda a memória do alocador de páginas e placas do kernel na alocação e desalocação
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)CONFIG_INIT_ON_ALLOC_DEFAULT_ON
pode ser ativado adicionando init_on_alloc=1
à linha de comando do kernel e o comportamento CONFIG_INIT_ON_FREE_DEFAULT_ON
pode ser ativado adicionando init_on_free=1
.
Inicialize todas as variáveis da pilha como zero (CONFIG_INIT_STACK_ALL_ZERO
)
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Assinatura do módulo Kernel
AL2023 assina e valida as assinaturas dos módulos do kernel. A opção CONFIG_MODULE_SIG_FORCE
, que exigiria que os módulos tivessem uma assinatura válida, não está habilitada para preservar a compatibilidade dos usuários que criam módulos de terceiros. Para usuários que desejam garantir que todos os módulos do kernel sejam assinados, Módulo de segurança Linux Lockdown () LSM pode ser configurado para impor isso.
kexec
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)kdump
possa ser usada.
Suporte ao IOMMU
AL2023 ativa o IOMMU suporte. A opção CONFIG_IOMMU_DEFAULT_DMA_STRICT
não está habilitada por padrão, mas essa funcionalidade pode ser configurada adicionando iommu.passthrough=0 iommu.strict=1
à linha de comando do kernel.
kfence
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Suporte de pty
antigo
AL2023 usa o moderno PTY interface (devpts
).
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Módulo de segurança Linux Lockdown () LSM
AL2023 compila o lockdown
LSM, que bloqueará automaticamente o kernel ao usar o Secure Boot.
A opção CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY
não está ativada. Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Envenenamento de páginas
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Protetor de pilha
O kernel AL2 023 é construído com o recurso de proteção de pilha do GCC ativado com a -fstack-protector-strong
opção.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
seccomp BPF API
A ferramenta seccomp o recurso de fortalecimento é usado por softwares, como systemd
tempos de execução de contêineres, para fortalecer os aplicativos do espaço do usuário.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
tempo esgotado para panic()
O kernel AL2 023 é configurado com esse valor definido como0
, o que significa que o kernel não será reinicializado após entrar em pânico. Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)sysctl
, /proc/sys/kernel/panic
e na linha de comando do kernel.
Modelos de segurança
AL2O 023 é ativado SELinux no modo Permissivo por padrão. Para obter mais informações, consulte Configurando modos SELinux para AL2023.
Os módulos Módulo de segurança Linux Lockdown () LSM e yama
também estão habilitados.
/proc/kcore
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Randomização do deslocamento da pilha do kernel na entrada do syscall
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)randomize_kstack_offset=on
na linha de comando do kernel.
Verificações de contagem de referência (CONFIG_REFCOUNT_FULL
)
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Conhecimento do programador sobre SMT núcleos (CONFIG_SCHED_CORE
)
O kernel AL2 023 é construído comCONFIG_SCHED_CORE
, o que permite o uso de aplicativos de espaço de usuário. prctl(PR_SCHED_CORE)
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Verifique se há corrupção na pilha em chamadas para schedule()
(CONFIG_SCHED_STACK_END_CHECK
)
O kernel AL2 023 é construído com CONFIG_SCHED_STACK_END_CHECK
enabled. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Fortalecimento do alocador de memória
O kernel AL2 023 permite o fortalecimento do alocador de memória do kernel com as opções, e. CONFIG_SHUFFLE_PAGE_ALLOCATOR
CONFIG_SLAB_FREELIST_HARDENED
CONFIG_SLAB_FREELIST_RANDOM
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
SLUB suporte de depuração
O kernel AL2 023 é ativado, CONFIG_SLUB_DEBUG
pois essa opção ativa recursos opcionais de depuração para o alocador que podem ser ativados na linha de comando do kernel. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
CONFIG_STATIC_USERMODEHELPER
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)CONFIG_STATIC_USERMODEHELPER
requer suporte especial da distribuição que atualmente não está presente no Amazon Linux.
Texto do kernel somente para leitura e rodata (CONFIG_STRICT_KERNEL_RWX
eCONFIG_STRICT_MODULE_RWX
)
O kernel AL2 023 é configurado para marcar o texto do kernel e do módulo do kernel e rodata memória somente para leitura e memória não textual marcada como não executável. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
TCP suporte syncookie () CONFIG_SYN_COOKIES
O kernel AL2 023 é construído com suporte para TCP syncookies. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Pilha virtualmente mapeada com páginas de proteção (CONFIG_VMAP_STACK
)
O kernel AL2 023 é construído comCONFIG_VMAP_STACK
, permitindo pilhas de kernel mapeadas virtualmente com páginas de proteção. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Crie com avisos do compilador como erros (CONFIG_WERROR
)
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Registre a zeragem na função exit (CONFIG_ZERO_CALL_USED_REGS
)
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Endereço mínimo para alocação de espaço de usuário
Essa opção de fortalecimento pode ajudar a reduzir o impacto dos bugs do ponteiro do kernelNULL. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
clang
opções específicas de fortalecimento
O kernel AL2 023 é construído com GCC em vez de clang, portanto, a opção de CONFIG_CFI_CLANG
endurecimento não pode ser ativada, o que também CONFIG_CFI_PERMISSIVE
não é aplicável. Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Opções de fortalecimento de kernel específicas do x86-64
Opção do CONFIG |
AL2023/6.1/aarch64 | AL2023/6,1/x86_64 |
---|---|---|
CONFIG_AMD_IOMMU | N/D |
y
|
CONFIG_AMD_IOMMU_V2 | N/D |
y
|
CONFIG_IA32_EMULATION | N/D |
y
|
CONFIG_INTEL_IOMMU | N/D |
y
|
CONFIG_INTEL_IOMMU_DEFAULT_ON | N/D |
n
|
CONFIG_INTEL_IOMMU_SVM | N/D |
n
|
CONFIG_LEGACY_VSYSCALL_NONE | N/D |
n
|
CONFIG_MODIFY_LDT_SYSCALL | N/D |
n
|
CONFIG_PAGE_TABLE_ISOLATION | N/D |
y
|
CONFIG_RANDOMIZE_MEMORY | N/D |
y
|
CONFIG_X86_64 | N/D |
y
|
CONFIG_X86_MSR | N/D |
y
|
CONFIG_X86_VSYSCALL_EMULATION | N/D |
y
|
CONFIG_X86_X32 | N/D | N/D |
CONFIG_X86_X32_ABI | N/D |
n
|
Suporte para x86-64
O suporte básico para x86-64 inclui o suporte a bits Physical Address Extension (PAE) e no-execute (NX). Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
AMDe IOMMU suporte da Intel
O kernel AL2 023 é construído com suporte para o e Intel AMD IOMMUs. Essa opção é uma das configurações recomendadas do Kernel Self Protection Project
A opção CONFIG_INTEL_IOMMU_DEFAULT_ON
não está definida, mas pode ser ativada passando intel_iommu=on
para a linha de comando do kernel. Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Atualmente, a CONFIG_INTEL_IOMMU_SVM
opção não está habilitada em AL2 023. Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
Support para espaço de usuário de 32 bits
Importante
O suporte para espaço de usuário x86 de 32 bits está obsoleto e o suporte para execução de binários de espaço de usuário de 32 bits pode ser removido em uma futura versão principal do Amazon Linux.
nota
Embora o AL2 023 não inclua mais pacotes de 32 bits, o kernel ainda suportará a execução de espaço de usuário de 32 bits. Consulte Pacotes x86 (i686) de 32 bits Para mais informações.
Para oferecer suporte à execução de aplicativos de espaço de usuário de 32 bits, o AL2 023 não ativa a CONFIG_X86_VSYSCALL_EMULATION
opção e ativa as opções CONFIG_IA32_EMULATION
CONFIG_COMPAT
, e. CONFIG_X86_VSYSCALL_EMULATION
Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
A ferramenta x32 processadores nativos de 32 bits ABI para 64 bits não estão habilitados (CONFIG_X86_X32
eCONFIG_X86_X32_ABI
). Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Registro específico do modelo x86 (MSR) suporte
A opção CONFIG_X86_MSR
está ativada para oferecer suporte turbostat
. Embora essa opção seja uma das configurações recomendadas do Kernel Self Protection Project (KSPP)
modify_ldt
syscall
AL2O 023 não permite que programas de usuário modifiquem a tabela de descritores locais x86 (LDT) com a syscall. modify_ldt
Essa chamada é necessária para executar código segmentado ou de 16 bits, e sua ausência pode interromper o softwaredosemu
, como a execução de alguns programas em WINEe algumas bibliotecas de threading muito antigas. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Remover o mapeamento do kernel no modo de usuário
AL2023 configura o kernel para que a maioria dos endereços do kernel não seja mapeada no espaço do usuário. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Randomize seções de memória do kernel
AL2023 configura o kernel para randomizar os endereços virtuais básicos das seções de memória do kernel. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Opções de endurecimento de kernel específicas do aarch64
Opção do CONFIG |
AL2023/6.1/aarch64 | AL2023/6,1/x86_64 |
---|---|---|
CONFIG_ARM64_BTI |
y
|
N/D |
CONFIG_ARM64_BTI_KERNEL | N/D | N/D |
CONFIG_ARM64_PTR_AUTH |
y
|
N/D |
CONFIG_ARM64_PTR_AUTH_KERNEL |
y
|
N/D |
CONFIG_ARM64_SW_TTBR0_PAN |
y
|
N/D |
CONFIG_UNMAP_KERNEL_AT_EL0 |
y
|
N/D |
Identificação do alvo da filial
O kernel AL2 023 permite suporte para Branch Target Identification ()CONFIG_ARM64_BTI
. Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
A CONFIG_ARM64_BTI_KERNEL
opção não está habilitada no AL2 023, pois é construída com GCC, e o suporte para construir o kernel com essa opção está atualmente desabilitado no kernel upstream devido a
Autenticação de ponteiro (CONFIG_ARM64_PTR_AUTH
)
O kernel AL2 023 é construído com suporte para a extensão Pointer Authentication (parte das extensões ARMv8 .3), que pode ser usada para ajudar a mitigar as técnicas de Programação Orientada ao Retorno (). ROP O suporte de hardware necessário para autenticação de ponteiro no Graviton
A opção CONFIG_ARM64_PTR_AUTH
está habilitada e comporta autenticação de ponteiro no espaço do usuário. Como a CONFIG_ARM64_PTR_AUTH_KERNEL
opção também está ativada, o kernel AL2 023 é capaz de usar a proteção do endereço de retorno para si mesmo.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Emule o acesso privilegiado, nunca usando a comutação TTBR0_EL1
Essa opção impede que o kernel acesse diretamente a memória do espaço do usuário, com TTBR0_EL1
sendo definido apenas temporariamente como um valor válido pelas rotinas de acesso do usuário.
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project
Desmapear o kernel ao executar no espaço do usuário
O kernel AL2 023 está configurado para desmapear o kernel ao ser executado em userspace (). CONFIG_UNMAP_KERNEL_AT_EL0
Essa opção é uma das Configurações recomendadas do Kernel Self Protection Project