Share via


OT 센서에서 프록시 설정 구성

이 문서는 Microsoft Defender for IoT를 통한 OT 모니터링을 위한 배포 경로를 설명하는 일련의 문서 중 하나이며, OT 센서에서 프록시 설정을 구성하여 Azure에 연결하는 방법을 설명합니다.

Diagram of a progress bar with Deploy your sensors highlighted.

다음과 같은 경우 이 단계를 건너뛸 수 있습니다.

필수 조건

이 문서에 설명된 단계를 수행하려면 다음 항목이 필요합니다.

이 단계는 배포 및 연결 팀에서 수행합니다.

OT 센서에서 프록시 설정 구성

이 섹션에서는 OT 센서 콘솔에서 기존 프록시에 대한 설정을 구성하는 방법을 설명합니다. 아직 프록시가 없는 경우 다음 절차를 사용하여 프록시를 구성합니다.

OT 센서에서 프록시 설정을 정의하려면:

  1. OT 센서에 로그인하고 시스템 설정 > 센서 네트워크 설정을 선택합니다.

  2. 프록시 사용 옵션을 토글하여 켜고 프록시 서버에 대해 다음 세부 정보를 입력합니다.

    • 프록시 호스트
    • 프록시 포트
    • 프록시 사용자 이름(선택 사항)
    • 프록시 암호(선택 사항)

    예시:

    Screenshot of the proxy setting page.

  3. 관련된 경우 클라이언트 인증서를 선택하여 SSL/TLS 프록시 서버에 액세스하기 위한 프록시 인증 인증서를 업로드합니다.

    참고 항목

    Zscaler 및 Palo Alto Prisma와 같은 서비스를 사용하는 경우와 같이 SSL/TLS 트래픽을 검사하는 프록시 서버에는 클라이언트 SSL/TLS 인증서가 필요합니다.

  4. 저장을 선택합니다.

Azure 프록시 설정

다음과 같은 상황에서 Azure 프록시를 사용하여 센서를 Defender for IoT에 연결할 수 있습니다.

  • 센서와 Azure 간의 프라이빗 연결이 필요합니다.
  • 사이트가 ExpressRoute를 통해 Azure에 연결되어 있습니다.
  • 사이트가 VPN을 통해 Azure에 연결되어 있습니다.

프록시가 이미 구성된 경우 계속하여 직접 센서 콘솔에서 프록시 설정을 정의합니다.

아직 프록시를 구성하지 않은 경우 이 섹션의 절차를 사용하여 Azure VNET에서 프록시를 설정합니다.

필수 조건

시작하기 전에 다음이 있는지 확인합니다.

  • 로그 모니터링을 위한 Log Analytics 작업 영역

  • Azure VNET에 대한 원격 사이트 연결

  • 센서에서 Defender for IoT에 필요한 각 엔드포인트로 향하는 포트 443의 아웃바운드 HTTPS 트래픽 자세한 내용은 클라우드 관리를 위한 OT 센서 프로비전을 참조하세요.

  • Microsoft 클라우드 서비스에 액세스할 수 있는 방화벽 권한이 있는 프록시 서버 리소스. 이 문서에서 설명하는 절차는 Azure에서 호스팅되는 Squid 서버를 사용합니다.

Important

IoT용 Microsoft Defender는 Squid 또는 기타 프록시 서비스에 대한 지원을 제공하지 않습니다. 프록시 서비스를 설정하고 유지 관리하는 것은 고객의 책임입니다.

센서 프록시 설정 구성

이 섹션에서는 OT 센서와 함께 사용할 Azure VNET의 프록시를 구성하는 방법을 설명하며, 다음 단계가 포함됩니다.

  1. NSG 로그용 스토리지 계정 정의
  2. 가상 네트워크 및 서브넷 정의
  3. 가상 또는 로컬 네트워크 게이트웨이 정의
  4. 네트워크 보안 그룹 정의
  5. Azure 가상 머신 확장 집합 정의
  6. Azure Load Balancer 만들기
  7. NAT Gateway 구성

1단계: NSG 로그에 대한 스토리지 계정 정의

Azure Portal에서 다음 설정으로 새 스토리지 계정을 만듭니다.

지역 설정
기본 사항 성능: 표준
계정 종류: Blob Storage
복제: LRS
네트워크 연결 방법: 공용 엔드포인트(선택된 네트워크)
가상 네트워크에서: 없음
라우팅 기본 설정: Microsoft 네트워크 라우팅
데이터 보호 모든 옵션을 선택 취소한 상태로 유지
고급 모든 기본값 유지

2단계: 가상 네트워크 및 서브넷 정의

다음 VNET 및 포함된 서브넷을 만듭니다.

