Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Firma y verificación de archivos Veriexec para Junos OS

Obtenga información sobre la firma y verificación de archivos de Veriexec, los beneficios y cómo usarlos.

Verified Exec (también conocido como veriexec) es un esquema de firma y verificación de archivos que protege al sistema operativo de Junos (OS) contra software y actividad no autorizados que podrían comprometer la integridad de su dispositivo. Desarrollado originalmente para el sistema operativo NetBSD, veriexec se adaptó para Junos OS y está habilitado de forma predeterminada.

Los archivos autorizados, es decir, ciertos archivos que se envían con Junos OS, tienen una huella digital asociada que verifica para determinar si el archivo se puede usar (ejecutar o incluso abrir). Cualquier archivo que carezca de una huella digital válida no puede ser ejecutado o leído por aplicaciones que requieran una entrada verificada.

El/bin/sh archivo no requiere entrada verificada. Puede utilizar este archivo para ejecutar scripts arbitrarios. Desde una perspectiva de riesgo, estos scripts son lo mismo que los comandos interactivos, que se controlan a través de la autenticación y los permisos del usuario. Sin embargo, si un script de shell verificado contiene instrucciones para ejecutar un script arbitrario, es decir, un archivo sin firma en el manifiesto, se impide la ejecución de ese archivo.

Cómo funciona Veriexec

Veriexec proporciona al kernel un manifiesto firmado digitalmente que consiste en un conjunto de huellas dactilares para todos los ejecutables y otros archivos que deben permanecer inmutables. El cargador veriexec alimenta el contenido del manifiesto al kernel solo si las firmas digitales asociadas del manifiesto se verifican con éxito. El kernel puede verificar si un archivo coincide con su huella digital. Si se aplica veriexec, solo se ejecutarán ejecutables con una huella digital verificada. Los archivos protegidos no se pueden escribir, modificar ni cambiar.

Cada imagen de instalación contiene un manifiesto, que es un archivo de solo lectura. Contiene entradas como las siguientes:

El mensaje de registro tiene el formato siguiente:

Si se ha modificado un archivo y la huella digital resultante difiere de la del manifiesto, verá un mensaje de registro, como el siguiente ejemplo:

La falta de coincidencia de huellas dactilares indica que el archivo se ha modificado. No intentes ejecutar un archivo de este tipo, ya que podría contener código corrupto. Comuníquese con el JTAC para obtener orientación.

Beneficios de Veriexec

  • Sistemas seguros: proteja los enrutadores, conmutadores y firewalls de Juniper Networks de las infracciones de seguridad.

  • Evite el acceso no autorizado: impida que los actores de amenazas obtengan acceso persistente y no autorizado o que causen fallas en el sistema.

  • Evitar la ejecución de malware: bloquee las modificaciones no autorizadas y el malware mediante la prevención de la ejecución de binarios sin firmar.

  • Admitir código autorizado: agregue código autorizado y firmado a Junos OS con cumplimiento veriexec mediante el SDK de JET. Para obtener más información acerca de la solución SDK, consulte la Guía para desarrolladores del kit de herramientas de extensión de Juniper.

Cómo verificar si Veriexec funciona - Opción 1

Algunas plataformas de Junos OS ofrecen una versión opcional de Junos OS con la aplicación de veriexec deshabilitada. Para obtener información detallada, consulte Automatizaciσn mejorada de Junos.

Los administradores pueden comprobar si se aplica veriexec ejecutando los siguientes comandos desde el shell de la CLI de Junos OS:

  1. Inicie la cáscara.

  2. Utilice el sysctl security.mac.veriexec.state comando para Junos OS versión 15.1 y posteriores

    Si se aplica veriexec, el resultado es security.mac.veriexec.state: loaded active enforce. Si no se aplica veriexec, el resultado es security.mac.veriexec.state: loaded active.

Cómo verificar si Veriexec funciona - Opción 2

Puede confirmar si veriexec está funcionando copiando un archivo autorizado (por ejemplo, /usr/bin/id) en una nueva ubicación como se muestra a continuación. Veriexec impide la operación, porque aunque el archivo es idéntico, solo existe una huella digital válida para /usr/bin/id, no para /tmp/id. Para comprobar la integridad del archivo, veriexec evalúa las propiedades Linux subyacentes del archivo. Estas propiedades, en lugar del archivo en sí, cambian después de copiar el archivo en otra ubicación.

  1. Inicie la cáscara.

  2. Cambie de directorio y luego copie un archivo autorizado, por ejemplo, /usr/bin/id, a una nueva ubicación.

Resultados

Si se está aplicando veriexec, se genera un mensaje de error de autenticación. Si no se genera un mensaje de error, el archivo se ejecutará con normalidad.

Salida generada cuando se aplica veriexec, que muestra que el archivo está bloqueado:

Salida generada cuando no se aplica veriexec, que muestra que el archivo está copiado

Instalar Veriexec Loader

El cargador veriexec valida la imagen de Junos OS que instale desde un servidor del protocolo de transferencia de archivos trivial (TFTP) o un dispositivo de almacenamiento USB.

  • Para instalar la imagen de Junos OS desde un servidor TFTP, utilice este comando:

  • Instale la imagen de Junos OS desde un dispositivo de almacenamiento USB mediante el siguiente comando.

El cargador con capacidad de veriexec valida la imagen de Junos OS. El cargador inicia solo las imágenes nuevas de Junos OS con huellas digitales y no arranca las imágenes existentes sin huellas digitales o kernel. Puede utilizar la nextboot función para comprobar el dispositivo de arranque actual.

Bootupgrade es una herramienta disponible en el paquete de Junos OS para admitir la actualización del firmware del BIOS. Puede usar el comando para actualizar, comprobar el bootupgrade U-Boot, cargar manualmente e instalar el cargador compatible con veriexec. El bootupgrade -c loader comando imprime la cadena de versión para el cargador actual.

Antes de instalar el cargador compatible con veriexec en una imagen de Junos OS, la identificación de las huellas digitales de Junos OS se lleva a cabo en ambas particiones de raíz dual. El cargador compatible con veriexec solo se puede instalar cuando ambas particiones de raíz doble tienen Junos OS con huellas digitales.

Instale el cargador compatible con veriexec desde el shell de la CLI de Junos OS:

  1. Inicie la cáscara.

  2. Utilice el bootupgrade -l /boot/veloader comando para instalar el cargador compatible con veriexec.

  3. Puedes ver diferentes escenarios aquí:

    • Use request system software add /var/tmp/xxx.tgz no-copy no-validate comando para instalar Junos OS con huellas digitales.

    • Si el cargador con capacidad de veriexec no es compatible con las imágenes de Junos OS de destino de versiones anteriores, puede cambiar a una versión anterior del cargador compatible con la versión. Use el request system software add /var/tmp/xxx.tgz no-copy no-validate comando para cambiar automáticamente a una versión anterior del cargador.
    • Use el request system software add /var/tmp/xxx comando para comprobar si el paquete de Junos OS es compatible para la instalación con el cargador veriexec.

      En este ejemplo, verá que la instalación finaliza porque el cargador de veriexec no es compatible con las versiones de Junos OS anteriores a 20.3R1.