다음 다이어그램에서는 일반적인 에지 연결 IoT 솔루션의 구성 요소에 대한 개략적인 보기를 보여 줍니다. 이 문서에서는 에지 연결 IoT 솔루션의 보안에 중점을 둡니다.
에지 연결 IoT 솔루션에서 보안을 다음 네 가지 영역으로 나눌 수 있습니다.
자산 보안: 온-프레미스에 배포되는 동안 IoT 자산을 보호합니다.
연결 보안: 자산, 에지 및 클라우드 서비스 간의 전송 중인 모든 데이터가 기밀이고 변조 방지인지 확인합니다.
에지 보안: 데이터가 이동하고 에지에 저장될 때 데이터를 안전하게 보호하세요.
클라우드 보안: 이동하면서 데이터를 보호하고 클라우드에 저장됩니다.
Microsoft Defender for IoT 및 Microsoft Defender for Containers
Microsoft Defender for IoT IoT 및 OT(운영 기술) 디바이스, 취약성 및 위협을 식별하기 위해 특별히 빌드된 통합 보안 솔루션입니다. 컨테이너용 Microsoft Defender 다중 클라우드 및 온-프레미스 환경에서 컨테이너화된 자산(Kubernetes 클러스터, Kubernetes 노드, Kubernetes 워크로드, 컨테이너 레지스트리, 컨테이너 이미지 등)과 해당 애플리케이션의 보안을 개선, 모니터링 및 유지 관리하는 데 도움이 되는 클라우드 네이티브 솔루션입니다.
IoT용 Defender 및 컨테이너용 Defender 모두 이 문서에 포함된 권장 사항 중 일부를 자동으로 모니터링할 수 있습니다. Defender for IoT와 Defender for Containers는 에지 연결 솔루션을 보호하기 위한 첫 번째 방어선이 되어야 합니다. 자세한 내용은 다음을 참조하세요.
OT, IT 및 클라우드 보안 경계
Azure IoT 작업 통해 조직은 OT 자산 및 산업 데이터 원본을 클라우드 기반 관리, 분석 및 자동화 서비스에 연결할 수 있습니다.
OT 환경을 IT 및 클라우드 시스템에 연결하면 상당한 운영상의 이점을 제공하지만 기존의 보안 경계도 변경됩니다. 데이터, ID, 관리 작업 및 워크로드는 역사적으로 격리된 환경에 걸쳐 있을 수 있습니다.
Azure IoT 작업 배포를 디자인할 때 다음 원칙을 고려합니다.
- OT, IT 및 클라우드 연결 환경 간에 네트워크 구분을 적용합니다. Purdue/ISA-95 분할 토폴로지의 경우 계층화된 네트워크 배포를 사용하여 인접 계층에 대한 통신을 제한합니다.
- 사용자, 애플리케이션 및 관리 시스템에 대해 최소 권한 액세스 제어를 사용하고 보안 설정 및 관리 ID를 통해 전용 ID를 구성합니다.
- 운영 안전 프로세스에서 유효성을 검사하지 않는 한 클라우드에 연결된 운영 데이터를 정보로 처리합니다.
작업 환경 및 대시보드를 통해 라우팅되는 데이터는 모니터링에 가장 적합합니다.
- 클라우드 대시보드, 분석 또는 모니터링 보기를 안전에 중요한 또는 긴급 운영 결정에 대한 유일한 권한으로 사용하지 않습니다.
- OT 자산을 클라우드 서비스에 연결할 때 적용 가능한 업계 표준, 규정 요구 사항 및 사이트별 안전 정책을 따릅니다.
제로 트러스트 보안 원칙을 적용하면 이러한 경계를 안전하게 보호하는 데 도움이 됩니다. 즉, 항상 명시적으로 검증하고, 최소 권한 액세스를 적용하며, 침해를 가정합니다. 환경 내에서 클라우드 통합에 적합한 운영 데이터 및 제어 경로를 결정할 책임이 있습니다.
자산 보안
이 섹션에서는 IoT 솔루션의 일부인 산업용 장비, 센서 및 기타 디바이스와 같은 자산을 보호하는 방법에 대한 지침을 제공합니다. 자산의 보안은 생성하고 전송하는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.
Azure Key Vault 및 비밀 저장소 확장 사용: Azure Key Vault 사용하여 키, 암호, 인증서 및 비밀과 같은 자산에 대한 중요한 정보를 저장하고 관리합니다. Azure IoT 작업은 클라우드에서 관리형 자격 증명 모음 솔루션으로 Azure Key Vault를 사용하고, 클라우드의 비밀 정보를 동기화하여 에지에서 Kubernetes 비밀로 저장하기 위해 Kubernetes용 Azure Key Vault Secret Store 확장을 사용합니다. 자세한 내용은 Azure IoT 작업 배포에 대한 비밀 관리 참조하세요.
보안 인증서 관리 설정: 인증서 관리는 자산과 에지 런타임 환경 간의 보안 통신을 보장하는 데 중요합니다. Azure IoT 작업 인증서 발급, 갱신 및 해지 등 인증서를 관리하는 도구를 제공합니다. 자세한 내용은 Azure IoT 작업 배포에 대한 인증서 관리를 참조하세요.
변조 방지 하드웨어 선택: 디바이스 커버 열기 또는 디바이스 부분 제거와 같은 물리적 변조를 감지하는 기본 제공 메커니즘이 있는 자산 하드웨어를 선택합니다. 이러한 변조 신호는 클라우드에 업로드된 데이터 스트림의 일부일 수 있으며 운영자에게 이러한 이벤트를 경고합니다.
자산 펌웨어에 대한 보안 업데이트 사용: 자산에 대한 무선 업데이트를 사용하도록 설정하는 서비스를 사용합니다. 업데이트 도중 및 이후에 자산을 보호하기 위해 펌웨어 버전의 업데이트 및 암호화 보증을 위한 보안 경로를 사용하여 자산을 빌드합니다.
자산 하드웨어를 안전하게 배포: 자산 하드웨어 배포가 가능한 한 변조 방지(특히 공용 공간 또는 감독되지 않는 로캘과 같은 안전하지 않은 위치에서)되는지 확인합니다. 필요하지 않은 경우 USB 포트를 안전하게 덮는 것과 같이 물리적 공격 표면을 최소화하기 위해 필요한 기능만 활성화하십시오.
디바이스 제조업체 보안 및 배포 모범 사례를 따릅니다. 디바이스 제조업체가 보안 및 배포 지침을 제공하는 경우 이 문서의 일반 지침과 함께 해당 지침을 따릅니다.
연결 보안
이 섹션에서는 자산, 에지 런타임 환경 및 클라우드 서비스 간의 연결을 보호하는 방법에 대한 지침을 제공합니다. 연결의 보안은 전송되는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.
연결에 대한 Azure IoT 작업 프로덕션 배포 지침 따르기: 프로덕션 Azure IoT 작업 배포의 경우 프로덕션 배포 지침은 엔터프라이즈 PKI, MQTT broker 내부 트래픽 암호화, 자동 TLS 인증서 관리를 사용하여 사용자 고유의 CA 발급자를 가져오기 위한 자세한 구성을 제공합니다. BrokerListener 및 OPC UA 서버에 대한 보안 연결
TLS(전송 계층 보안)를 사용하여 자산에서 연결을 보호합니다. Azure IoT 작업 내의 모든 통신은 TLS를 사용하여 암호화됩니다. 공격자에 대한 에지 연결 솔루션의 실수로 노출되는 것을 최소화하는 기본 보안 환경을 제공하기 위해 Azure IoT 작업 TLS 서버 인증서에 대한 기본 루트 CA 및 발급자와 함께 배포됩니다. 프로덕션 배포의 경우 사용자 고유의 CA 발급자 및 엔터프라이즈 PKI 솔루션을 사용합니다.
네트워크 격리 및 세그먼트: 네트워크 세분화 및 방화벽을 사용하여 IoT 작업 클러스터 및 에지 디바이스를 다른 네트워크 리소스에서 격리합니다. 엔터프라이즈 방화벽 또는 프록시를 사용하는 경우 허용 목록에 필요한 엔드포인트를 추가합니다. 자세한 내용은 프로덕션 배포 지침 – 네트워킹을 참조하세요.
Edge 보안
이 섹션에서는 에지 플랫폼에서 실행되는 소프트웨어인 에지 런타임 환경을 보호하는 방법에 대한 지침을 제공합니다. 이 소프트웨어는 자산 데이터를 처리하고 자산과 클라우드 서비스 간의 통신을 관리합니다. 에지 런타임 환경의 보안은 처리 및 전송되는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.
클라우드 보안
이 섹션에서는 자산 데이터를 처리하고 저장하는 서비스인 클라우드 서비스를 보호하는 방법에 대한 지침을 제공합니다. 클라우드 서비스의 보안은 데이터의 무결성과 기밀성을 보장하는 데 매우 중요합니다.
다음 다이어그램에서는 일반적인 클라우드 연결 IoT 솔루션의 구성 요소에 대한 개략적인 보기를 보여 줍니다. 이 문서에서는 클라우드에 연결된 IoT 솔루션의 보안에 중점을 둡니다.
클라우드에 연결된 IoT 솔루션에서 보안을 다음 세 가지 영역으로 나눌 수 있습니다.
디바이스 보안: 온-프레미스에 배포되는 동안 IoT 디바이스를 보호합니다.
연결 보안: IoT 디바이스와 IoT 클라우드 서비스 간에 전송되는 모든 데이터의 기밀성과 변조 방지를 보장합니다.
클라우드 보안: 이동하면서 데이터를 보호하고 클라우드에 저장됩니다.
이 문서의 권장 사항은 공유 책임 모델에 설명된 보안 의무를 충족하는 데 도움이 됩니다.
Microsoft Defender for IoT
Microsoft Defender for IoT 이 문서의 권장 사항 중 일부를 자동으로 모니터링합니다. Microsoft Defender for IoT Azure 리소스의 보안 상태를 주기적으로 분석하여 잠재적인 보안 취약성을 식별한 다음 이를 해결하는 방법에 대한 권장 사항을 제공합니다. 자세한 내용은 다음을 참조하세요.
장치 보안
이 섹션에서는 데이터를 수집하고 전송하는 하드웨어 구성 요소인 IoT 디바이스를 보호하는 방법에 대한 지침을 제공합니다. 디바이스의 보안은 디바이스가 생성하고 전송하는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.
하드웨어의 최소 요구 사항 범위 설정: 운영에 필요한 최소한의 기능만 포함하고 그 외에는 포함하지 않도록 디바이스 하드웨어를 선택합니다. 예를 들어 솔루션에서 디바이스를 작동하기 위해 필요한 경우에만 USB 포트를 포함합니다. 추가 기능은 원치 않는 공격 벡터에 디바이스를 노출할 수 있습니다.
변조 방지 하드웨어 선택: 디바이스 커버 열기 또는 디바이스 부분 제거와 같은 물리적 변조를 감지하는 기본 제공 메커니즘이 있는 디바이스 하드웨어를 선택합니다. 운영자에게 이러한 이벤트를 알리기 위해 클라우드로 업로드되는 데이터 스트림에 이러한 변조 신호가 포함될 수 있습니다.
보안 하드웨어 선택: 가능하면 신뢰할 수 있는 플랫폼 모듈을 기반으로 하는 보안 및 암호화된 스토리지 및 부팅 기능과 같은 보안 기능을 포함하는 디바이스 하드웨어를 선택합니다. 이러한 기능을 통해 디바이스가 보다 안전해지고 전체 IoT 인프라가 보호됩니다.
보안 업데이트 사용: IoT 디바이스에 대한 무선 업데이트에 IoT Hub 디바이스 업데이트와 같은 서비스를 사용합니다. 업데이트 도중 및 이후에 디바이스를 보호하기 위해 펌웨어 버전의 업데이트 및 암호화 보증을 위한 보안 경로를 사용하여 디바이스를 빌드합니다.
보안 소프트웨어 개발 방법론 준수: 보안 소프트웨어를 개발하려면 프로젝트 시작부터 구현, 테스트 및 배포까지 처음부터 보안을 고려해야 합니다.
Microsoft Security Development Lifecycle 보안 소프트웨어를 빌드하는 단계별 접근 방식을 제공합니다.
가능하면 디바이스 SDK 사용: 디바이스 SDK는 강력하고 안전한 디바이스 애플리케이션을 개발하는 데 도움이 되는 암호화 및 인증과 같은 다양한 보안 기능을 구현합니다. 자세한 내용은 Azure IoT SDK 참조하세요.
신중하게 오픈 소스 소프트웨어 선택: 오픈 소스 소프트웨어는 솔루션을 신속하게 개발할 수 있는 기회를 제공합니다. 오픈 소스 소프트웨어를 선택하는 경우 각 오픈 소스 구성 요소에 대한 커뮤니티의 활동 수준을 고려합니다. 활발한 커뮤니티는 소프트웨어를 지원하고, 문제를 찾아서 해결합니다. 모호하고 비활성 오픈 소스 소프트웨어 프로젝트는 지원되지 않을 수 있으며 문제가 검색되지 않을 수 있습니다.
하드웨어를 안전하게 배포: IoT 배포를 수행하려면 보안되지 않은 위치(예: 공용 공간 또는 감독되지 않은 로캘)에 하드웨어를 배포해야 할 수 있습니다. 이러한 상황에서는 하드웨어 배포를 가능한 한 변조 방지로 만들고 필요한 기능만 사용하여 물리적 공격 공간을 최소화할 수 있습니다.
HSM(하드웨어 보안 모듈)에 자격 증명 저장: HSM을 사용하여 개인 키 및 인증서와 같은 디바이스 비밀을 안전하게 저장하여 추출 및 변조로부터 보호합니다. 자세한 내용은 IoT Hub X.509 인증, DPS HSM 지침 및 IoT Edge 보안 관리자 참조하세요.
디바이스 키 및 인증서를 정기적으로 회전: 무단 액세스 위험을 최소화하기 위해 자격 증명(특히 위반 또는 만료 후)을 정기적으로 회전합니다. 자세한 내용은 DPS 및 IoT Central X.509 인증서 관리에서 인증서를 롤하는 방법을 참조하세요.
업데이트 및 패치: 모든 런타임, SDK 및 OS 구성 요소를 최신 보안 패치 및 업데이트로 최신 상태로 유지합니다. 자세한 내용은 IoT Edge 업데이트 지침 참조하세요.
악의적인 활동으로부터 보호: 운영 체제에서 허용하는 경우 각 디바이스 운영 체제에 최신 바이러스 백신 및 맬웨어 방지 기능을 설치합니다.
자주 감사: 보안 문제에 대한 IoT 인프라를 감사하여 보안 인시던트에 대응할 수 있도록 합니다. 대부분의 운영 체제는 기본 제공 이벤트 로깅을 제공합니다. 로그를 자주 검토하여 보안 위반을 확인합니다. 디바이스는 감사 정보를 분석할 수 있는 클라우드 서비스에 별도의 데이터 스트림으로 보낼 수 있습니다.
디바이스 제조업체 보안 및 배포 모범 사례를 따릅니다. 디바이스 제조업체가 보안 및 배포 지침을 제공하는 경우 이 문서의 일반 지침과 함께 해당 지침을 따릅니다.
필드 게이트웨이를 사용하여 레거시 또는 제한된 디바이스에 대한 보안 서비스를 제공합니다. 레거시 및 제한된 디바이스에는 데이터를 암호화하거나 인터넷에 연결하거나 고급 감사를 제공하는 기능이 부족할 수 있습니다. 이러한 경우 최신 및 보안 필드 게이트웨이는 레거시 디바이스의 데이터를 집계하고 인터넷을 통해 이러한 디바이스를 연결하는 데 필요한 보안을 제공할 수 있습니다.
IoT Edge 디바이스를 게이트웨이로 사용할 수 있으며 보안 인증, 암호화된 세션 협상, 클라우드에서 명령 수신 및 기타 많은 보안 기능을 제공할 수 있습니다.
Azure Sphere 신뢰할 수 있는 연결을 위해 설계되지 않은 기존 레거시 시스템을 포함하여 다른 디바이스를 보호하는 보호 모듈 역할을 할 수 있습니다.
미사용 데이터 암호화: 디바이스 및 에지 스토리지에 대해 Windows BitLocker와 같은 OS 수준 암호화를 사용하여 디바이스가 손실되거나 도난당한 경우 데이터를 보호합니다. 자세한 내용은 IoT Edge 보안 참조하세요.
연결 보안
이 섹션에서는 IoT 디바이스와 클라우드 서비스 간의 연결을 보호하는 방법에 대한 지침을 제공합니다. 연결의 보안은 전송되는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.
X.509 인증서를 사용하여 IoT Hub 또는 IoT Central에 디바이스를 인증합니다. IoT Hub 및 IoT Central은 디바이스 인증을 위해 X.509 인증서를 지원합니다. 대칭 키보다 더 큰 보안을 제공하기 때문에 프로덕션 환경에서 X.509 기반 인증을 사용합니다. 자세한 내용은 IoT Hub에 디바이스 인증 및 IoT Central의 디바이스 인증 개념을 참조하세요.
공유 대칭 키 방지: 대칭 키를 사용하는 경우 디바이스 간에 대칭 키를 공유하지 마세요. 키가 유출되는 경우 광범위한 손상을 방지하기 위해 각 디바이스에 고유한 자격 증명이 필요합니다. 자세한 내용은 디바이스 제조업체에 대한 보안 사례를 참조하세요.
TLS(전송 계층 보안) 1.2를 사용하여 디바이스로부터 연결을 보호합니다: IoT Hub 및 IoT Central은 TLS를 사용하여 IoT 디바이스 및 서비스에서 연결을 보호합니다. IoT Hub TLS 1.0, 1.1 및 1.2를 지원합니다. TLS 1.0 및 1.1은 레거시이므로 피해야 합니다. 자세한 내용은 Transport Layer Security(TLS) 지원(IoT Hub 및 Azure IoT Hub DPS(Device Provisioning Service)의 TLS 지원 참조하세요.
강력한 암호 그룹을 사용하고 루트 CA 인증서를 최신 상태로 유지합니다. 암호화 도구 모음 및 신뢰할 수 있는 루트 인증서를 정기적으로 업데이트하여 보안 연결을 유지합니다. 자세한 내용은 IoT Hub TLS 지원 참조하세요.
디바이스에서 TLS 루트 인증서를 업데이트하는 방법이 있는지 확인합니다. TLS 루트 인증서는 오래 지속되지만 만료되거나 해지될 수 있습니다. 디바이스에서 인증서를 업데이트할 수 없는 경우 디바이스가 나중에 IoT Hub, IoT Central 또는 다른 클라우드 서비스에 연결하지 못할 수 있습니다. 자세한 내용은 X.509 디바이스 인증서를 롤하는 방법을 참조 하세요.
Azure Private Link 사용하는 것이 좋습니다. Azure Private Link IoT Hub의 공용 디바이스 연결 엔드포인트에 대한 액세스를 차단할 수 있도록 디바이스를 가상 네트워크의 프라이빗 엔드포인트에 연결할 수 있습니다. 자세한 내용은 Azure Private Link를 사용하여 IoT Hub에 대한 Ingress 연결 및 프라이빗 엔드포인트를 사용하는 IoT Central의 네트워크 보안을 참조하세요.
네트워크 액세스 제한: IP 필터링을 사용하여 신뢰할 수 있는 원본 및 네트워크에 대한 액세스를 제한합니다. 자세한 내용은 IoT Hub IP 필터링, IoT Central 프라이빗 엔드포인트 및 DPS IP 필터링 참조하세요.
필요하지 않은 경우 공용 네트워크 액세스 사용 안 함: 가능하면 공용 엔드포인트를 사용하지 않도록 설정하여 공용 인터넷에 대한 노출을 방지합니다. 자세한 내용은 IoT Hub 공용 네트워크 액세스 및 DPS 공용 네트워크 액세스 참조하세요.
보안 네트워크 세그먼트에서 에지 디바이스 및 서비스를 격리: 네트워크 세분화 및 방화벽을 사용하여 다른 네트워크 리소스에서 IoT Edge 디바이스 및 서비스를 격리합니다. 자세한 내용은 Windows 보안에 대한 Linux용 IoT Edge 참조하세요.
클라우드 보안
이 섹션에서는 IoT 디바이스 데이터를 처리하고 저장하는 서비스인 클라우드 서비스를 보호하는 방법에 대한 지침을 제공합니다. 클라우드 서비스의 보안은 데이터의 무결성과 기밀성을 보장하는 데 매우 중요합니다.
보안 소프트웨어 개발 방법론 준수: 보안 소프트웨어를 개발하려면 프로젝트 시작부터 구현, 테스트 및 배포까지 처음부터 보안을 고려해야 합니다.
Microsoft Security Development Lifecycle 보안 소프트웨어를 빌드하는 단계별 접근 방식을 제공합니다.
신중하게 오픈 소스 소프트웨어 선택: 오픈 소스 소프트웨어는 솔루션을 신속하게 개발할 수 있는 기회를 제공합니다. 오픈 소스 소프트웨어를 선택할 때 각 오픈 소스 구성 요소에 대한 커뮤니티의 활동 수준을 고려해야 합니다. 활발한 커뮤니티는 소프트웨어를 지원하고, 문제를 찾아서 해결합니다. 모호하고 비활성 오픈 소스 소프트웨어 프로젝트는 지원되지 않을 수 있으며 문제가 검색되지 않을 수 있습니다.
신중하게 통합: 소프트웨어 보안 결함의 상당수가 라이브러리 및 API 경계에 존재합니다. 현재 배포에 필요하지 않은 기능은 API 계층을 통해 계속 사용할 수 있습니다. 전반적인 보안을 보장하려면 통합 구성 요소의 모든 인터페이스에서 보안 결함을 확인합니다.
클라우드 자격 증명 보호: 공격자는 IoT 배포를 구성하고 운영하는 데 사용하는 클라우드 인증 자격 증명을 사용하여 IoT 시스템에 액세스하고 손상시킬 수 있습니다. 암호를 자주 변경하여 자격 증명을 보호하고 공유 또는 관리되지 않는 컴퓨터에서 이러한 자격 증명을 사용하지 마세요.
IoT Hub: 서비스 및 관리 API 액세스에 Microsoft Entra ID 및 Azure RBAC를 사용하여 세분화된 ID 기반 액세스 제어를 사용하도록 설정합니다. 자세한 내용은 IoT Hub Entra ID 인증 및 DPS Entra ID 인증 참조하세요.
필요하지 않은 경우 공유 액세스 정책 사용 안 함: 공유 액세스 정책 및 토큰이 필요하지 않은 경우 사용하지 않도록 설정하여 공격 노출 영역을 줄입니다. 자세한 내용은 IoT Hub 공유 액세스 정책 참조하세요.
IoT Central 애플리케이션에 대한 액세스 제어 정의: IoT Central 애플리케이션에 대해 활성화하는 액세스 유형을 이해하고 정의합니다. 자세한 내용은 다음을 참조하세요.
백 엔드 서비스에 대한 액세스 제어 정의: 다른 Azure 서비스는 디바이스에서 IoT Hub 또는 IoT Central 애플리케이션이 수집하는 데이터를 사용할 수 있습니다. 디바이스에서 다른 Azure 서비스로 메시지를 라우팅할 수 있습니다. 이러한 서비스에 연결하기 위해 IoT Hub 또는 IoT Central에 대한 적절한 액세스 권한을 이해하고 구성합니다. 자세한 내용은 다음을 참조하세요.
필요한 최소 권한만 부여합니다. 사용자, 앱 및 디바이스에 역할 및 권한을 할당할 때 최소 권한 원칙을 적용합니다. 자세한 내용은 ID 관리 모범 사례를 참조하세요.
클라우드에서 IoT 솔루션 모니터링: Azure Monitor의 IoT Hub 메트릭을 사용하거나 IoT Central 애플리케이션 상태 모니터링을 통해 IoT 솔루션의 전체 상태를 모니터링합니다.
진단 설정: 솔루션에서 이벤트를 로깅하여 작업을 모니터링한 다음 진단 로그를 Azure Monitor 보냅니다. 자세한 내용은 IoT 허브에서 문제 모니터링 및 진단을 참조하세요.