Uso de Kernel Live Patching en nodos administrados de Amazon Linux 2 - AWS Systems Manager

Uso de Kernel Live Patching en nodos administrados de Amazon Linux 2

Kernel Live Patching para Amazon Linux 2 le permite aplicar revisiones de vulnerabilidad de seguridad y de errores críticos a un kernel de Linux en ejecución, sin reinicios ni interrupciones en las aplicaciones en ejecución. Esto le permite beneficiarse de una mejor disponibilidad de servicios y aplicaciones, a la vez que mantiene su infraestructura segura y actualizada. Kernel Live Patching se admite en instancias de Amazon EC2, dispositivos de núcleo de AWS IoT Greengrass y máquinas virtuales locales que ejecutan Amazon Linux 2.

Para obtener información general sobre Kernel Live Patching, consulte Kernel Live Patching en Amazon Linux 2 en la Guía del usuario de Amazon EC2.

Después de activar Kernel Live Patching en un nodo administrado de Amazon Linux 2, puede utilizar Patch Manager, una capacidad de AWS Systems Manager para aplicar revisiones en caliente del kernel al nodo administrado. El uso de Patch Manager es una alternativa al uso de los flujos de trabajo yum existentes en el nodo para aplicar las actualizaciones.

Antes de empezar

Para utilizar Patch Manager para aplicar revisiones en caliente del kernel a los nodos administrados de Amazon Linux 2, asegúrese de que los nodos se basan en la arquitectura y la versión del kernel correctas. Para obtener información, consulte Configuraciones admitidas y requisitos previos en la Guía del usuario de Amazon EC2.

Acerca de Kernel Live Patching y Patch Manager

Actualización de la versión del kernel

No es necesario reiniciar un nodo administrado después de aplicar una revisión en caliente del kernel. Sin embargo, AWS proporciona revisiones en caliente del kernel para una versión del kernel de Amazon Linux 2 durante un máximo de tres meses después de su lanzamiento. Después del período de tres meses, debe actualizar a una versión posterior del kernel para continuar recibiendo actualizaciones en caliente de kernel. Recomendamos utilizar un periodo de mantenimiento para programar un reinicio del nodo al menos una vez cada tres meses para solicitar la actualización de la versión del kernel.

Desinstalación de actualizaciones en caliente del kernel

las revisiones en caliente del kernel no se pueden desinstalar mediante Patch Manager. En su lugar, puede deshabilitar Kernel Live Patching, lo que elimina los paquetes RPM de las revisiones en caliente del kernel aplicados. Para obtener más información, consulte Desactivación de Kernel Live Patching con Run Command.

Conformidad del kernel

En algunos casos, la instalación de todas las correcciones de CVE desde actualizaciones en caliente para la versión actual del kernel puede llevar ese kernel al mismo estado de conformidad que tendría una versión más reciente del kernel. Cuando eso sucede, la versión más reciente se notifica como Installed, y el nodo administrado se informa como Compliant. Sin embargo, no se informa de tiempo de instalación para la versión más reciente del kernel.

Una actualización en caliente del kernel, varias CVE

Si una actualización en caliente del kernel se dirige a varias CVE, y esas CVE tienen varios valores de clasificación y gravedad, solo se informará de la clasificación y gravedad más altas de entre las CVE para la revisión.

En el resto de esta sección, se describe cómo utilizar Patch Manager para aplicar revisiones en caliente del kernel a los nodos administrados que cumplan estos requisitos.

Funcionamiento

AWS lanza dos tipos de revisiones en caliente del kernel para Amazon Linux 2: actualizaciones de seguridad y correcciones de errores. Para aplicar estos tipos de revisiones, se utiliza un documento de línea de base de revisiones que se centra únicamente en las clasificaciones y gravedades enumeradas en la siguiente tabla.

Clasificación Gravedad
Security Critical, Important
Bugfix All

Puede crear una línea de base de revisiones personalizada que se orienta únicamente a estos revisiones, o utilizar la línea de base de revisiones predefinida de AWS-AmazonLinux2DefaultPatchBaseline. En otras palabras, puede utilizar AWS-AmazonLinux2DefaultPatchBaseline con nodos administrados de Amazon Linux 2 en los que Kernel Live Patching está habilitado, y las revisiones en caliente del kernel se aplicarán.

nota

La configuración de AWS-AmazonLinux2DefaultPatchBaseline especifica un periodo de espera de siete días después del lanzamiento o última actualización de una revisión antes de que se instale automáticamente. Si no desea esperar ese plazo para que se aprueben automáticamente las revisiones en caliente del kernel, puede crear y utilizar una línea de base de revisiones personalizada. En la línea de base de revisiones, puede especificar que no haya ningún periodo de espera para la aprobación automática, o bien puede especificar uno más corto o más largo. Para obtener más información, consulte Uso de bases de referencia de parches personalizadas.