이름 권장 크기
MD4IoT-VNET /26 또는 /25(베스천 포함)
서브넷:
- GatewaySubnet /27
- ProxyserverSubnet /27
- AzureBastionSubnet(선택 사항) /26

3단계: 가상 또는 로컬 네트워크 게이트웨이 정의

온-프레미스 네트워크를 Azure에 연결하는 방법에 따라 가상 게이트웨이용 VPN 또는 ExpressRoute 게이트웨이를 만들거나 로컬 게이트웨이를 만듭니다.

이전에 만든 GatewaySubnet 서브넷에 게이트웨이를 연결합니다.

자세한 내용은 다음을 참조하세요.

4단계: 네트워크 보안 그룹 정의

  1. NSG를 만들고 다음 인바운드 규칙을 정의합니다.

    • 센서(원본)에서 부하 분산 장치의 개인 IP 주소(대상)로의 트래픽을 허용하는 규칙 100을 만듭니다. 포트 tcp3128을 사용합니다.

    • 65001 시스템 규칙의 복제본으로 4095 규칙을 만듭니다. 이는 65001 규칙이 4096 규칙에 의해 덮어쓰여지기 때문입니다.

    • 마이크로 세분화에 대한 모든 트래픽을 거부하는 규칙 4096을 만듭니다.

    • 선택 사항. 베스천을 사용하는 경우 서버에 베스천 SSH를 허용하는 규칙 4094를 만듭니다. 베스천 서브넷을 원본으로 사용합니다.

  2. 이전에 만든 ProxyserverSubnet에 NSG를 할당합니다.

  3. NSG 로깅을 정의합니다.

    1. 새 NSG를 선택한 다음 진단 설정 > 진단 설정 추가를 선택합니다.

    2. 진단 설정의 이름을 입력합니다. 범주에서 allLogs를 선택합니다.

    3. Log Analytics 작업 영역으로 전송을 선택한 다음 사용할 Log Analytics 작업 영역을 선택합니다.

    4. NSG 흐름 로그를 보내도록 선택한 후 다음 값을 정의합니다.

      기본 사항 탭에서:

      • 의미 있는 이름을 입력합니다.
      • 이전에 만든 스토리지 계정을 선택합니다.
      • 필요한 보존 날짜 정의

      구성 탭에서:

      • 버전 2 선택
      • 트래픽 분석 사용을 선택합니다.
      • Log Analytics 작업 영역 선택

5단계: Azure 가상 머신 확장 집합 정의

Azure 가상 머신 확장 집합을 정의하여 부하 분산된 가상 머신 그룹을 만들고 관리합니다. 여기에서 필요에 따라 가상 머신 수를 자동으로 늘리거나 줄일 수 있습니다.

자세한 내용은 가상 머신 확장 집합이란 무엇인가요?를 참조하세요.

센서 연결에 사용할 확장 집합을 만들려면 다음을 수행합니다.

  1. 다음 매개 변수 정의를 사용하여 확장 집합을 만듭니다.

    • 오케스트레이션 모드: 균일
    • 보안 형식: 표준
    • 이미지: Ubuntu Server 18.04 LTS - Gen1
    • 크기: Standard_DS1_V2
    • 인증: 회사 표준에 따라

    디스크 설정의 기본값을 유지합니다.

  2. 이전에 만든 Proxyserver 서브넷에 네트워크 인터페이스를 만들지만 아직 부하 분산 장치를 정의하지 마세요.

  3. 다음과 같이 배율 설정을 정의합니다.

    • 초기 인스턴스 수를 1로 정의합니다.
    • 조정 정책을 수동으로 정의합니다.
  4. 다음 관리 설정을 정의합니다.

    • 업그레이드 모드의 경우 자동 - 인스턴스가 업그레이드를 시작함을 선택합니다.
    • 부팅 진단 사용 안 함
    • IDMicrosoft Entra ID에 대한 설정 지우기
    • 오버프로비전을 선택합니다.
    • 자동 OS 업그레이드 사용을 선택합니다.
  5. 다음 상태 설정을 정의합니다.

    • 애플리케이션 상태 모니터링 사용을 선택합니다.
    • TCP 프로토콜과 포트 3128을 선택합니다.
  6. 고급 설정에서 확산 알고리즘최대 확산으로 정의합니다.

  7. 사용자 지정 데이터 스크립트의 경우 다음을 수행합니다.

    1. 사용 중인 포트 및 서비스에 따라 다음 구성 스크립트를 만듭니다.

      # Recommended minimum configuration:
      # Squid listening port
      http_port 3128
      # Do not allow caching
      cache deny all
      # allowlist sites allowed
      acl allowed_http_sites dstdomain .azure-devices.net
      acl allowed_http_sites dstdomain .blob.core.windows.net
      acl allowed_http_sites dstdomain .servicebus.windows.net
      acl allowed_http_sites dstdomain .download.microsoft.com
      http_access allow allowed_http_sites
      # allowlisting
      acl SSL_ports port 443
      acl CONNECT method CONNECT
      # Deny CONNECT to other unsecure ports
      http_access deny CONNECT !SSL_ports
      # default network rules
      http_access allow localhost
      http_access deny all
      
    2. 스크립트 파일의 내용을 base-64로 인코딩합니다.

    3. 인코딩된 파일의 내용을 복사한 후 다음 구성 스크립트를 만듭니다.

      #cloud-config
      # updates packages
      apt_upgrade: true
      # Install squid packages
      packages:
       - squid
      run cmd:
       - systemctl stop squid
       - mv /etc/squid/squid.conf /etc/squid/squid.conf.factory
      write_files:
      - encoding: b64
        content: <replace with base64 encoded text>
        path: /etc/squid/squid.conf
        permissions: '0644'
      run cmd:
       - systemctl start squid
       - apt-get -y upgrade; [ -e /var/run/reboot-required ] && reboot
      

