Microsoft Azure

다운로드 25
업데이트 2024. 10. 1.

설치 매뉴얼

개요

애저(Azure)는 마이크로소프트의 클라우드 컴퓨팅 플랫폼입니다. 퍼블릭 클라우드는 모든 자산이 인터넷에 존재하고, 클라우드 리소스가 수시로 변동되기 때문에 보안 운영에 더욱 주의를 기울여야 합니다.

애저는 보안 운영에 필요한 리소스 변동 및 서비스 로그를 이벤트 허브(Event Hubs)를 통해 제공합니다. 이벤트 허브는 대량의 데이터를 수집, 변환, 저장하고 실시간으로 스트리밍 처리할 수 있도록 돕는 서비스입니다. 그 외에, API 사용을 감사할 수 있는 활동 로그(Activity Log), 성능 등 주요 지표를 관리할 수 있는 메트릭(Metric)을 제공하고, API를 통해 클라우드 리소스의 목록과 설정을 관리할 수 있도록 지원합니다.

로그프레소는 이벤트 허브와 애저 API를 이용하는 앱을 통해 클라우드의 컴플라이언스 모니터링을 통합할 수 있도록 지원합니다.

작업자가 알아야 할 것

작업자는 애저가 제공하는 서비스를 이해하고 있으며, 직접 필요한 서비스를 설정할 수 있어야 합니다. 설치 과정의 대부분은 애저에서 Micorosoft Azure 앱이 API 또는 Event Hubs를 이용하는데 필요한 권한과 통신 설정에 관한 것입니다.

사전 준비

Microsoft Entra에 Logpresso 앱 등록

Azure 포탈에 로그인한 후 Microsoft Azure 앱이 Azure 접속 프로파일을 이용해 연결할 수 있도록 Logpresso 앱을 등록합니다. 이 앱은 로그프레소 스토어에서 내려받아 설치할 Microsoft Azure 앱이 애저 클라우드와 통신을 수행하는데 필요합니다.

  1. Microsoft Entra ID 서비스로 이동하세요(G + / 단축 키를 누른 후 "Entra"를 입력하면 서비스를 찾을 수 있습니다).

    Microsft Entra ID 서비스 검색

  2. 관리 > 앱 등록에서 새 등록 버튼을 클릭하세요.

    Microsoft Entra ID의 앱 등록 화면에서 새 등록 버튼을 클릭

  3. 앱의 이름을 입력하고, 운영 환경에 맞춰 지원되는 계정 유형을 선택하세요. 모두 설정한 후 등록 버튼을 클릭하세요.

    Microsoft Entra ID의 앱 등록 화면

  4. 앱 이름 Logpresso를 클릭한 다음, 애플리케이션(클라이언트) ID, 디렉터리(테넌트) ID 두 가지 속성을 확인하고 안전한 곳에 기록해 보관하세요. 애플리케이션(클라이언트) ID, 디렉터리(테넌트) ID는 Azure 접속 프로파일을 설정할 때 필요합니다.

    등록한 앱의 클라이언트/테넌트 ID 확인

Logpresso 앱 설정

이제 Microsoft Azure 앱이 애저 클라우드와 통신할 수 있도록 Logpresso 앱의 통신용 암호 및 API, 앱의 액세스 제어를 설정할 차례입니다. 아래 내용은 Logpresso 앱 화면에서 수행할 작업들입니다.

클라이언트 암호
  1. 관리 > 인증서 및 암호에서 새 클라이언트 암호를 클릭한 후 클라이언트 암호 추가 패널에서 추가 버튼을 클릭하세요.

    앱의 인증서 및 암호 화면에서 새 클라이언트 암호 버튼 클릭

    • 설명은 생략해도 괜찮습니다.

    • 만료 시간은 조직의 보안정책에 따라 필요한 기간을 지정하세요.

      Note
      암호가 만료되면 Microsoft Azure 앱이 애저 클라우드에 연결할 수 없으므로 만료 시간이 도래하기 전에 알림을 받을 수 있도록 알람을 설정해둘 수 있도록 설정해두는 게 좋습니다. 암호가 만료되기 전에 새 암호를 생성하고, Azure 접속 프로파일에 새 암호를 적용하세요.
    • 은 암호 문자열입니다. 이 화면을 벗어나면 다시 조회할 수 없으므로 암호를 안전한 곳에 기록해 보관하세요. 암호는 Azure 접속 프로파일을 설정할 때 필요합니다.

      앱 클라이언트의 암호 생성 및 확인