Recomendamos la siguiente estrategia para aplicar revisiones a los nodos administrados con actualizaciones en vivo del kernel:

  1. Active Kernel Live Patching en los nodos administrados de Amazon Linux 2.

  2. Utilice Run Command, una capacidad de AWS Systems Manager, para ejecutar una operación Scan en los nodos administrados mediante la AWS-AmazonLinux2DefaultPatchBaseline predefinida o una base de referencia de revisiones personalizada que también tiene como objetivo solo las actualizaciones de Security con gravedad clasificada como Critical o Important y la gravedad Bugfix de All.

  3. Utilice Compliance, una capacidad de AWS Systems Manager, con el fin de revisar si se notifica la falta de conformidad para la aplicación de revisiones en cualquiera de los nodos administrados que se analizaron. Si es así, consulte los detalles de conformidad del nodo para determinar si faltan actualizaciones en caliente del kernel en el nodo administrado.

  4. Para instalar las actualizaciones en caliente del kernel que faltan, use Run Command con la misma línea de base de revisiones que especificó antes, pero esta vez ejecute una operación Install en lugar de una operación Scan.

    Debido a que las revisiones en vivo del kernel se instalan sin necesidad de reiniciar, puede elegir la opción de reinicio NoReboot para esta operación.

    nota

    Todavía puede reiniciar el nodo administrado si es necesario para otros tipos de revisiones instaladas en el nodo, o si desea actualizar a un kernel más reciente. En estos casos, elija la opción de reinicio RebootIfNeeded en su lugar.

  5. Vuelva a Compliance para verificar que se instalaron las actualizaciones en caliente del kernel.

Activación de Kernel Live Patching con Run Command

Para activar Kernel Live Patching, puede ejecutar comandos yum en los nodos administrados o utilizar Run Command y un documento de Systems Manager personalizado (documento de SSM) que cree.

Para obtener información sobre cómo activar Kernel Live Patching mediante la ejecución de comandos yum directamente en el nodo administrado, consulte Habilitación de Kernel Live Patching en la Guía del usuario de Amazon EC2.

nota

Cuando se activa Kernel Live Patching, el proceso instala la versión más reciente del kernel disponible y reinicia el nodo administrado si el kernel que se esté ejecutando en el nodo administrado es una versión anterior a la versión kernel-4.14.165-131.185.amzn2.x86_64 (la versión mínima admitida). Si el nodo ya está ejecutando la versión kernel-4.14.165-131.185.amzn2.x86_64 o posterior, el proceso no instala una versión más reciente ni reinicia el nodo.

Para activar Kernel Live Patching con Run Command (consola)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Run Command.

  3. Elija Run command (Ejecutar comando).

  4. En la lista Command document (Documento de Command), elija el documento de SSM AWS-ConfigureKernelLivePatching personalizado.

  5. En la sección Command parameters (Parámetros de comandos) especifique si desea que los nodos administrados se reinicien como parte de esta operación.

  6. Para obtener información sobre cómo trabajar con los controles restantes de esta página, consulte Ejecución de comandos desde la consola.

  7. Elija Ejecutar.

Para activar Kernel Live Patching (AWS CLI)
  • Ejecute el siguiente comando en el equipo local.

    Linux & macOS
    aws ssm send-command \ --document-name "AWS-ConfigureKernelLivePatching" \ --parameters "EnableOrDisable=Enable" \ --targets "Key=instanceids,Values=instance-id"
    Windows Server
    aws ssm send-command ^ --document-name "AWS-ConfigureKernelLivePatching" ^ --parameters "EnableOrDisable=Enable" ^ --targets "Key=instanceids,Values=instance-id"

    Sustituya instance-id por el ID del nodo administrado de Amazon Linux 2 en el que desea activar la característica, como i-02573cafcfEXAMPLE. Para activar la característica en varios nodos administrados, puede utilizar cualquiera de los siguientes formatos.

    • --targets "Key=instanceids,Values=instance-id1,instance-id2"

    • --targets "Key=tag:tag-key,Values=tag-value"

    Para obtener información acerca de otras opciones que puede utilizar con el comando, consulte send-command en la Referencia de comandos de la AWS CLI.

Aplicación de actualizaciones en caliente del kernel mediante Run Command

Para aplicar revisiones en caliente del kernel, puede ejecutar comandos yum en los nodos administrados o utilizar Run Command y el documento de SSM AWS-RunPatchBaseline.

Para obtener información sobre cómo aplicar revisiones activas del kernel mediante la ejecución de comandos yum directamente en el nodo administrado, consulte Aplicación de revisiones activas del kernel en la Guía del usuario de Amazon EC2.

Para aplicar actualizaciones en caliente del kernel mediante Run Command (consola)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Run Command.

  3. Elija Run command (Ejecutar comando).

  4. En la lista Command document (Documento de Command), elija el documento de SSM AWS-RunPatchBaseline.

  5. En la sección Command parameters (Parámetros de comandos) realice una de las acciones siguientes:

    • Si está verificando si hay nuevos revisiones en caliente del kernel disponibles, en Operation (Operación), elija Scan. En Reboot Option (Opción de reinicio), elija NoReboot si no desea que los nodos administrados se reinicien después de esta operación. Una vez completada la operación, puede verificar si hay nuevos revisiones y el estado de conformidad en Compliance.

    • Si ya ha comprobado la conformidad de las revisiones y está listo para aplicar las actualizaciones en caliente del kernel disponibles, en Operation (Operación), elija Install. En Reboot Option (Opción de reinicio), elija NoReboot si no desea que los nodos administrados se reinicien después de esta operación.

  6. Para obtener información sobre cómo trabajar con los controles restantes de esta página, consulte Ejecución de comandos desde la consola.

  7. Elija Ejecutar.

