다음을 통해 공유


IoT 솔루션 보호

IoT 솔루션을 사용하면 IoT 디바이스 및 자산을 대규모로 연결, 모니터링 및 제어할 수 있습니다. 클라우드 기반 솔루션에서 디바이스 및 자산은 클라우드에 직접 연결됩니다. 에지 기반 솔루션에서 디바이스 및 자산은 에지 런타임 환경에 연결됩니다. 위협으로부터 IoT 솔루션을 보호하려면 물리적 자산 및 디바이스, 에지 인프라 및 클라우드 서비스를 보호해야 합니다. 또한 IoT 솔루션이 에지 또는 클라우드에 있는지 여부에 관계없이 IoT 솔루션을 통해 흐르는 데이터를 보호해야 합니다.

이 문서에서는 IoT 솔루션을 가장 안전하게 보호하는 방법에 대한 지침을 제공합니다. 각 섹션에는 자세한 내용과 참고 자료를 제공하는 콘텐츠의 링크가 포함되어 있습니다.

다음 다이어그램은 일반적인 엣지 기반 IoT 솔루션의 구성 요소에 대한 상위 수준의 개요를 보여줍니다. 이 문서에서는 에지 기반 IoT 솔루션의 보안에 중점을 둡니다.

보안을 강조 표시하는 상위 수준 IoT 에지 기반 솔루션 아키텍처를 보여 주는 다이어그램

에지 기반 IoT 솔루션에서 보안을 다음 네 가지 영역으로 나눌 수 있습니다.

  • 자산 보안: 온-프레미스에 배포되는 동안 IoT 자산을 보호합니다.

  • 연결 보안: 자산, 에지 및 클라우드 서비스 간의 전송 중인 모든 데이터가 기밀이고 변조 방지인지 확인합니다.

  • 에지 보안: 데이터가 이동하고 에지에 저장될 때 데이터를 안전하게 보호하세요.

  • 클라우드 보안: 이동하면서 데이터를 보호하고 클라우드에 저장됩니다.

Microsoft Defender for IoT 및 컨테이너

Microsoft Defender for IoT는 IoT 및 OT(운영 기술) 디바이스, 취약성 및 위협을 식별하기 위해 특별히 빌드된 통합 보안 솔루션입니다. 컨테이너용 Microsoft Defender는 다중 클라우드 및 온-프레미스 환경 전반에서 컨테이너화된 자산(Kubernetes 클러스터, Kubernetes 노드, Kubernetes 워크로드, 컨테이너 레지스트리, 컨테이너 이미지 등)과 해당 애플리케이션의 보안을 개선, 모니터링 및 유지 관리하는 클라우드 네이티브 솔루션입니다.

Defender for IoT와 Defender for Containers는 이 문서에 포함된 권장 사항 중 일부를 자동으로 모니터링할 수 있습니다. Defender for IoT 및 Defender for Containers는 에지 기반 솔루션을 보호하기 위한 방어의 최전선이어야 합니다. 자세한 내용은 다음을 참조하세요.

자산 보안

이 섹션에서는 IoT 솔루션의 일부인 산업용 장비, 센서 및 기타 디바이스와 같은 자산을 보호하는 방법에 대한 지침을 제공합니다. 자산의 보안은 생성하고 전송하는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.

  • Azure Key Vault 및 비밀 저장소 확장 사용: Azure Key Vault 를 사용하여 키, 암호, 인증서 및 비밀과 같은 자산의 중요한 정보를 저장하고 관리합니다. Azure IoT Operations는 Azure Key Vault를 클라우드의 관리형 자격 증명 모음 솔루션으로 사용하고, Kubernetes용 Azure Key Vault 비밀 저장소 확장을 사용하여 클라우드에서 비밀을 동기화하고 에지에 Kubernetes 비밀로 저장합니다. 자세히 알아보려면 Azure IoT 작업 배포에 대한 비밀 관리를 참조하세요.

  • 보안 인증서 관리 설정: 인증서 관리는 자산과 에지 런타임 환경 간의 보안 통신을 보장하는 데 중요합니다. Azure IoT Operations는 인증서 발급, 갱신 및 해지 등 인증서를 관리하기 위한 도구를 제공합니다. 자세한 내용은 Azure IoT Operations 내부 통신에 대한 인증서 관리를 참조 하세요.

  • 변조 방지 하드웨어 선택: 디바이스 커버 열기 또는 디바이스 부분 제거와 같은 물리적 변조를 감지하는 기본 제공 메커니즘이 있는 자산 하드웨어를 선택합니다. 이러한 변조 신호는 클라우드에 업로드된 데이터 스트림의 일부일 수 있으며 운영자에게 이러한 이벤트를 경고합니다.

  • 자산 펌웨어에 대한 보안 업데이트 사용: 자산에 대한 무선 업데이트를 사용하도록 설정하는 서비스를 사용합니다. 업데이트 도중 및 이후에 자산을 보호하기 위해 펌웨어 버전의 업데이트 및 암호화 보증을 위한 보안 경로를 사용하여 자산을 빌드합니다.

  • 자산 하드웨어를 안전하게 배포: 자산 하드웨어 배포가 가능한 한 변조 방지(특히 공용 공간 또는 감독되지 않는 로캘과 같은 안전하지 않은 위치에서)되는지 확인합니다. 필요하지 않은 경우 USB 포트를 안전하게 덮는 것과 같이 물리적 공격 표면을 최소화하기 위해 필요한 기능만 활성화하십시오.

  • 디바이스 제조업체 보안 및 배포 모범 사례를 따릅니다. 디바이스 제조업체가 보안 및 배포 지침을 제공하는 경우 이 문서의 일반 지침과 함께 해당 지침을 따릅니다.