API 사용 권한

관리 > API 사용 권한에서 Logpresso 앱이 사용할 API 권한을 설정합니다. 필요한 API는 Azure Key Vault, Azure Service Management 두 가지입니다.

  1. Logpresso | API 사용 권한 화면에서 권한 추가 버튼을 클릭하세요.

  2. API 사용 권한 요청 패널에서 Azure Key Vault(또는 Azure Service Management) 카드를 클릭하세요.

  3. 위임된 권한, user_impersonation을 클릭한 후 권한 추가 버튼을 클릭하세요.

  4. 같은 방법으로 Azure Service Management API에 대해 동일한 권한을 추가하세요.

  5. ...에 대한 관리자 동의 허용 버튼을 클릭해 Logpresso 앱에 필요한 모든 권한을 부여하세요. 다음 그림과 같이 상태 값이 변경되어 있으면 정상적으로 설정된 것입니다.

구독 ID 확인

Microwsoft Azure 앱을 등록할 구독의 ID를 확인해야 합니다.

  1. 홈 > 구독 서비스로 이동하세요(G + / 단축 키를 누른 후 "서비스"를 입력하면 서비스를 찾을 수 있습니다).

    구독 서비스 검색

  2. 구독은 여러 개가 있을 수 있습니다. 조회되는 구독 정보 중에서 Microsoft Azure 앱을 연결할 구독 ID를 확인하고 안전한 곳에 기록해 보관하세요. 구독 ID는 Azure 접속 프로파일을 설정할 때 필요합니다.

    구독을 선택

액세스 제어(IAM)

Logpresso 앱에 적용할 액세스 제어를 설정합니다.

  1. 구독 이름 > 액세스 제어(IAM) 화면으로 이동하세요(아래 스크린샷에서는 종량제(S.Pin)가 구독 이름입니다).

  2. 역할 할당 탭 화면에서 추가를 클릭하여 아래 화면과 같이 Logpresso 앱에 독자 역할을 추가하세요.

    앱에 역할 할당

Event Hubs 설정

방화벽 Outbound 규칙

방화벽 아웃바운드 규칙 설정이 필요한 경우 다음 문서를 참고해 허용 규칙을 설정하세요.

Event Hubs 네임스페이스

이벤트 수집 대상 리소스를 관리하는데 필요한 네임스페이스를 구성합니다.

  1. Event Hubs 서비스로 이동하세요(G + / 단축 키를 누른 후 "Event Hubs"를 입력하면 서비스를 찾을 수 있습니다).

    Event Hubs 검색

  2. Event Hubs 화면에서 만들기 버튼을 클릭하세요. 아래 화면을 참고해 네임스페이스를 생성하세요.

    Event Hubs 화면에서 만들기 버튼을 클릭

  3. 다음 그림을 참고해 네임스페이스를 생성하세요.

    네임스페이스 만들기

Event Hubs 엔터티
  1. 생성된 logpresso-eventhubs 네임스페이스에서 엔터티 > Event Hubs로 이동하세요.

  2. 로그 수집 대상 서비스로부터 로그를 수신할 이벤트 허브가 필요합니다. 이벤트 허브 버튼을 클릭해 다음과 같이 4개의 이벤트 허브를 추가하세요. 엔터티의 이름은 관리자가 임의로 지정할 수 있습니다.

    엔터티의 이름은 관리자가 임의로 지정할 수 있습니다. 설치 가이드에서는 편의 상 아래와 같은 엔터티 이름을 사용하겠습니다.

    • activity-logs: Azure 감사 로그 처리용 엔터티
    • azure-ad-logs: Microsoft Entra ID 로그 처리용 엔터티
    • firewall_logs: Azure Firewall 로그 처리용 엔터티
    • waf_logs: Azure WAF 로그 처리용 엔터티
  3. 다음 그림을 참고해 이벤트 허브 만들기 화면에서 이름을 입력하고, 나머지 속성은 운영 환경에 필요한 만큼 선택/입력한 다음 검토 + 만들기, 만들기 버튼을 클릭하세요. 마지막으로 만들기 버튼을 클릭하면 이벤트 허브가 logpresso-eventhubs 네임스페이스에 추가됩니다.

