다음을 통해 공유


IoT Edge for Linux on Windows 보안

적용 대상: IoT Edge 1.5 확인 표시 IoT Edge 1.5 IoT Edge 1.4 확인 표시 IoT Edge 1.4

Important

IoT Edge 1.5 LTS 및 IoT Edge 1.4 LTS는 지원되는 릴리스입니다. IoT Edge 1.4 LTS는 2024년 11월 12일에 수명이 종료됩니다. 이전 릴리스에 있는 경우 IoT Edge 업데이트를 참조하세요.

Azure IoT Edge for Linux on Windows는 Windows 클라이언트/서버 호스트에서 실행되는 모든 보안 제품의 이점을 활용하고 모든 추가 구성 요소가 동일한 보안 프레미스를 유지하도록 합니다. 이 문서에서는 기본적으로 사용하도록 설정되는 다양한 보안 프레미스 및 사용자가 사용하도록 설정할 수 있는 선택적 프레미스에 대한 정보를 제공합니다.

가상 머신 보안

IoT Edge for Linux(EFLOW) 큐레이팅된 가상 머신은 Microsoft CBL-Mariner를 기반으로 합니다. CBL-Mariner는 Microsoft의 클라우드 인프라 및 에지 제품과 서비스를 위한 내부 Linux 배포입니다. CBL-Mariner는 이러한 디바이스 및 서비스에 일관된 플랫폼을 제공하도록 설계되었으며 Linux 업데이트에서 최신 상태를 유지하도록 Microsoft의 기능을 향상시킵니다. 자세한 내용은 CBL-Mariner 보안을 참조하세요.

EFLOW 가상 머신은 다음과 같은 4가지 포괄적인 보안 플랫폼을 기반으로 합니다.

  1. 서비스 업데이트
  2. 읽기 전용 루트 파일 시스템
  3. 방화벽 잠금
  4. DM-Verity

서비스 업데이트

보안 취약성이 발생하면 CBL-Mariner 최신 보안 패치 및 수정 사항을 ELOW 월별 업데이트를 통해 서비스할 수 있게 합니다. 가상 머신에 패키지 관리자가 없으므로 RPM 패키지를 수동으로 다운로드하고 설치할 수 없습니다. 가상 머신에 대한 모든 업데이트는 EFLOW A/B 업데이트 메커니즘을 사용하여 설치됩니다. EFLOW 업데이트에 대한 자세한 내용은 IoT Edge for Linux on Windows 업데이트를 참조하세요.

읽기 전용 루트 파일 시스템

EFLOW 가상 머신은 두 개의 기본 파티션 rootfsdata로 구성됩니다. rootFS-A 또는 rootFS-B 파티션은 서로 교환할 수 있으며 두 파티션 중 하나는 /에서 읽기 전용 파일 시스템으로 탑재됩니다. 즉, 이 파티션 내에 저장된 파일에 대한 변경이 허용되지 않습니다. 반면에 /var 아래에 탑재된 data 파티션은 읽고 쓸 수 있으므로 사용자가 파티션 내의 콘텐츠를 수정할 수 있습니다. 이 파티션에 저장된 데이터는 업데이트 프로세스에 의해 조작되지 않으므로 업데이트 간에 수정되지 않습니다.

특정 사용 사례의 경우 /etc, /home, /root, /var에 대한 쓰기 액세스 권한이 필요할 수 있으므로 이러한 디렉터리에 대한 쓰기 액세스는 데이터 파티션, 특히 디렉터리 /var/.eflow/overlays에 오버레이하여 수행됩니다. 이에 대한 최종 결과로 사용자는 앞에서 언급한 디렉터리에 무엇이든 쓸 수 있습니다. 오버레이에 대한 자세한 내용은 overlayfs를 참조하세요.

EFLOW CR 파티션 레이아웃

파티션 크기 설명
BootEFIA 8MB 향후 GRUBless 부팅을 위한 펌웨어 파티션 A
BootA 192MB A 파티션에 대한 부팅 로더 포함
RootFS A 4GB 루트 파일 시스템을 보유하는 두 개의 활성/수동 파티션 중 하나
BootEFIB 8MB 향후 GRUBless 부팅을 위한 펌웨어 파티션 B
BootB 192MB B 파티션에 대한 부팅 로더 포함
RootFS B 4GB 루트 파일 시스템을 보유하는 두 개의 활성/수동 파티션 중 하나
로그 1GB 또는 6GB /logs 아래에 탑재된 특정 파티션 로그
데이터 2GB~2TB 업데이트 간에 영구 데이터를 저장하기 위한 상태 저장 파티션입니다. 배포 구성에 따라 확장 가능

참고 항목

파티션 레이아웃은 논리 디스크 크기를 나타내며 가상 머신이 호스트 OS 디스크에서 차지하는 물리적 공간을 나타내지 않습니다.

