

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# AL2023 Endurecimiento del núcleo
<a name="kernel-hardening"></a>

 El núcleo 6.1 de Linux AL2023 está configurado y construido con varias opciones y funciones de refuerzo. 

## Opciones de fortalecimiento del kernel (independientes de la arquitectura).
<a name="kernel-hardening-common"></a>


| Opción `CONFIG` | AL2023/6.1/aarch64 | AL2023/6.1/x86\_64 | AL2023/6.12/aarch64 | AL2023/6.12/x86\_64 | AL2023/6.18/aarch64 | AL2023/6.18/x86\_64 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ACPI_CUSTOM_METHOD`](#CONFIG_ACPI_CUSTOM_METHOD)  |  n  |  n  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_BINFMT_MISC`](#CONFIG_BINFMT_MISC)  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_BUG`](#CONFIG_BUG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_BUG_ON_DATA_CORRUPTION`](#CONFIG_BUG_ON_DATA_CORRUPTION)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_CFI_CLANG`](#CONFIG_CFI_CLANG)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_CFI_PERMISSIVE`](#CONFIG_CFI_PERMISSIVE)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_COMPAT`](#CONFIG_COMPAT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_COMPAT_BRK`](#CONFIG_COMPAT_BRK)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_COMPAT_VDSO`](#CONFIG_COMPAT_VDSO)  | N/A |  n  | N/A |  n  | N/A |  n  | 
|  [`CONFIG_DEBUG_CREDENTIALS`](#CONFIG_DEBUG_CREDENTIALS)  |  n  |  n  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_DEBUG_LIST`](#CONFIG_DEBUG_LIST)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_DEBUG_NOTIFIERS`](#CONFIG_DEBUG_NOTIFIERS)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_SG`](#CONFIG_DEBUG_SG)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_VIRTUAL`](#CONFIG_DEBUG_VIRTUAL)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEBUG_WX`](#CONFIG_DEBUG_WX)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_DEFAULT_MMAP_MIN_ADDR`](#CONFIG_DEFAULT_MMAP_MIN_ADDR)  |  65536  |  65536  |  65536  |  65536  |  65536  |  65536  | 
|  [`CONFIG_DEVKMEM`](compare-with-al2-kernel.md#CONFIG_DEVKMEM)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_DEVMEM`](compare-with-al2-kernel.md#CONFIG_DEVMEM)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_EFI_DISABLE_PCI_DMA`](#CONFIG_EFI_DISABLE_PCI_DMA)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_FORTIFY_SOURCE`](compare-with-al2-kernel.md#CONFIG_FORTIFY_SOURCE)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY`](#CONFIG_HARDENED_USERCOPY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HARDENED_USERCOPY_FALLBACK`](#CONFIG_HARDENED_USERCOPY_FALLBACK)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_HARDENED_USERCOPY_PAGESPAN`](#CONFIG_HARDENED_USERCOPY_PAGESPAN)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_HIBERNATION`](#CONFIG_HIBERNATION)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_HW_RANDOM_TPM`](#CONFIG_HW_RANDOM_TPM)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_INET_DIAG`](#CONFIG_INET_DIAG)  |  m  |  m  |  m  |  m  |  m  |  m  | 
|  [`CONFIG_INIT_ON_ALLOC_DEFAULT_ON`](#CONFIG_INIT_ON_ALLOC_DEFAULT_ON)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_ON_FREE_DEFAULT_ON`](#CONFIG_INIT_ON_FREE_DEFAULT_ON)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_INIT_STACK_ALL_ZERO`](#CONFIG_INIT_STACK_ALL_ZERO)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_IOMMU_DEFAULT_DMA_STRICT`](#CONFIG_IOMMU_DEFAULT_DMA_STRICT)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_IOMMU_SUPPORT`](#CONFIG_IOMMU_SUPPORT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_IO_STRICT_DEVMEM`](compare-with-al2-kernel.md#CONFIG_IO_STRICT_DEVMEM)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_KEXEC`](#CONFIG_KEXEC)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_KFENCE`](#CONFIG_KFENCE)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LDISC_AUTOLOAD`](compare-with-al2-kernel.md#CONFIG_LDISC_AUTOLOAD)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LEGACY_PTYS`](#CONFIG_LEGACY_PTYS)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY`](#CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MODULES`](#CONFIG_MODULES)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG`](#CONFIG_MODULE_SIG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG_ALL`](#CONFIG_MODULE_SIG_ALL)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_MODULE_SIG_FORCE`](#CONFIG_MODULE_SIG_FORCE)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_MODULE_SIG_HASH`](#CONFIG_MODULE_SIG_HASH)  |  sha512  |  sha512  |  sha512  |  sha512  |  sha512  |  sha512  | 
|  [`CONFIG_MODULE_SIG_KEY`](#CONFIG_MODULE_SIG_KEY)  |  certs/signing\_key.pem  |  certs/signing\_key.pem  |  certs/signing\_key.pem  |  certs/signing\_key.pem  |  certs/signing\_key.pem  |  certs/signing\_key.pem  | 
|  [`CONFIG_MODULE_SIG_SHA512`](#CONFIG_MODULE_SIG_SHA512)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PAGE_POISONING`](#CONFIG_PAGE_POISONING)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_PAGE_POISONING_NO_SANITY`](#CONFIG_PAGE_POISONING_NO_SANITY)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_PAGE_POISONING_ZERO`](#CONFIG_PAGE_POISONING_ZERO)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_PANIC_ON_OOPS`](compare-with-al2-kernel.md#CONFIG_PANIC_ON_OOPS)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_PANIC_TIMEOUT`](#CONFIG_PANIC_TIMEOUT)  |  0  |  0  |  0  |  0  |  0  |  0  | 
|  [`CONFIG_PROC_KCORE`](#CONFIG_PROC_KCORE)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT`](#CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_RANDOM_TRUST_BOOTLOADER`](#CONFIG_RANDOM_TRUST_BOOTLOADER)  |  y  |  y  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_RANDOM_TRUST_CPU`](#CONFIG_RANDOM_TRUST_CPU)  |  y  |  y  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_REFCOUNT_FULL`](#CONFIG_REFCOUNT_FULL)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_SCHED_CORE`](#CONFIG_SCHED_CORE)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_SCHED_STACK_END_CHECK`](#CONFIG_SCHED_STACK_END_CHECK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECCOMP`](#CONFIG_SECCOMP)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECCOMP_FILTER`](#CONFIG_SECCOMP_FILTER)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY`](#CONFIG_SECURITY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_DMESG_RESTRICT`](compare-with-al2-kernel.md#CONFIG_SECURITY_DMESG_RESTRICT)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LANDLOCK`](#CONFIG_SECURITY_LANDLOCK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LOCKDOWN_LSM`](#CONFIG_SECURITY_LOCKDOWN_LSM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_LOCKDOWN_LSM_EARLY`](#CONFIG_SECURITY_LOCKDOWN_LSM_EARLY)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_BOOTPARAM`](#CONFIG_SECURITY_SELINUX_BOOTPARAM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DEVELOP`](#CONFIG_SECURITY_SELINUX_DEVELOP)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SECURITY_SELINUX_DISABLE`](compare-with-al2-kernel.md#CONFIG_SECURITY_SELINUX_DISABLE)  |  n  |  n  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_SECURITY_WRITABLE_HOOKS`](#CONFIG_SECURITY_WRITABLE_HOOKS)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_SECURITY_YAMA`](#CONFIG_SECURITY_YAMA)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SHUFFLE_PAGE_ALLOCATOR`](#CONFIG_SHUFFLE_PAGE_ALLOCATOR)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_HARDENED`](#CONFIG_SLAB_FREELIST_HARDENED)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLAB_FREELIST_RANDOM`](#CONFIG_SLAB_FREELIST_RANDOM)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SLUB_DEBUG`](#CONFIG_SLUB_DEBUG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STACKPROTECTOR`](#CONFIG_STACKPROTECTOR)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STACKPROTECTOR_STRONG`](#CONFIG_STACKPROTECTOR_STRONG)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STATIC_USERMODEHELPER`](#CONFIG_STATIC_USERMODEHELPER)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_STRICT_DEVMEM`](compare-with-al2-kernel.md#CONFIG_STRICT_DEVMEM)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_STRICT_KERNEL_RWX`](#CONFIG_STRICT_KERNEL_RWX)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_STRICT_MODULE_RWX`](#CONFIG_STRICT_MODULE_RWX)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_SYN_COOKIES`](#CONFIG_SYN_COOKIES)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_VMAP_STACK`](#CONFIG_VMAP_STACK)  |  y  |  y  |  y  |  y  |  y  |  y  | 
|  [`CONFIG_WERROR`](#CONFIG_WERROR)  |  n  |  n  |  n  |  n  |  n  |  n  | 
|  [`CONFIG_ZERO_CALL_USED_REGS`](#CONFIG_ZERO_CALL_USED_REGS)  |  n  |  n  |  n  |  n  |  n  |  n  | 

### Permitir que los métodos ACPI estén en tiempo de ejecución (CONFIG\_ACPI\_CUSTOM\_METHOD) inserted/replaced
<a name="CONFIG_ACPI_CUSTOM_METHOD"></a>

Amazon Linux deshabilita esta opción porque permite a los usuarios `root`escribir en una memoria del kernel arbitraria.

Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings).

### Varios formatos binarios (`binfmt_misc`)
<a name="CONFIG_BINFMT_MISC"></a>

 Aunque esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), no establece esta opción de configuración con los valores recomendados por KSPP](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). AL2023 En AL2023, esta función es opcional y se ha creado como un módulo del núcleo. 

### Compatibilidad con `BUG()`
<a name="CONFIG_BUG"></a>

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `BUG()` si el kernel detecta daños en los datos al comprobar la validez de las estructuras de memoria del kernel
<a name="CONFIG_BUG_ON_DATA_CORRUPTION"></a>

 Algunas partes del kernel de Linux comprueban la coherencia interna de las estructuras de datos y pueden emitir `BUG()` cuando detecten daños en los datos. 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `COMPAT_BRK`
<a name="CONFIG_COMPAT_BRK"></a>

 Si esta opción está deshabilitada (que es la forma en que Amazon Linux configura el kernel), la configuración `randomize_va_space` `sysctl` tiene el valor predeterminado `2`, lo que también permite la asignación al azar del montón además de la asignación al azar de la base `mmap`, la pila y las páginas del VDSO. 

 Esta opción existe en kernel para proporcionar compatibilidad con algunos binarios `libc.so.5` antiguos de 1996 y anteriores. 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `COMPAT_VDSO`
<a name="CONFIG_COMPAT_VDSO"></a>

 Esta opción de configuración es relevante para `x86-64` y no para `aarch64`. Al configurar en `n`, el kernel de Amazon Linux no hace visible un objeto compartido dinámico virtual (VDSO) de 32 bits en una dirección predecible. La opción `glibc` más reciente de la que se tiene constancia al establecer esta opción en `n` es la opción `glibc` 2.3.3, del 2004. 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `CONFIG_DEBUG`endurecimiento cerrado
<a name="CONFIG_DEBUG_KERNEL"></a>

 Las opciones de configuración del núcleo de Linux controladas por `CONFIG_DEBUG` están diseñadas normalmente para su uso en núcleos creados para solucionar problemas de depuración, y aspectos como el rendimiento no son prioritarios. AL2023 habilita la opción de `CONFIG_DEBUG_LIST` endurecimiento. 

### Deshabilite el DMA para los dispositivos PCI en el código auxiliar EFI antes de configurar el IOMMU
<a name="CONFIG_EFI_DISABLE_PCI_DMA"></a>

 Si bien esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### Reforzamiento para copiar memoria entre el núcleo y el espacio de usuario
<a name="CONFIG_HARDENED_USERCOPY"></a>

 Cuando el kernel necesita copiar memoria hacia o desde el espacio de usuario, esta opción habilita varias comprobaciones que pueden evitar algunos tipos de problemas de desbordamiento de pila. 

 La opción `CONFIG_HARDENED_USERCOPY_FALLBACK` existía en los códigos kernel del 4.16 al 5.15 como ayuda para los desarrolladores del kernel para detectar cualquier entrada de la lista de permitidos que faltara a través de `WARN()`. Como AL2023 incluye un núcleo 6.1, esta opción ya no es relevante para. AL2023 

 La `CONFIG_HARDENED_USERCOPY_PAGESPAN` opción existía en los núcleos principalmente como una opción de depuración para los desarrolladores y ya no se aplica al núcleo 6.1 de. AL2023 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Soporte para hibernación
<a name="CONFIG_HIBERNATION"></a>

 Aunque esta opción es una de las opciones recomendadas por [el KSPP (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esta opción debe estar habilitada para permitir la [hibernación de la instancia bajo demanda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html) y para permitir la [hibernación de las instancias de spot interrumpidas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernate-spot-instances.html) 

### Generación de números aleatorios
<a name="kernel-rng"></a>

 El kernel de AL2023 está configurado para garantizar que esté disponible la entropía adecuada para su uso en EC2. 

### `CONFIG_INET_DIAG`
<a name="CONFIG_INET_DIAG"></a>

 Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. En AL2023, esta función es opcional y se ha creado como un módulo del núcleo. 

### Ponga a cero todas las páginas del núcleo y la memoria del asignador de bloques durante la asignación y desasignación
<a name="kernel-init-on-alloc-free"></a>

 Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Estas opciones están deshabilitadas AL2023 debido al posible impacto en el rendimiento que tendría la activación de esta funcionalidad de forma predeterminada. El comportamiento de `CONFIG_INIT_ON_ALLOC_DEFAULT_ON` se puede habilitar agregándolo `init_on_alloc=1` a la línea de comandos del kernel, y el comportamiento de `CONFIG_INIT_ON_FREE_DEFAULT_ON` se puede habilitar agregando `init_on_free=1`. 

### Inicializar todas las variables de la pila como cero (`CONFIG_INIT_STACK_ALL_ZERO`)
<a name="CONFIG_INIT_STACK_ALL_ZERO"></a>

 Si bien esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esta opción requiere GCC 12 o más, mientras que se incluye con GCC 11 AL2023 . 

### Firma del módulo del núcleo
<a name="kernel-config-modules"></a>

 AL2023 firma y valida las firmas de los módulos del núcleo. La opción `CONFIG_MODULE_SIG_FORCE`, que requeriría que los módulos tuvieran una firma válida, no está habilitada para preservar la compatibilidad para los usuarios que crean módulos de terceros. Para los usuarios que deseen asegurarse de que todos los módulos del kernel estén firmados, [Módulo de seguridad Lockdown Linux (LSM)](#CONFIG_SECURITY_LOCKDOWN_LSM) pueden configurarlos para que así lo exijan. 

### `kexec`
<a name="CONFIG_KEXEC"></a>

 Aunque esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esta opción está habilitada para poder utilizar la funcionalidad `kdump`. 

### `IOMMU`Support
<a name="CONFIG_IOMMU_SUPPORT"></a>

 AL2023 permite el soporte del IOMMU. La opción `CONFIG_IOMMU_DEFAULT_DMA_STRICT` no está habilitada de forma predeterminada, pero esta funcionalidad se puede configurar añadiéndola `iommu.passthrough=0 iommu.strict=1` a la línea de comandos del kernel. 

### `kfence`
<a name="CONFIG_KFENCE"></a>

 Si bien esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### Soporte para `pty` heredado
<a name="CONFIG_LEGACY_PTYS"></a>

 AL2023 utiliza la interfaz moderna PTY (). `devpts` 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Módulo de seguridad Lockdown Linux (LSM)
<a name="CONFIG_SECURITY_LOCKDOWN_LSM"></a>

 AL2023 crea el `lockdown` LSM, que bloqueará automáticamente el núcleo cuando se utilice Secure Boot. 

 La opción `CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY` ahora no está habilitada. Si bien esta opción es una de las configuraciones recomendadas [por el KSPP (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Cuando no se utiliza el arranque seguro, es posible activar el LSM de bloqueo y configurarlo como se desee. 

### Envenenamiento de páginas
<a name="CONFIG_PAGE_POISONING"></a>

 Si bien esta opción es una de las configuraciones recomendadas por el [Kernel Self Protection Project (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Del mismo modo[Ponga a cero todas las páginas del núcleo y la memoria del asignador de bloques durante la asignación y desasignación](#kernel-init-on-alloc-free), está deshabilitada en el AL2023 núcleo debido a su posible impacto en el rendimiento. 

### Protector de pila
<a name="CONFIG_STACKPROTECTOR"></a>

 El AL2023 núcleo se ha creado con la función de protección contra pilas que GCC está habilitada con esta opción. `-fstack-protector-strong` 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### seccomp BPFAPI
<a name="CONFIG_SECCOMP"></a>

 La característica seccomp de fortalecimiento se utiliza en programas como `systemd` y en los tiempos de ejecución de contenedores para reforzar las aplicaciones del espacio de usuario. 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `panic()` timeout
<a name="CONFIG_PANIC_TIMEOUT"></a>

 El AL2023 núcleo está configurado con este valor establecido en`0`, lo que significa que el núcleo no se reiniciará cuando entre en pánico. Aunque esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esto se puede configurar mediante `sysctl`, `/proc/sys/kernel/panic` y en la línea de comandos del kernel. 

### Modelos de seguridad
<a name="CONFIG_SECURITY"></a>

 AL2023 se activa SELinux en modo permisivo de forma predeterminada. Para obtener más información, consulte [Configuración de los modos de SELinux para AL2023](selinux-modes.md). 

 Los módulos [Módulo de seguridad Lockdown Linux (LSM)](#CONFIG_SECURITY_LOCKDOWN_LSM) y `yama` también están habilitados. 

### `/proc/kcore`
<a name="CONFIG_PROC_KCORE"></a>

 Si bien esta opción es una de las opciones recomendadas por el [Kernel Self Protection Project (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### La pila del kernel realiza una asignación al azar las entradas al syscall
<a name="CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT"></a>

 Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esto se puede habilitar configurando `randomize_kstack_offset=on` en la línea de comandos del kernel. 

### Comprobaciones de recuento de referencias (`CONFIG_REFCOUNT_FULL`)
<a name="CONFIG_REFCOUNT_FULL"></a>

 Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esta opción no está habilitada actualmente debido a su posible impacto en el rendimiento. 

### Conocimiento de los núcleos SMT por parte del programador (`CONFIG_SCHED_CORE`)
<a name="CONFIG_SCHED_CORE"></a>

 El AL2023 núcleo está construido con`CONFIG_SCHED_CORE`, lo que permite el uso de las aplicaciones del espacio de usuario. `prctl(PR_SCHED_CORE)` Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Comprobar si la pila está dañada en las llamadas a `schedule()` (`CONFIG_SCHED_STACK_END_CHECK`)
<a name="CONFIG_SCHED_STACK_END_CHECK"></a>

 El AL2023 núcleo se ha creado con `CONFIG_SCHED_STACK_END_CHECK` enabled. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Fortalecimiento del asignador de memoria
<a name="kernel-allocator-hardening"></a>

 El AL2023 núcleo permite reforzar el asignador de memoria del núcleo con las opciones, y. `CONFIG_SHUFFLE_PAGE_ALLOCATOR` `CONFIG_SLAB_FREELIST_HARDENED` `CONFIG_SLAB_FREELIST_RANDOM` Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Soporte de depuración SLUB
<a name="CONFIG_SLUB_DEBUG"></a>

 El AL2023 núcleo `CONFIG_SLUB_DEBUG` lo activa, ya que esta opción habilita funciones de depuración opcionales para el asignador, que se pueden habilitar en la línea de comandos del núcleo. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### CONFIG\_STATIC\_USERMODEHELPER
<a name="CONFIG_STATIC_USERMODEHELPER"></a>

 Aunque esta opción es una de las opciones recomendadas por [el KSPP (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. Esto se debe a que `CONFIG_STATIC_USERMODEHELPER` requiere un soporte especial por parte de la distribución, que actualmente no está presente en Amazon Linux. 

### Texto del código en kernel de solo lectura y rodata (`CONFIG_STRICT_KERNEL_RWX` y `CONFIG_STRICT_MODULE_RWX`)
<a name="CONFIG_STRICT_KERNEL_RWX"></a>

 El AL2023 núcleo está configurado para marcar el texto y la memoria del núcleo y los módulos del núcleo como de solo lectura, y la rodata memoria no textual se marca como no ejecutable. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Soporte de TCP syncookie (`CONFIG_SYN_COOKIES`)
<a name="CONFIG_SYN_COOKIES"></a>

 El AL2023 núcleo está diseñado con soporte para cookies de sincronización TCP. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del código kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Pila virtualmente mapeada con páginas de protección (`CONFIG_VMAP_STACK`)
<a name="CONFIG_VMAP_STACK"></a>

 El AL2023 núcleo está construido con`CONFIG_VMAP_STACK`, lo que permite disponer de pilas de núcleos mapeadas virtualmente con páginas de protección. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del código kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Compilar con las advertencias del compilador como errores (`CONFIG_WERROR`)
<a name="CONFIG_WERROR"></a>

 Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### Registrar la puesta a cero en la función exit (`CONFIG_ZERO_CALL_USED_REGS`)
<a name="CONFIG_ZERO_CALL_USED_REGS"></a>

 Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### Dirección mínima para la asignación del espacio de usuario
<a name="CONFIG_DEFAULT_MMAP_MIN_ADDR"></a>

 Esta opción de fortalecimiento puede ayudar a reducir el impacto de los errores del puntero NULL del kernel. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### `clang`opciones de endurecimiento específicas
<a name="kernel-hardening-clang"></a>

 El AL2023 núcleo está construido con y GCC noclang, por lo que la opción de `CONFIG_CFI_CLANG` endurecimiento no se puede habilitar, lo que también hace que `CONFIG_CFI_PERMISSIVE` no sea aplicable. Aunque esta opción es una de las opciones recomendadas [por el KSPP (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

## Opciones de fortalecimiento del kernel específicas para x86-64
<a name="kernel-hardening-x86-64"></a>


| Opción `CONFIG` | AL2023/6.1/aarch64 | AL2023/6.1/x86\_64 | AL2023/6.12/aarch64 | AL2023/6.12/x86\_64 | AL2023/6.18/aarch64 | AL2023/6.18/x86\_64 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_AMD_IOMMU`](#CONFIG_AMD_IOMMU)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_AMD_IOMMU_V2`](#CONFIG_AMD_IOMMU_V2)  | N/A |  y  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_IA32_EMULATION`](#CONFIG_IA32_EMULATION)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_INTEL_IOMMU`](#CONFIG_INTEL_IOMMU)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_INTEL_IOMMU_DEFAULT_ON`](#CONFIG_INTEL_IOMMU_DEFAULT_ON)  | N/A |  n  | N/A |  n  | N/A |  n  | 
|  [`CONFIG_INTEL_IOMMU_SVM`](#CONFIG_INTEL_IOMMU_SVM)  | N/A |  n  | N/A |  n  | N/A |  n  | 
|  [`CONFIG_LEGACY_VSYSCALL_NONE`](#CONFIG_LEGACY_VSYSCALL_NONE)  | N/A |  n  | N/A |  n  | N/A |  n  | 
|  [`CONFIG_MODIFY_LDT_SYSCALL`](#CONFIG_MODIFY_LDT_SYSCALL)  | N/A |  n  | N/A |  n  | N/A |  n  | 
|  [`CONFIG_PAGE_TABLE_ISOLATION`](#CONFIG_PAGE_TABLE_ISOLATION)  | N/A |  y  | N/A | N/A | N/A | N/A | 
|  [`CONFIG_RANDOMIZE_MEMORY`](#CONFIG_RANDOMIZE_MEMORY)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_X86_64`](#CONFIG_X86_64)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_X86_MSR`](#CONFIG_X86_MSR)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_X86_VSYSCALL_EMULATION`](#CONFIG_X86_VSYSCALL_EMULATION)  | N/A |  y  | N/A |  y  | N/A |  y  | 
|  [`CONFIG_X86_X32`](#CONFIG_X86_X32)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_X86_X32_ABI`](#CONFIG_X86_X32_ABI)  | N/A |  n  | N/A |  n  | N/A |  n  | 

### Compatibilidad con x86-64
<a name="CONFIG_X86_64"></a>

 La compatibilidad básica con x86-64 incluye la extensión de direcciones físicas (PAE) y la compatibilidad con bits sin ejecución (NX). Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Compatibilidad con AMD e Intel IOMMU
<a name="kernel-x86-64-iommu"></a>

 El AL2023 núcleo se construye con soporte para AMD e Intel. IOMMUs Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

 La opción `CONFIG_INTEL_IOMMU_DEFAULT_ON` no está configurada, pero se puede activar pasando `intel_iommu=on` a la línea de comandos del kernel. Si bien esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por el KSPP. 

 La `CONFIG_INTEL_IOMMU_SVM` opción no está habilitada actualmente en. AL2023 Si bien esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### Support para espacio de usuario de 32 bits
<a name="kernel-hardening-32bit-support"></a>

**importante**  
 La compatibilidad con el espacio de usuario x86 de 32 bits está en desuso y es posible que se elimine la compatibilidad con la ejecución de binarios del espacio de usuario de 32 bits en una futura versión principal de Amazon Linux. 

**nota**  
 Si bien ya AL2023 no incluye ningún paquete de 32 bits, el núcleo seguirá admitiendo la ejecución de un espacio de usuario de 32 bits. Para obtener más información, consulte [Paquetes x86 (i686) de 32 bits](compare-with-al2.md#i686). 

 Para permitir la ejecución de aplicaciones de espacio de usuario de 32 bits, AL2023 no habilita la `CONFIG_X86_VSYSCALL_EMULATION` opción y habilita las opciones, y. `CONFIG_IA32_EMULATION` `CONFIG_COMPAT` `CONFIG_X86_VSYSCALL_EMULATION` Si bien esta opción es una de las opciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

 La ABI nativa de 32 bits x32 para procesadores de 64 bits no está habilitada (`CONFIG_X86_X32` y `CONFIG_X86_X32_ABI`). Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Compatibilidad con registro específico de modelo x86 (MSR)
<a name="CONFIG_X86_MSR"></a>

 La opción `CONFIG_X86_MSR` está habilitada para admitir `turbostat`. Aunque esta opción es una de las configuraciones recomendadas por el [Proyecto de autoprotección del núcleo (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### `modify_ldt` syscall
<a name="CONFIG_MODIFY_LDT_SYSCALL"></a>

 AL2023 no permite que los programas de usuario modifiquen la tabla de descriptores locales (LDT) x86 con la llamada al sistema. `modify_ldt` Esta llamada es necesaria para ejecutar código segmentado o de 16 bits, y su ausencia podría interrumpir el software, por ejemplo `dosemu`, si se ejecutan algunos programas en WINE y en bibliotecas de subprocesos muy antiguas. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Eliminar el mapeo del kernel en modo de usuario
<a name="CONFIG_PAGE_TABLE_ISOLATION"></a>

 AL2023 configura el núcleo para que la mayoría de las direcciones del núcleo no se asignen al espacio de usuario. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Asignación al azar de las secciones de memoria del kernel
<a name="CONFIG_RANDOMIZE_MEMORY"></a>

 AL2023 configura el núcleo para distribuir aleatoriamente las direcciones virtuales base de las secciones de memoria del núcleo. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

## Opciones de refuerzo del kernel específicas de aarch64
<a name="kernel-hardening-aarch64"></a>


| Opción `CONFIG` | AL2023/6.1/aarch64 | AL2023/6.1/x86\_64 | AL2023/6.12/aarch64 | AL2023/6.12/x86\_64 | AL2023/6.18/aarch64 | AL2023/6.18/x86\_64 | 
| --- | --- | --- | --- | --- | --- | --- | 
|  [`CONFIG_ARM64_BTI`](#CONFIG_ARM64_BTI)  |  y  | N/A |  y  | N/A |  y  | N/A | 
|  [`CONFIG_ARM64_BTI_KERNEL`](#CONFIG_ARM64_BTI_KERNEL)  | N/A | N/A | N/A | N/A | N/A | N/A | 
|  [`CONFIG_ARM64_PTR_AUTH`](#CONFIG_ARM64_PTR_AUTH)  |  y  | N/A |  y  | N/A |  y  | N/A | 
|  [`CONFIG_ARM64_PTR_AUTH_KERNEL`](#CONFIG_ARM64_PTR_AUTH_KERNEL)  |  y  | N/A |  y  | N/A |  y  | N/A | 
|  [`CONFIG_ARM64_SW_TTBR0_PAN`](#CONFIG_ARM64_SW_TTBR0_PAN)  |  y  | N/A |  y  | N/A |  y  | N/A | 
|  [`CONFIG_UNMAP_KERNEL_AT_EL0`](#CONFIG_UNMAP_KERNEL_AT_EL0)  |  y  | N/A |  y  | N/A |  y  | N/A | 

### Identificación del objetivo de ramificaciones
<a name="CONFIG_ARM64_BTI"></a>

 El AL2023 núcleo permite la compatibilidad con Branch Target Identification (). `CONFIG_ARM64_BTI` Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

 La `CONFIG_ARM64_BTI_KERNEL` opción no está habilitada porque está construida con ellaGCC, y la compatibilidad para compilar el núcleo con esta opción está [actualmente deshabilitada en el núcleo original debido](https://github.com/torvalds/linux/commit/c0a454b9044fdc99486853aa424e5b3be2107078) a un error de [gcc](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671). AL2023 Aunque esta opción es una de las configuraciones recomendadas por [el KSPP (KSPP), AL2023 no establece esta opción de configuración con los valores recomendados](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings) por KSPP. 

### Pointer Authentication (`CONFIG_ARM64_PTR_AUTH`)
<a name="CONFIG_ARM64_PTR_AUTH"></a>

 El AL2023 núcleo se ha creado con soporte para la extensión Pointer Authentication (que forma parte de las extensiones ARMv8 .3), que se puede utilizar para mitigar las técnicas de programación orientada al retorno (ROP). El soporte de hardware necesario para Pointer Authentication en [Graviton](https://aws.amazon.com/ec2/graviton) se introdujo con Graviton 3. 

 La opción `CONFIG_ARM64_PTR_AUTH` está habilitada y admite Pointer Authentication en el espacio de usuario. Como la `CONFIG_ARM64_PTR_AUTH_KERNEL` opción también está habilitada, el AL2023 núcleo puede utilizar la protección de direcciones de retorno por sí mismo. 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Emular acceso privilegiado sin utilizar nunca la conmutación `TTBR0_EL1`
<a name="CONFIG_ARM64_SW_TTBR0_PAN"></a>

 Esta opción impide que el kernel acceda directamente a la memoria del espacio de usuario, ya que las rutinas de acceso de los usuarios solo establecen temporalmente `TTBR0_EL1` en un valor válido. 

 Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 

### Anular la asignación del kernel cuando se ejecute en el espacio de usuario
<a name="CONFIG_UNMAP_KERNEL_AT_EL0"></a>

 El AL2023 núcleo está configurado para desmapearlo cuando se ejecuta en el espacio de usuario ()`CONFIG_UNMAP_KERNEL_AT_EL0`. Esta opción es una de las [configuraciones recomendadas por el proyecto de autoprotección del kernel](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings). 