엔터티별 공유 액세스 정책

이제 엔터티별로 로그프레소의 Microsoft Azure 앱이 접속 프로파일을 구성할 때 필요한 공유 액세스 정책을 구성하는 단계입니다.

Note
공유 액세스 정책은 네임스페이스의 전역 공유 액세스 정책이 아니라, 엔터티 단위의 공유 액세스 정책을 지정해야 합니다.

여기서는 activity-logs 엔터티를 대상으로 설명합니다만, 이전에 생성한 4개의 엔터티 모두에서 동일한 작업을 수행하세요.

  1. logpresso-eventhubs 네임스페이스에서 엔터티 > Event Hubs에서 엔터티의 이름을 클릭하세요.

  2. 엔터티 화면에서 설정 > 공유 액세스 정책으로 이동한 다음, 추가 버튼을 클릭하세요.

  3. SAS 정책 추가 패널에서 정책 이름을 지정하고, 수신 대기를 선택한 다음, 만들기 버튼을 클릭하세요.

  4. 생성된 공유 액세스 정책을 클릭하여 연결 문자열 - 기본 키를 복사한 다음 안전한 곳에 기록해 보관하세요. 이 정보는 Azure Event Hubs 접속 프로파일을 생성할 때 필요합니다.

    공유 액세스 정책

  5. 이전에 생성한 4개의 엔터티 모두에서 동일한 작업을 수행하세요.

서비스별 진단 설정

이 단계에서는 각 서비스에서 생성되는 로그를 Event Hubs에 구성한 엔터티에 전송하도록 설정합니다. 여기서 사용되는 이벤트 허브 정책 이름은 Event Hubs에 구성한 네임스페이스의 전역 공유 액세스 정책인 RootManageSharedAccessKey입니다. 이전 단계에서 구성한 엔터티별 공유 액세스 정책은 로그프레소 소나의 접속 프로파일에서 사용되므로 혼동하지 않기를 바랍니다.

Entra ID 진단 설정

Entra ID 화면에서 모니터링 > 진단 설정 메뉴로 이동한 다음, 진단 설정 추가 버튼을 클릭하세요.

  • 진단 설정 화면에서 이벤트 허브로 스트림 전송할 로그를 선택하세요.
  • 이벤트 허브로의 스트림 항목을 체크한 다음, 구독, 이벤트 허브 네임스페이스, 이벤트 허브 정책 이름 속성을 선택하세요.
  • 모두 지정한 다음 저장 버튼을 클릭하세요.

Entra ID의 진단 설정

Azure Firewall 진단 설정

Azure Firewall 화면에서 진단 설정을 구성할 방화벽을 선택한 다음, 모니터링 > 진단 설정 메뉴에서 진단 설정 추가 버튼을 클릭하세요.

  • 진단 설정 화면에서 이벤트 허브로 스트림 전송할 로그를 선택하세요.
  • 이벤트 허브로의 스트림 항목을 체크한 다음, 구독, 이벤트 허브 네임스페이스, 이벤트 허브 정책 이름 속성을 선택하세요.
  • 모두 지정한 다음 저장 버튼을 클릭하세요.

Azure Firewall의 진단 설정

애플리케이션 게이트웨이 진단 설정

애플리케이션 게이트웨이 화면에서 진단 설정을 구성할 방화벽을 선택하세요. 모니터링 > 진단 설정 메뉴로 이동한 다음, 진단 설정 추가 버튼을 클릭하세요.

  • 진단 설정 화면에서 이벤트 허브로 스트림 전송할 로그를 선택하세요.
  • 이벤트 허브로의 스트림 항목을 체크한 다음, 구독, 이벤트 허브 네임스페이스, 이벤트 허브 정책 이름 속성을 선택하세요.
  • 모두 지정한 다음 저장 버튼을 클릭하세요.