연결 보안

이 섹션에서는 자산, 에지 런타임 환경 및 클라우드 서비스 간의 연결을 보호하는 방법에 대한 지침을 제공합니다. 연결의 보안은 전송되는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.

  • TLS(전송 계층 보안)를 사용하여 자산에서 연결을 보호합니다. Azure IoT Operations 내의 모든 통신은 TLS를 사용하여 암호화됩니다. 공격자에 대한 에지 기반 솔루션의 실수로 노출되는 것을 최소화하는 기본 보안 환경을 제공하기 위해 Azure IoT Operations는 TLS 서버 인증서에 대한 기본 루트 CA 및 발급자와 함께 배포됩니다. 프로덕션 배포의 경우 자체 CA 발급자 및 엔터프라이즈 PKI 솔루션을 사용하는 것이 좋습니다.

  • 프로덕션을 위해 사용자 고유의 CA 가져오기: 프로덕션 배포의 경우 기본 자체 서명된 루트 CA를 사용자 고유의 CA 발급자로 바꾸고 엔터프라이즈 PKI와 통합하여 신뢰와 규정 준수를 보장합니다. 자세한 내용은 Azure IoT Operations 내부 통신에 대한 인증서 관리를 참조 하세요.

  • 엔터프라이즈 방화벽 또는 프록시를 사용하여 아웃바운드 트래픽을 관리하는 것이 좋습니다. 엔터프라이즈 방화벽 또는 프록시를 사용하는 경우 허용 목록에 Azure IoT Operations 엔드포인트를 추가 합니다 .

  • 메시지 브로커의 내부 트래픽 암호화: 에지 인프라 내에서 내부 통신의 보안을 유지하는 것은 데이터 무결성 및 기밀성을 유지하는 데 중요합니다. MQTT broker 프런트 엔드와 백 엔드 Pod 간에 전송 중인 내부 트래픽 및 데이터를 암호화하도록 MQTT broker를 구성해야 합니다. 자세한 내용은 broker 내부 트래픽 및 내부 인증서의 암호화 구성을 참조 하세요.

  • MQTT Broker에서 수신기에 대한 자동 인증서 관리를 사용하여 TLS 구성: Azure IoT Operations는 MQTT Broker의 수신기에 대한 자동 인증서 관리를 제공합니다. 이 기능은 인증서를 수동으로 관리하는 관리 오버헤드를 줄이고, 적시에 갱신을 보장하며, 보안 정책 준수를 유지하는 데 도움이 됩니다. 자세한 내용은 BrokerListener를 사용하여 보안 MQTT broker 통신을 참조 하세요.

  • OPC UA 서버에 대한 보안 연결 설정: OPC UA 서버에 연결할 때 안전하게 세션을 설정하기 위해 신뢰할 수 있는 OPC UA 서버를 결정해야 합니다. 자세한 내용은 OPC UA용 커넥터에 대한 OPC UA 인증서 인프라 구성을 참조하세요.

  • 네트워크 격리 및 세그먼트: 네트워크 세분화 및 방화벽을 사용하여 IoT 작업 클러스터 및 에지 디바이스를 다른 네트워크 리소스에서 격리합니다. 엔터프라이즈 방화벽 또는 프록시를 사용하는 경우 허용 목록에 필요한 엔드포인트를 추가합니다. 자세한 내용은 프로덕션 배포 지침 – 네트워킹을 참조하세요.