방화벽

기본적으로 EFLOW 가상 머신은 방화벽 구성에 iptables 유틸리티를 사용합니다. Iptables는 Linux 커널에서 IP 패킷 필터 규칙의 테이블을 설정, 유지 관리 및 검사하는 데 사용됩니다. 기본 구현은 포트 22(SSH 서비스)에서 들어오는 트래픽만 허용하고 그렇지 않으면 트래픽을 차단합니다. 다음 단계를 사용하여 iptables 구성을 확인할 수 있습니다.

  1. 승격된 PowerShell 세션 열기

  2. EFLOW 가상 머신에 연결

    Connect-EflowVm
    
  3. 모든 iptables 규칙 나열

    sudo iptables -L
    

    EFLOW iptables 기본값

확인된 부팅

EFLOW 가상 머신은 블록 디바이스의 투명한 무결성 검사를 제공하는 포함된 device-mapper-verity(dm-verity) 커널 기능을 통해 확인된 부팅을 지원합니다. dm-verity는 루트 권한을 유지하고 디바이스를 손상할 수 있는 영구 루트킷을 방지하는 데 도움이 됩니다. 이 기능은 가상 머신 기본 소프트웨어 이미지가 동일하며 변경되지 않았음을 보장합니다. 가상 머신은 dm-verity 기능을 사용하여 파일 시스템의 기본 스토리지 계층인 특정 블록 디바이스를 확인하고 예상 구성과 일치하는지 확인합니다.

기본적으로 이 기능은 가상 머신에서 사용하지 않도록 설정되며 켜거나 끌 수 있습니다. 자세한 내용은 dm-verity를 참조하세요.

신뢰할 수 있는 플랫폼 모듈(TPM)

TPM(신뢰할 수 있는 플랫폼 모듈) 기술은 하드웨어 기반의 보안 관련 기능을 제공하도록 설계되었습니다. TPM 칩은 암호화 작업을 수행 하도록 설계 하는 보안 암호화 프로세서입니다. 변조를 확인 하는 여러 물리적 보안 메커니즘을 포함 하는 해당 칩 이며 악성 소프트웨어는 TPM의 보안 기능에 손상을 입힐 수 없습니다.

EFLOW 가상 머신은 vTPM을 지원하지 않습니다. 그러나 사용자는 EFLOW 가상 머신이 Windows 호스트 OS TPM을 사용할 수 있도록 하는 TPM 통과 기능을 사용하거나 사용하지 않도록 설정할 수 있습니다. 이렇게 하면 다음 두 가지 주요 시나리오가 가능합니다.

보안 호스트 및 가상 머신 통신

EFLOW는 풍부한 PowerShell 모듈 구현을 노출하여 가상 머신과 상호 작용하는 여러 가지 방법을 제공합니다. 자세한 내용은 IoT Edge for Linux on Windows용 PowerShell 함수를 참조하세요. 이 모듈에서는 관리자 권한 세션을 실행해야 하며 Microsoft Corporation 인증서를 사용하여 서명됩니다.

Windows 호스트 운영 체제와 PowerShell cmdlet에 필요한 EFLOW 가상 머신 간의 모든 통신은 SSH 채널을 사용하여 수행됩니다. 기본적으로 가상 머신 SSH 서비스는 사용자 이름 및 암호를 통한 인증을 허용하지 않으며 인증서 인증으로 제한됩니다. 인증서는 EFLOW 배포 프로세스 중에 만들어지고 각 EFLOW 설치에 대해 고유합니다. 또한 SSH 무차별 암호 대입 공격을 방지하기 위해 가상 머신은 SSH 서비스에 분당 3개 이상의 연결을 시도하는 경우 IP 주소를 차단합니다.

EFLOW CR(연속 릴리스) 버전에서는 SSH 연결을 설정하는 데 사용되는 전송 채널의 변경 사항을 도입했습니다. 원래 SSH 서비스는 TCP 포트 22에서 실행되며, 해당 특정 포트에 대한 TCP 소켓을 사용하여 동일한 네트워크의 모든 외부 디바이스에서 액세스할 수 있습니다. 보안상의 이유로 EFLOW CR은 일반 TCP 소켓 대신 Hyper-V 소켓을 통해 SSH 서비스를 실행합니다. Hyper-V 소켓을 통한 모든 통신은 네트워킹을 사용하지 않고 Windows 호스트 OS와 EFLOW 가상 머신 간에 실행됩니다. 이렇게 하면 SSH 서비스의 액세스가 제한되어 Windows 호스트 OS로만 연결이 제한됩니다. 자세한 내용은 Hyper-V 소켓을 참조하세요.

다음 단계

Windows IoT 보안 프레미스에 대해 자세히 알아보기

최신 IoT Edge for Linux on Windows 업데이트를 사용하여 최신 상태를 유지합니다.