6단계: Azure Load Balancer 만들기

Azure Load Balancer는 해시 기반 배포 알고리즘을 사용하여 정상적인 가상 머신 인스턴스 간에 들어오는 트래픽을 분산하는 계층 4 Load Balancer입니다.

자세한 내용은 Azure Load Balancer 설명서를 참조하세요.

센서 연결을 위한 Azure Load Balancer를 만들려면 다음을 수행합니다.

  1. 표준 SKU 및 내부 형식으로 부하 분산 장치를 만들어 부하 분산 장치가 인터넷에 연결되지 않도록 합니다.

  2. 이전에 만든 proxysrv 서브넷에서 동적 프런트 엔드 IP 주소를 정의하고 가용성을 영역 중복으로 설정합니다.

  3. 백 엔드의 경우 이전에서 만든 가상 머신 확장 집합을 선택합니다.

  4. 센서에 정의된 포트에서 프런트 엔드 IP 주소를 백 엔드 풀과 연결하는 TCP 부하 분산 규칙을 만듭니다. 기본 포트는 3128입니다.

  5. 새 상태 프로브를 만들고 포트 3128에서 TCP 상태 프로브를 정의합니다.

  6. 부하 분산 장치 로깅을 정의합니다.

    1. Azure Portal에서 만든 부하 분산 장치로 이동합니다.

    2. 진단 설정>진단 설정 추가를 선택합니다.

    3. 의미 있는 이름을 입력하고 범주를 allMetrics로 정의합니다.

    4. Log Analytics 작업 영역으로 전송을 선택한 다음 Log Analytics 작업 영역을 선택합니다.

7단계: NAT Gateway 구성

센서 연결을 위해 NAT Gateway를 구성하려면:

  1. 새 NAT Gateway를 만듭니다.

  2. 발신 IP 탭에서 새 공용 IP 주소 만들기를 선택합니다.

  3. 서브넷 탭에서 이전에 만든 ProxyserverSubnet 서브넷을 선택합니다.

이제 프록시가 완전히 구성되었습니다. OT 센서에서 프록시 설정을 정의하여 계속합니다.

프록시 체인을 통해 연결

다음과 같은 상황에서 프록시 연결을 사용하여 Azure의 Defender for IoT에 센서를 연결할 수 있습니다.

  • 센서가 OT 네트워크에서 클라우드로 연결하려면 프록시가 필요합니다.
  • 여러 센서가 단일 지점을 통해 Azure에 연결되기를 원합니다.

프록시가 이미 구성된 경우 계속하여 직접 센서 콘솔에서 프록시 설정을 정의합니다.

아직 프록시를 구성하지 않은 경우 이 섹션의 절차를 사용하여 프록시 연결을 구성합니다.

자세한 내용은 프록시 체인을 사용한 프록시 연결을 참조하세요.

필수 조건

시작하기 전에 사이트 네트워크 내에서 프록시 프로세스를 실행하는 호스트 서버가 있는지 확인합니다. 프록시 프로세스는 센서와 체인의 다음 프록시 모두에 액세스할 수 있어야 합니다.

오픈 소스 Squid 프록시를 사용하여 이 절차의 유효성을 검사했습니다. 이 프록시는 연결을 위해 HTTP 터널링 및 HTTP CONNECT 명령을 사용합니다. CONNECT 명령을 지원하는 다른 프록시 연결 연결을 이 연결 방법에 사용할 수 있습니다.

Important

IoT용 Microsoft Defender는 Squid 또는 기타 프록시 서비스에 대한 지원을 제공하지 않습니다. 프록시 서비스를 설정하고 유지 관리하는 것은 고객의 책임입니다.

프록시 연결 구성