Para aplicar actualizaciones en caliente del kernel mediante Run Command (AWS CLI)
  1. Para realizar una operación Scan antes de verificar sus resultados en Compliance, ejecute el siguiente comando desde su equipo local.

    Linux & macOS
    aws ssm send-command \ --document-name "AWS-RunPatchBaseline" \ --targets "Key=InstanceIds,Values=instance-id" \ --parameters '{"Operation":["Scan"],"RebootOption":["RebootIfNeeded"]}'
    Windows Server
    aws ssm send-command ^ --document-name "AWS-RunPatchBaseline" ^ --targets "Key=InstanceIds,Values=instance-id" ^ --parameters {\"Operation\":[\"Scan\"],\"RebootOption\":[\"RebootIfNeeded\"]}

    Para obtener información acerca de otras opciones que puede utilizar con el comando, consulte send-command en la Referencia de comandos de la AWS CLI.

  2. Para realizar una operación Install después de verificar los resultados en Compliance, ejecute el siguiente comando desde el equipo local.

    Linux & macOS
    aws ssm send-command \ --document-name "AWS-RunPatchBaseline" \ --targets "Key=InstanceIds,Values=instance-id" \ --parameters '{"Operation":["Install"],"RebootOption":["NoReboot"]}'
    Windows Server
    aws ssm send-command ^ --document-name "AWS-RunPatchBaseline" ^ --targets "Key=InstanceIds,Values=instance-id" ^ --parameters {\"Operation\":[\"Install\"],\"RebootOption\":[\"NoReboot\"]}

En los dos comandos anteriores, reemplace instance-id por el ID del nodo administrado de Amazon Linux 2 en el que desea aplicar revisiones en caliente del kernel, como i-02573cafcfEXAMPLE. Para activar la característica en varios nodos administrados, puede utilizar cualquiera de los siguientes formatos.

  • --targets "Key=instanceids,Values=instance-id1,instance-id2"

  • --targets "Key=tag:tag-key,Values=tag-value"

Para obtener información sobre otras opciones que puede utilizar con estos comandos, consulte send-command en la Referencia de comandos de la AWS CLI.

Desactivación de Kernel Live Patching con Run Command

Para desactivar Kernel Live Patching, puede ejecutar comandos yum en los nodos administrados o utilizar Run Command y un documento de SSM AWS-ConfigureKernelLivePatching personalizado.

nota

Si ya no necesita utilizar Kernel Live Patching, puede desactivarlo en cualquier momento. En la mayoría de los casos, no es necesario desactivar la característica.

Para obtener información sobre cómo desactivar Kernel Live Patching mediante la ejecución de comandos yum directamente en el nodo administrado, consulte Habilitación de Kernel Live Patching en la Guía del usuario de Amazon EC2.

nota

Cuando desactiva Kernel Live Patching, el proceso desinstala el complemento de Kernel Live Patching y, a continuación, reinicia el nodo administrado.

Para desactivar Kernel Live Patching con Run Command (consola)
  1. Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Run Command.

  3. Elija Run command (Ejecutar comando).

  4. En la lista Command document (Documento de Command), elija el documento de SSM AWS-ConfigureKernelLivePatching.

  5. En la sección Command Parameters, especifique los valores de los parámetros obligatorios.

  6. Para obtener información sobre cómo trabajar con los controles restantes de esta página, consulte Ejecución de comandos desde la consola.

  7. Elija Ejecutar.

Para desactivar Kernel Live Patching(AWS CLI)
  • Ejecute un comando similar al siguiente:

    Linux & macOS
    aws ssm send-command \ --document-name "AWS-ConfigureKernelLivePatching" \ --targets "Key=instanceIds,Values=instance-id" \ --parameters "EnableOrDisable=Disable"
    Windows Server
    aws ssm send-command ^ --document-name "AWS-ConfigureKernelLivePatching" ^ --targets "Key=instanceIds,Values=instance-id" ^ --parameters "EnableOrDisable=Disable"

    Sustituya instance-id por el ID del nodo administrado de Amazon Linux 2 en el que desea desactivar la característica, como i-02573cafcfEXAMPLE. Para desactivar la característica en varios nodos administrados, puede utilizar cualquiera de los siguientes formatos.

    • --targets "Key=instanceids,Values=instance-id1,instance-id2"

    • --targets "Key=tag:tag-key,Values=tag-value"

    Para obtener información acerca de otras opciones que puede utilizar con el comando, consulte send-command en la Referencia de comandos de la AWS CLI.