Application Gateway의 진단 설정

활동 로그 진단 설정

활동 로그모니터 서비스에서 확인할 수 있습니다. 모니터 > 활동 로그 메뉴로 이동한 다음, 진단 설정 버튼을 클릭하세요. 진단 설정 화면에서 진단 설정 추가 버튼을 클릭하세요.

  • 진단 설정 화면에서 이벤트 허브로 스트림 전송할 로그를 선택하세요.
  • 이벤트 허브로의 스트림 항목을 체크한 다음, 구독, 이벤트 허브 네임스페이스, 이벤트 허브 정책 이름 속성을 선택하세요.
  • 모두 지정한 다음 저장 버튼을 클릭하세요.

활동 로그의 진단 설정

접속 프로파일 설정

이 문서를 참고해 접속 프로파일을 추가하세요.

Azure 접속 프로파일

Azure 접속 프로파일 설정 화면

다음은 접속 프로파일 설정 중 필수 입력 항목입니다.

  • 이름: 접속 프로파일을 식별할 고유한 이름
  • 식별자: 로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
  • 유형: Azure 선택
  • 구독 ID: Azure 구독 식별 ID
  • 클라이언트 ID: Entra ID에 등록한 앱의 클라이언트 ID
  • 테넌트 ID: Azure의 테넌트 ID
Azure Event Hubs 접속 프로파일

Azure Event Hubs 접속 프로파일은 Event Hubs에 있는 엔터티 갯수만큼 모두 4개 필요합니다.

Azure Event Hubs 접속 프로파일 설정 화면

다음은 접속 프로파일 설정 중 필수 입력 항목입니다.

  • 이름: 접속 프로파일을 식별할 고유한 이름
  • 식별자: Azure에서 로그 및 메트릭 수집에 사용할 접속 프로파일의 고유 식별자
  • 유형: Azure Event Hubs 선택
  • 연결 문자열: Event Hub에 등록한 엔터티별 공유 액세스 정책의 연결 문자열 - 기본키에 정의된 값. 엔터티마다 값이 다릅니다.

수집기 설정

Microsoft Azure 앱은 네 가지의 수집기가 필요합니다. 이 문서를 참고해 수집기를 추가하세요.

Caution
테이블의 이름은 앱에 사전 정의된 이름입니다. 다른 이름으로 지정하지 마십시오.

Azure Activity Logs 수집 설정

Azure Activity Logs 수집기 설정

다음은 필수 입력 항목입니다.

  • 이름: 수집기를 식별할 고유한 이름
  • 주기: 5초
  • 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
  • 수집 모델: Azure Activity Logs 선택
  • 테이블: AZURE_ACTIVITY_LOGS 선택
  • 접속 프로파일: 접속 프로파일 구성 시 입력한 식별자

Azure Firewall 수집 설정

Azure Firewall 수집기 설정

다음은 필수 입력 항목입니다.

  • 이름: 수집기를 식별할 고유한 이름
  • 주기: 5초
  • 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
  • 수집 모델: Azure Firewall 선택
  • 테이블: AZURE_FIREWALL_LOGS 선택
  • 접속 프로파일: 접속 프로파일 구성 시 입력한 식별자

Azure WAF 수집 설정

Azure WAF 수집기 설정

다음은 필수 입력 항목입니다.

  • 이름: 수집기를 식별할 고유한 이름
  • 주기: 5초
  • 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
  • 수집 모델: Azure WAF 선택
  • 테이블: AZURE_WAF_LOGS 선택
  • 접속 프로파일: 접속 프로파일 구성 시 입력한 식별자

Microsoft Entra ID 수집 설정

Microsoft Entra ID 수집기 설정

다음은 필수 입력 항목입니다.

  • 이름: 수집기를 식별할 고유한 이름
  • 주기: 5초
  • 적재 위치/수집 위치: 로그프레소 플랫폼 구성에 따라 적합한 노드 선택
  • 수집 모델: Microsoft Entra ID 선택
  • 테이블: MS_ENTRA_ID_LOGS 선택
  • 접속 프로파일: 접속 프로파일 구성 시 입력한 식별자