이 절차에서는 Ubuntu 서버에서 최신 버전의 Squid를 사용하여 센서와 IoT용 Defender 간의 연결을 설치하고 구성하는 방법을 설명합니다.

  1. 각 센서에서 프록시 설정을 정의합니다.

    1. OT 센서에 로그인하고 시스템 설정 > 센서 네트워크 설정을 선택합니다.

    2. 프록시 사용 옵션을 켜고 프록시 호스트, 포트, 사용자 이름 및 암호를 정의합니다.

  2. Squid 프록시 설치:

    1. 프록시 Ubuntu 컴퓨터에 로그인하고 터미널 창을 실행합니다.

    2. 시스템을 업데이트하고 Squid를 설치합니다. 예시:

      sudo apt-get update
      sudo apt-get install squid
      
    3. Squid 구성 파일을 찾습니다. 예를 들어 /etc/squid/squid.conf 또는 /etc/squid/conf.d/에서 텍스트 편집기에서 파일을 엽니다.

    4. Squid 구성 파일에서 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS 텍스트를 검색합니다.

    5. acl <sensor-name> src <sensor-ip>http_access allow <sensor-name>을 파일에 추가합니다. 예시:

      # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
      acl sensor1 src 10.100.100.1
      http_access allow sensor1
      

      센서에 대한 줄을 추가하여 필요에 따라 더 많은 센서를 추가합니다.

    6. 시작 시 시작하도록 Squid 서비스를 구성합니다. 다음을 실행합니다.

      sudo systemctl enable squid
      
  3. IoT용 Defender에 프록시를 연결합니다. 센서에서 Defender for IoT에 필요한 각 엔드포인트로의 아웃바운드 HTTPS 트래픽이 포트 443에서 허용되는지 확인합니다.

    자세한 내용은 클라우드 관리를 위한 OT 센서 프로비전을 참조하세요.

이제 프록시가 완전히 구성되었습니다. OT 센서에서 프록시 설정을 정의하여 계속합니다.

다중 클라우드 환경에 대한 연결 설정

이 섹션에서는 하나 이상의 퍼블릭 클라우드에 배포된 센서에서 Azure의 IoT용 Defender에 센서를 연결하는 방법을 설명합니다. 자세한 내용은 다중 클라우드 연결을 참조하세요.

필수 조건

시작하기 전에 AWS 또는 Google Cloud와 같은 퍼블릭 클라우드에 센서가 배포되어 있고 SPAN 트래픽을 모니터링하도록 구성되어 있는지 확인합니다.

다중 클라우드 연결 방법 선택

다음 순서도를 사용하여 사용할 연결 방법을 결정합니다.

Flow chart to determine which connectivity method to use.

  • 개인 IP 주소를 사용하여 데이터를 교환할 필요가 없는 경우 인터넷을 통해 공용 IP 주소 사용

  • 다음 항목이 필요하지 않은 경우에만 인터넷을 통해 사이트 간 VPN을 사용합니다.

    • 예측 가능한 처리량
    • SLA
    • 대용량 데이터 전송
    • 공용 인터넷을 통한 연결 피하기
  • 예측 가능한 처리량, SLA, 대용량 데이터 전송이 필요하거나 공용 인터넷을 통한 연결을 피하려면 ExpressRoute를 사용합니다.

    이 경우 다음과 같습니다.

    • 연결하는 라우터를 소유하고 관리하려면 고객 관리 라우팅과 함께 ExpressRoute를 사용합니다.
    • 연결하는 라우터를 소유하고 관리할 필요가 없는 경우 Cloud Exchange 공급자와 함께 ExpressRoute를 사용합니다.

구성

  1. Azure 클라우드 채택 프레임워크 권장 방법 중 하나를 사용하여 클라우드에 연결하도록 센서를 구성합니다. 자세한 내용은 다른 클라우드 공급자에 연결을 참조하세요.

  2. VPC와 IoT용 Defender 간의 프라이빗 연결을 사용하도록 설정하려면 VPN 연결을 통해 VPC를 Azure VNET에 연결합니다. 예를 들어 AWS VPC에서 연결하는 경우 TechCommunity 블로그: 관리 솔루션만 사용하여 Azure와 AWS 간에 VPN을 만드는 방법을 참조하세요.

  3. VPC 및 VNET을 구성한 후 OT 센서에서 프록시 설정을 정의합니다.

다음 단계

OT 센서에서 온-프레미스 사용자를 관리하고 SNMP를 통해 센서 상태 모니터링을 설정하기 위해 Active Directory 연결을 구성하는 것이 좋습니다.

배포 중에 이러한 설정을 구성하지 않으면 나중에 반환하고 구성할 수도 있습니다. 자세한 내용은 다음을 참조하세요.