다음을 통해 공유


IoT 솔루션에 대한 보안 모범 사례

이 개요에서는 일반적인 Azure IoT 솔루션 보안과 관련된 주요 개념을 소개합니다. 각 섹션에는 자세한 내용과 참고 자료를 제공하는 콘텐츠의 링크가 포함되어 있습니다.

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

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

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

  • 자산 보안: 데이터를 관리, 모니터링 및 수집하려는 값의 물리적 또는 가상 항목을 보호합니다.

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

  • 에지 보안: 데이터가 이동하는 동안 데이터를 보호하고 에지에 저장됩니다.

  • 클라우드 보안: 데이터가 이동하고 클라우드에 저장되는 동안 데이터를 안전하게 보호합니다.

일반적으로 에지 기반 솔루션에서는 Azure 보안 기능을 사용하여 엔드 투 엔드 작업을 보호하려고 합니다. Azure IoT Operations에는 Azure Arc 지원 Kubernetes 클러스터의 비밀 관리, 인증서 관리 및 보안 설정같은 기본 제공 보안 기능이 있습니다. Kubernetes 클러스터가 Azure에 연결되면 업계 표준 SSL을 사용하여 전송 중인 데이터를 보호하는 Azure에 대한 아웃바운드 연결이 시작되고 다음과 같은 다른 여러 보안 기능이 활성화됩니다.

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는 에지 기반 솔루션을 보호하기 위한 방어의 최전선이어야 합니다. 자세한 내용은 다음을 참조하세요.

자산 보안

  • 비밀 관리: 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 솔루션을 사용하는 것이 좋습니다.

  • 엔터프라이즈 방화벽 또는 프록시를 사용하여 아웃바운드 트래픽을 관리하는 것이 좋습니다. 엔터프라이즈 방화벽 또는 프록시를 사용하는 경우 허용 목록에 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 인증서 인프라 구성을 참조하세요.

Edge 보안

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

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

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

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

  • Azure IoT 계층화된 네트워크 관리(미리 보기)를 사용하여 격리된 네트워크 환경 구성: Azure IoT 계층화된 네트워크 관리(미리 보기)는 격리된 네트워크 환경에서 Azure와 클러스터 간의 연결을 용이하게 하는 구성 요소입니다. 산업 시나리오에서 격리된 네트워크는 ISA-95 Purdue 네트워크 아키텍처를 따릅니다./ 자세한 내용은 Azure IoT 계층화된 네트워크 관리(미리 보기)란?을 참조하세요.

클라우드 보안

  • 클라우드 연결에 사용자 할당 관리 ID 사용: 항상 관리 ID 인증을 사용합니다. 가능 하면 유연성과 감사성을 위해 데이터 흐름 엔드포인트에서 사용자 할당 관리 ID 를 사용합니다.

  • 관찰성 리소스 배포 및 로그 설정: 관찰성은 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를 사용하여 특정 범위에서 사용자, 그룹 및 애플리케이션에 권한을 할당할 수 있습니다. 자세한 내용은 자산 및 자산 엔드포인트에 대한 보안 액세스를 참조 하세요.

다음 단계

IoT 보안에 대해 자세히 알아보려면 다음을 참조하세요.