Descripción general de las aplicaciones de terceros en Junos OS Evolved
RESUMEN Puede ejecutar aplicaciones de terceros dentro de contenedores Linux o de forma nativa en Junos OS Evolved con claves de firma. Las aplicaciones utilizan las API de Juniper para interactuar con el sistema Junos OS Evolved y las API de Linux para las tareas de red. Las aplicaciones no verificadas se evitan mediante una solución de integridad llamada Arquitectura de medición de integridad (IMA).
Introducción a las aplicaciones de terceros en Junos OS Evolved
Junos OS Evolved se ejecuta de forma nativa en Linux, lo que significa que puede integrar aplicaciones y herramientas de terceros desarrolladas para Linux en Junos OS Evolved. Las herramientas de desarrollo de Linux también le dan el poder de crear y ejecutar sus propias aplicaciones en Junos OS Evolved. Puede optar por ejecutar estas aplicaciones dentro de un contenedor o de forma nativa en el dispositivo con claves de firma.
Ejecución de aplicaciones en contenedores
Junos OS Evolved admite la ejecución de aplicaciones dentro de contenedores Docker. Los contenedores se ejecutan en Junos OS evolucionado y las aplicaciones se ejecutan dentro de los contenedores, manteniéndolos aislados del sistema operativo. Puede usar imágenes de contenedor de Docker precompiladas e instalar herramientas y bibliotecas adicionales dentro del contenedor. Los contenedores se pueden actualizar mediante el flujo de trabajo de Linux.
Los contenedores ya son un método de uso común para ejecutar aplicaciones Linux, por lo que muchas aplicaciones de terceros existentes se pueden importar fácilmente a Junos OS Evolved desplegándolas dentro de contenedores. La naturaleza aislada de los contenedores facilita su implementación y eliminación sin comprometer la integridad de Junos OS Evolved. Además, Junos OS Evolved establece límites predeterminados en el uso de recursos de los contenedores, para garantizar que los contenedores no autorizados no puedan abrumar su sistema.
El servicio de contenedor Docker no se inicia automáticamente al inicializar el sistema. Para habilitar el inicio automático del servicio de contenedor Docker, escriba el siguiente comando desde el shell de Linux:
# systemctl enable --now docker.service
Para obtener más información acerca de cómo ejecutar aplicaciones en contenedores, consulte Ejecutar aplicaciones de terceros en contenedores
Ejecución nativa de aplicaciones con claves de firma
Las aplicaciones de terceros pueden ejecutarse de forma nativa en Junos OS Evolved mediante claves de firma. Las claves de firma se generan y se utilizan para firmar archivos ejecutables u objetos compartidos. La firma de un archivo ejecutable le da permiso para ejecutarse en el dispositivo, lo que le permite aprobar que aplicaciones de confianza se ejecuten junto con el software autorizado de Juniper Networks.
Las claves de firma son controladas por un subsistema de Linux llamado Arquitectura de Medición de Integridad (IMA). La directiva de IMA consta de reglas que definen qué acciones deben tomarse antes de que se pueda ejecutar un archivo. La política de medición de IMA medirá y almacenará el hash de un archivo, y la política de evaluación de IMA se asegurará de que el archivo tenga un hash o una firma digital válidos. IMA solo permitirá que un archivo se ejecute si esta validación se realiza correctamente.
Junos OS Evolved requiere que los usuarios firmen todos los archivos que se asignarán a la memoria para su ejecución. La verificación IMA ayuda a garantizar que estos archivos no hayan sido alterados accidental o maliciosamente. No es necesario firmar los contenedores y archivos dentro de contenedores.
Para obtener más información acerca del uso de claves de firma, consulte Firmar aplicaciones de terceros para ejecutarse de forma nativa en Junos OS Evolved
Requisitos previos a la solicitud
Las aplicaciones de terceros son compatibles con las siguientes versiones de Junos OS Evolved:
-
Junos OS Evolved versión 20.1R1 y posteriores para aplicaciones en contenedores.
-
Junos OS Evolved versión 22.4R1 y posteriores para aplicaciones nativas.
-
Junos OS Evolved versión 23.2R1 y posteriores para aplicaciones de motor de enrutamiento dual.
Las aplicaciones deben ser compatibles con la versión del kernel de Linux que se ejecuta en Junos OS evolucionado para funcionar correctamente. Utilice el show version
comando para ver la versión del kernel de Linux que se está ejecutando actualmente.
Las aplicaciones escritas para Junos OS evolucionado normalmente requieren la capacidad de leer y modificar el estado de la red, enviar y recibir paquetes, y leer y modificar la configuración. Junos OS Evolved admite un número limitado de API, por lo que las aplicaciones deben configurarse teniendo en cuenta estas API.
API de aplicación
Hay dos categorías de API que usan las aplicaciones:
-
API de Linux para leer y modificar el estado de la red, y enviar y recibir paquetes.
-
API de Juniper para interactuar con el sistema.
Junos OS Evolved admite estas dos categorías de API. La Tabla 1 proporciona una vista de alto nivel del conjunto de API utilizadas por las aplicaciones:
API |
Funcionalidad |
API de socket de E/S de paquetes y Linux |
Capacidad para enviar y recibir paquetes a través de interfaces de administración y/o datos. libc estándar: enviar, recibir, escuchar, etc. |
Capacidad para usar rtnetlink para consultar el estado de la red como interfaces, rutas, etc. |
|
Capacidad para configurar dispositivos de red. |
|
Capacidad para consultar estructuras de datos del kernel utilizando interfaces estándar proporcionadas por el kernel de Linux. |
|
API de Junos |
Posibilidad de acceder a las API de Juniper en dirección norte: NetConf/JET/Telemetry. |
Para obtener más información acerca de las API de Juniper en dirección norte, consulte lo siguiente:
Advertencias de seguridad
Junos OS Evolved está diseñado desde cero teniendo en cuenta la seguridad. Los contenedores IMA y Linux ayudan a controlar el impacto en la seguridad de las aplicaciones de terceros en Junos OS Evolved, pero las aplicaciones de terceros aún tienen el potencial de introducir vulnerabilidades de seguridad a través de código malicioso.
Tenga siempre en cuenta las implicaciones de seguridad de agregar una aplicación de terceros a Junos OS evolucionado. Asegúrese de que todas las aplicaciones que agregue a Junos OS Evolved se examinen minuciosamente para detectar posibles riesgos de seguridad.
Seguridad de archivos con IMA
Los dispositivos de red que ejecutan Junos OS Evolved están protegidos por una solución de integridad denominada arquitectura de medición de integridad (IMA).
La integridad es una propiedad de seguridad fundamental que representa la confianza, la integridad y la ausencia de alteraciones. En seguridad informática, los objetivos comunes para las protecciones de integridad son los archivos del sistema operativo. Un método común para garantizar la integridad es comparar un archivo con un archivo que se sabe que es bueno.
En el contexto de Junos OS Evolved, el objetivo de seguridad es garantizar que el software que se ejecuta en un dispositivo no haya sido alterado accidental o maliciosamente. El software que se ejecuta en un dispositivo es software auténtico de Junos de Juniper Networks o software autorizado implementado por un cliente.
El modelo de amenazas para dispositivos de red incluye intentos de actores malintencionados de implementar malware que viola las políticas implícitas o explícitas de los propietarios de dispositivos. Dicho malware podría incluir puertas traseras, caballos de Troya o implantes que podrían afectar negativamente el funcionamiento seguro de dispositivos o redes. Los actores malintencionados utilizan una variedad de herramientas, técnicas y procedimientos para violar la integridad, incluidos ataques físicos, ataques locales y ataques remotos.
Muchos esquemas regulatorios imponen requisitos de integridad de archivos, incluyendo PCI-DSS - Estándar de Seguridad de Datos de la Industria de Tarjetas de Pago (Requisito 11.5), SOX - Ley Sarbanes-Oxley (Sección 404), NERC CIP - NERC CIP Standard (CIP-010-2), FISMA - Ley Federal de Gestión de Seguridad de la Información (NIST SP800-53 Rev3), HIPAA - Ley de Portabilidad y Responsabilidad del Seguro Médico de 1996 (Publicación NIST 800-66) y los Controles de Seguridad Crítica SANS (Control 3).
Para garantizar la integridad de los archivos y mitigar el riesgo de malware, Junos OS Evolved ejecuta IMA y un mecanismo complementario: el módulo de verificación extendido (EVM). Estas protecciones de código abierto son parte de un conjunto de módulos de seguridad de Linux que son estándar de la industria y consistentes con los mecanismos de confianza especificados por Trusted Computing Group.
Juniper Networks aplica firmas digitales a archivos de Junos OS Evolved y permite a los clientes aplicar firmas digitales también. Las firmas digitales se crean mediante claves privadas protegidas y, a continuación, se verifican mediante claves públicas incrustadas en uno o más llaveros.
El subsistema IMA/EVM protege el sistema realizando comprobaciones en tiempo de ejecución. Si un archivo no supera la verificación, no se abre ni se ejecuta.
Eso significa que el software no verificado está bloqueado en un dispositivo que ejecuta Junos OS Evolved.