진화한 Junos OS 기반 타사 애플리케이션 개요
요약 Linux 컨테이너 내에서 타사 애플리케이션을 실행하거나 서명 키를 사용하여 Junos OS Evolved에서 네이티브로 실행할 수 있습니다. 애플리케이션은 주니퍼 API를 사용하여 Junos OS Evolved 시스템과 상호 작용하고 Linux API를 사용하여 네트워크 작업과 상호 작용합니다. 검증되지 않은 애플리케이션은 IMA(Integrity Measurement Architecture)라는 무결성 솔루션을 통해 방지합니다.
진화한 Junos OS 기반 타사 애플리케이션 소개
Junos OS Evolved는 Linux에서 네이티브로 실행되므로, Linux용으로 개발된 타사 애플리케이션 및 도구를 Junos OS Evolved에 통합할 수 있습니다. Linux 개발 도구는 또한 Junos OS Evolved에서 자체 애플리케이션을 생성하고 실행할 수 있는 기능을 제공합니다. 이러한 애플리케이션을 컨테이너 내에서 실행하거나 서명 키를 사용하여 디바이스에서 기본적으로 실행하도록 선택할 수 있습니다.
컨테이너에서 애플리케이션 실행
Junos OS Evolved는 Docker 컨테이너 내에서 애플리케이션 실행을 지원합니다. 컨테이너는 Junos OS Evolved에서 실행되며, 애플리케이션은 컨테이너 내부에서 실행되어 OS와 격리된 상태로 유지됩니다. 미리 빌드된 Docker 컨테이너 이미지를 사용하고 컨테이너 내에 추가 도구 및 라이브러리를 설치할 수 있습니다. 컨테이너는 Linux 워크플로를 사용하여 업그레이드할 수 있습니다.
컨테이너는 이미 Linux 애플리케이션을 실행하는 데 일반적으로 사용되는 방법이므로, 기존의 많은 타사 애플리케이션을 컨테이너 내에 구축하여 Junos OS Evolved로 쉽게 가져올 수 있습니다. 컨테이너는 격리된 특성으로 인해 Junos OS Evolved의 무결성을 손상시키지 않으면서 구축 및 제거가 용이합니다. 또한 Junos OS Evolved는 컨테이너의 리소스 사용에 기본 제한을 두어 불량 컨테이너가 시스템을 압도하지 않도록 합니다.
Docker 컨테이너 서비스는 시스템 초기화 시 자동으로 시작되지 않습니다. Docker 컨테이너 서비스에 대한 자동 시작을 사용하도록 설정하려면 Linux 셸에서 다음 명령을 입력합니다.
# systemctl enable --now docker.service
컨테이너에서 애플리케이션을 실행하는 방법에 대한 자세한 내용은 컨테이너에서 타사 애플리케이션 실행을 참조하세요
서명 키를 사용하여 응용 프로그램 네이티브 실행
타사 애플리케이션은 서명 키를 사용하여 Junos OS Evolved에서 네이티브로 실행할 수 있습니다. 서명 키를 생성하고 이를 사용하여 실행 파일 또는 공유 객체에 서명합니다. 실행 파일에 서명하면 디바이스에서 실행할 수 있는 권한이 부여되므로 신뢰할 수 있는 애플리케이션을 승인된 주니퍼 네트웍스 소프트웨어와 함께 실행하도록 승인할 수 있습니다.
서명 키는 IMA(Integrity Measurement Architecture)라는 Linux 하위 시스템에 의해 제어됩니다. IMA 정책은 파일을 실행하기 전에 수행해야 하는 작업을 정의하는 규칙으로 구성됩니다. IMA 측정 정책은 파일의 해시를 측정하고 저장하며, IMA 평가 정책은 파일에 유효한 해시 또는 디지털 서명이 있는지 확인합니다. IMA는 이 유효성 검사가 성공한 경우에만 파일 실행을 허용합니다.
Junos OS Evolved를 사용하려면 사용자가 실행을 위해 메모리에 매핑될 모든 파일에 서명해야 합니다. IMA 인증은 이러한 파일이 실수로 또는 악의적으로 변경되지 않았는지 확인하는 데 도움이 됩니다. 컨테이너와 컨테이너 내의 파일은 서명할 필요가 없습니다.
서명 키 사용에 대한 자세한 내용은 Junos OS Evolved에서 네이티브로 실행되도록 타사 애플리케이션 서명을 참조하십시오
응용 프로그램 전제 조건
타사 애플리케이션은 다음 Junos OS Evolved 릴리스에서 지원됩니다.
-
컨테이너의 애플리케이션을 위한 Junos OS Evolved 릴리스 20.1R1 이상.
-
네이티브 애플리케이션을 위한 Junos OS Evolved 릴리스 22.4R1 이상.
-
듀얼 라우팅 엔진 애플리케이션을 위한 Junos OS Evolved 릴리스 23.2R1 이상.
애플리케이션이 제대로 작동하려면 Junos OS Evolved에서 실행되는 Linux 커널 버전을 지원해야 합니다. show version
명령을 사용하여 현재 실행 중인 Linux 커널 버전을 확인합니다.
Junos OS Evolved용으로 작성된 애플리케이션은 일반적으로 네트워킹 상태를 읽고 수정하고, 패킷을 송수신하며, 구성을 읽고 수정할 수 있는 기능이 필요합니다. Junos OS Evolved는 제한된 수의 API를 지원하므로 이러한 API를 염두에 두고 애플리케이션을 구성해야 합니다.
애플리케이션 API
애플리케이션에서 사용하는 API에는 두 가지 범주가 있습니다.
-
네트워킹 상태를 읽고 수정하며 패킷을 보내고 받기 위한 Linux API.
-
시스템 상호 작용을 위한 주니퍼 API.
Junos OS Evolved는 이 두 가지 범주의 API를 지원합니다. 표 1 에서는 애플리케이션에서 사용하는 API 집합에 대한 개략적인 보기를 제공합니다.
Api |
기능 |
패킷 IO 및 Linux 소켓 API |
관리 및/또는 데이터 인터페이스를 통해 패킷을 보내고 받는 기능. 표준 libc – 보내기, 받기, 듣기 등 |
rtnetlink를 사용하여 인터페이스, 경로 등과 같은 네트워킹 상태를 쿼리할 수 있습니다. |
|
네트워크 장치를 구성하는 기능. |
|
Linux 커널에서 제공하는 표준 인터페이스를 사용하여 커널 데이터 구조를 쿼리하는 기능. |
|
Junos API |
주니퍼 노스바운드 API - NetConf/JET/Telemetry에 액세스할 수 있습니다. |
주니퍼 노스바운드 API에 대한 자세한 내용은 다음을 참조하십시오.
보안 주의 사항
Junos OS Evolved는 처음부터 보안을 염두에 두고 설계되었습니다. IMA 및 Linux 컨테이너는 Junos OS Evolved에서 타사 애플리케이션이 보안에 미치는 영향을 제어하는 데 도움이 되지만, 타사 애플리케이션은 여전히 악성 코드를 통해 보안 취약성을 도입할 가능성이 있습니다.
Junos OS Evolved에 타사 애플리케이션을 추가할 경우 보안에 미치는 영향을 항상 고려하십시오. Junos OS Evolved에 추가하는 모든 애플리케이션은 잠재적인 보안 위험에 대한 철저한 검증을 거쳐야 합니다.
IMA를 통한 파일 보안
Junos OS Evolved를 실행하는 네트워크 디바이스는 IMA(Integrity Measurement Architecture)라는 무결성 솔루션으로 보호됩니다.
무결성은 신뢰, 완전성 및 변경으로부터의 자유를 나타내는 기본적인 보안 속성입니다. 컴퓨터 보안에서 무결성 보호의 일반적인 대상은 운영 체제 파일입니다. 무결성을 보장하는 일반적인 방법은 파일을 알려진 좋은 파일과 비교하는 것입니다.
Junos OS Evolved의 맥락에서 보안 목표는 디바이스에서 실행되는 소프트웨어가 실수로 또는 악의적으로 변경되지 않도록 하는 것입니다. 디바이스에서 실행되는 소프트웨어는 주니퍼 네트웍스의 정품 Junos 소프트웨어이거나 고객이 구축한 공인 소프트웨어입니다.
네트워크 디바이스에 대한 위협 모델에는 악의적인 행위자가 디바이스 소유자의 암시적 또는 명시적 정책을 위반하는 맬웨어를 배포하려는 시도가 포함됩니다. 이러한 맬웨어에는 백도어, 트로이 목마 또는 장치 또는 네트워크의 안전한 운영을 저해할 수 있는 임플란트가 포함될 수 있습니다. 악의적인 행위자는 물리적 공격, 로컬 공격, 원격 공격 등 다양한 도구, 기술 및 절차를 사용하여 무결성을 침해합니다.
PCI-DSS - 결제 카드 산업 데이터 보안 표준(요구 사항 11.5), SOX - Sarbanes-Oxley Act(섹션 404), NERC CIP - NERC CIP 표준(CIP-010-2), FISMA - 연방 정보 보안 관리법(NIST SP800-53 Rev3), HIPAA - 1996년 건강 보험 이동성 및 책임에 관한 법률(NIST 간행물 800-66) 및 SANS 중요 보안 제어(Control 3)를 비롯한 많은 규제 체계가 파일 무결성 요구 사항을 부과합니다.
파일 무결성을 보장하고 멀웨어 위험을 완화하기 위해 Junos OS Evolved는 IMA와 동반 메커니즘인 EVM(Extended Verification Module)을 실행합니다. 이러한 오픈 소스 보호 기능은 업계 표준이며 Trusted Computing Group에서 지정한 신뢰 메커니즘과 일치하는 Linux 보안 모듈 세트의 일부입니다.
주니퍼 네트웍스는 Junos OS Evolved 파일에 디지털 서명을 적용하며 고객이 디지털 서명을 적용할 수 있도록 합니다. 디지털 서명은 보호된 개인 키를 사용하여 만든 다음 하나 이상의 키 링에 포함된 공개 키를 사용하여 확인합니다.
IMA/EVM 서브시스템은 런타임 검사를 수행하여 시스템을 보호합니다. 파일이 확인에 실패하면 열리거나 실행되지 않습니다.
즉, Junos OS Evolved를 실행하는 디바이스에서 검증되지 않은 소프트웨어가 차단됩니다.