Edge 보안

이 섹션에서는 에지 플랫폼에서 실행되는 소프트웨어인 에지 런타임 환경을 보호하는 방법에 대한 지침을 제공합니다. 이 소프트웨어는 자산 데이터를 처리하고 자산과 클라우드 서비스 간의 통신을 관리합니다. 에지 런타임 환경의 보안은 처리 및 전송되는 데이터의 무결성과 기밀성을 보장하는 데 중요합니다.

  • 에지 런타임 환경을 최신 상태로 유지: 사용 가능한 모든 보안 및 버그 수정을 얻으려면 최신 패치 및 부 릴리스를 사용하여 클러스터 및 Azure IoT Operations 배포를 최신 상태로 유지합니다. 프로덕션 배포의 경우 Azure Arc에 대한 자동 업그레이드를 해제 하여 클러스터에 새 업데이트가 적용되는 시기를 완전히 제어합니다. 대신 필요에 따라 에이전트를 수동으로 업그레이드합니다 .

  • 컨테이너 및 Helm 이미지의 무결성 확인: 클러스터에 이미지를 배포하기 전에 이미지가 Microsoft에서 서명되었는지 확인합니다. 자세한 내용은 이미지 서명 유효성 검사를 참조하세요.

  • 항상 MQTT broker를 사용하여 인증을 위해 X.509 인증서 또는 Kubernetes 서비스 계정 토큰을 사용합니다. MQTT 브로커는 클라이언트에 대해 여러 인증 방법을 지원합니다. BrokerAuthentication 리소스를 사용하여 자체 인증 설정을 갖도록 각 수신기 포트를 구성할 수 있습니다. 자세한 내용은 MQTT Broker 인증 구성을 참조하세요.

  • MQTT Broker에서 토픽 자산에 필요한 최소 권한 제공: 권한 부여 정책은 클라이언트가 브로커에서 수행할 수 있는 작업(예: 토픽 연결, 게시 또는 구독)을 결정합니다. BrokerAuthorization 리소스와 함께 하나 이상의 권한 부여 정책을 사용하도록 MQTT Broker를 구성합니다. 자세한 내용은 MQTT Broker 권한 부여 구성을 참조하세요.

클라우드 보안

이 섹션에서는 자산 데이터를 처리하고 저장하는 서비스인 클라우드 서비스를 보호하는 방법에 대한 지침을 제공합니다. 클라우드 서비스의 보안은 데이터의 무결성과 기밀성을 보장하는 데 매우 중요합니다.

  • 클라우드 연결에 사용자 할당 관리 ID 사용: 항상 관리 ID 인증을 사용합니다. 가능 하면 유연성과 감사성을 위해 데이터 흐름 엔드포인트에서 사용자 할당 관리 ID 를 사용합니다. 자세한 내용은 Azure IoT Operations에서 보안 설정 사용을 참조하세요.

  • 관찰성 리소스 배포 및 로그 설정: 관찰성은 Azure IoT Operations 구성의 모든 계층에 가시성을 제공합니다. 문제의 실제 동작에 대한 인사이트를 제공하여 사이트 안정성 엔지니어링의 효율성을 높입니다. Azure IoT 작업은 Azure에서 호스트되는 사용자 지정 큐레이팅된 Grafana 대시보드를 통해 가시성성을 제공합니다. 이러한 대시보드는 Azure Monitor Prometheus용 관리 서비스 및 Container Insights를 통해 제공됩니다. Azure IoT 작업을 배포하기 전에 클러스터에 관찰성 리소스 를 배포합니다.

  • Azure RBAC를 사용하여 자산 및 자산 엔드포인트에 대한 보안 액세스: Azure IoT Operations의 자산 및 자산 엔드포인트에는 Kubernetes 클러스터와 Azure Portal 모두에서 표현이 있습니다. Azure RBAC를 사용하여 이러한 리소스에 대한 액세스를 보호합니다. Azure RBAC는 Azure 리소스에 대한 액세스를 관리할 수 있는 권한 부여 시스템입니다. Azure RBAC를 사용하여 특정 범위의 사용자, 그룹 및 애플리케이션에 권한을 부여합니다. 자세한 내용은 자산 및 자산 엔드포인트에 대한 보안 액세스를 참조 하세요.