Splunk에 Security Command Center 데이터 전송

이 페이지에서는 Security Command Center 발견 항목, 애셋, 감사 로그, 보안 소스를 Splunk로 자동 전송하는 방법을 설명합니다. 또한 내보낸 데이터를 관리하는 방법도 설명합니다. Splunk는 소스 하나 이상에서 보안 데이터를 수집하고 보안팀에서 이슈 대응을 관리하고 실시간 분석을 수행할 수 있게 해주는 보안 정보 및 이벤트 관리(SIEM) 플랫폼입니다.

이 가이드에서는 필요한 Security Command Center 및 Google Cloud 서비스가 올바르게 구성되었는지 확인하고 Splunk가 Security Command Center 환경의 발견 항목, 감사 로그, 애셋 정보에 액세스하도록 Splunk를 사용 설정해야 합니다.

시작하기 전에

이 가이드에서는 다음 중 하나를 사용한다고 가정합니다.

인증 및 승인 구성

Splunk에 연결하려면 먼저 연결하려는 각 Google Cloud 조직에 Identity and Access Management(IAM) 서비스 계정을 만들고 이 계정에 Splunk용 Google SCC 부가기능에 필요한 조직 수준 및 프로젝트 수준 IAM 역할을 모두 부여해야 합니다.

서비스 계정 만들기 및 IAM 역할 부여

다음 단계에서는 Google Cloud 콘솔을 사용합니다. 다른 방법은 이 섹션의 끝에 있는 링크를 참조하세요.

Security Command Center 데이터를 가져오려는 각 Google Cloud 조직에 대해 다음 단계를 완료합니다.

  1. Pub/Sub 주제를 만드는 동일한 프로젝트에서 Google Cloud 콘솔의 서비스 계정 페이지를 사용하여 서비스 계정을 만듭니다. 자세한 내용은 서비스 계정 만들기 및 관리를 참조하세요.
  2. 서비스 계정에 다음 역할을 부여합니다.

    • Pub/Sub 편집자(roles/pubsub.editor)
  3. 방금 만든 서비스 계정의 이름을 복사합니다.

  4. Google Cloud 콘솔에서 프로젝트 선택기를 사용하여 조직 수준으로 전환합니다.

  5. 조직의 IAM 페이지를 엽니다.

    IAM으로 이동

  6. IAM 페이지에서 액세스 권한 부여를 클릭합니다. 액세스 권한 부여 패널이 열립니다.

  7. 액세스 권한 부여 패널에서 다음 단계를 완료합니다.

    1. 새 주 구성원 필드의 주 구성원 추가 섹션에서 서비스 계정의 이름을 붙여넣습니다.
    2. 역할 할당 섹션에서 역할 필드를 사용하여 다음 IAM 역할을 서비스 계정에 부여합니다.

      • 보안 센터 관리자 편집자(roles/securitycenter.adminEditor)
      • 보안 센터 알림 구성 편집자(roles/securitycenter.notificationConfigEditor)
      • 조직 뷰어(roles/resourcemanager.organizationViewer)
      • Cloud 애셋 뷰어(roles/cloudasset.viewer)
    3. 저장을 클릭합니다. 보안 계정이 주 구성원별 보기 아래 IAM 페이지의 권한 탭에 표시됩니다.

      또한 상속을 통해 서비스 계정이 조직의 모든 하위 프로젝트에서 주 구성원이 되고, 프로젝트 수준에서 적용 가능한 역할이 상속된 역할로 나열됩니다.

서비스 계정 만들기 및 역할 부여에 대한 자세한 내용은 다음 주제를 참조하세요.

Splunk에 사용자 인증 정보 제공

Splunk 호스팅 위치에 따라 Splunk에 IAM 사용자 인증 정보를 제공하는 방법이 달라집니다.

알림 구성

Security Command Center 데이터를 가져오려는 각 Google Cloud 조직에 대해 다음 단계를 완료합니다.

Splunk를 구성하려면 이 태스크의 조직 ID, Pub/Sub 주제 이름, Pub/Sub 구독 이름이 필요합니다.

  1. 다음 단계를 포함하는 Pub/Sub의 발견 항목 알림 사용 설정:

    1. Security Command Center API를 사용 설정합니다.
    2. 세 가지 Pub/Sub 주제를 만듭니다.

      • 발견 항목 주제
      • 애셋 주제
      • 감사 로그 주제
    3. Security Command Center에서 발견 항목에 대해 notificationConfig를 만듭니다. notificationConfig는 지정한 필터를 기반으로 Security Command Center 발견 항목을 Pub/Sub로 내보냅니다.

  2. 프로젝트에서 Cloud Asset API를 사용 설정합니다.

  3. 애셋에 대해 피드를 만듭니다. 리소스용 피드와 Identity and Access Management(IAM) 정책용 피드를 포함해서 2개의 피드를 동일한 Pub/Sub 주제에 만들어야 합니다.

    • 애셋의 Pub/Sub 주제는 발견 항목에 사용되는 것과 달라야 합니다.
    • 리소스 피드의 경우 다음 필터를 사용합니다.

      content-type=resource

    • IAM 정책 피드에 대해 다음 필터를 사용합니다.

      content-type=iam-policy --asset-types="cloudresourcemanager.googleapis.com/Project"

  4. 감사 로그에 대해 대상 싱크를 만듭니다. 이 통합에는 Pub/Sub 주제가 대상으로 사용됩니다.

Splunk용 Google SCC 앱 및 Splunk용 Google SCC 부가기능 설치

이 섹션에서는 Splunk용 Google SCC 앱과 Splunk용 Google SCC 부가기능을 설치합니다. Security Command Center에서 유지보수하는 이러한 앱은 Security Command Center API 호출 예약 프로세스를 자동화하고 Splunk에서 사용할 Security Command Center 데이터를 정기적으로 검색하고 Splunk에서 Security Command Center 데이터를 볼 수 있도록 대시보드를 설정합니다.

앱을 설치하려면 Splunk 웹 인터페이스에 액세스해야 합니다.

분산형 Splunk 배포가 있으면 다음과 같이 앱을 설치합니다.

  • Splunk 헤비 포워더와 Splunk 검색 헤드에 Splunk용 Google SCC 앱을 설치합니다.
  • Splunk 검색 헤드에 Splunk용 Google SCC 부가기능을 설치합니다.

설치를 완료하려면 다음을 수행합니다.

  1. Splunk 웹 인터페이스에서 톱니바퀴 아이콘으로 이동합니다.

  2. 앱 관리 > 더 많은 앱 찾아보기를 선택합니다.

  3. 다음 앱을 검색하여 설치합니다.

    • Splunk용 Google SCC 부가기능
    • Splunk용 Google SCC 앱

두 앱 모두 앱 목록에 표시됩니다. Splunk를 Google Cloud에 연결하여 앱을 구성합니다.

Splunk용 Google SCC 앱 및 Splunk용 Google SCC 부가기능 업그레이드

  1. 모든 기존 입력을 사용 중지합니다.

    1. Splunk 웹 인터페이스에서 앱 > Splunk용 Google SCC 부가기능을 클릭합니다.

    2. 입력 탭을 선택합니다.

    3. 입력마다 작업 > 사용 중지를 클릭합니다.

  2. 색인이 생성된 Security Command Center 데이터를 삭제합니다. 앱을 삭제하기 전에 Splunk CLI 정리 명령어를 사용하여 앱에서 색인이 생성된 데이터를 삭제할 수 있습니다.

  3. 업그레이드를 수행합니다.

    1. Splunk 웹 인터페이스에서 톱니바퀴 아이콘으로 이동합니다.

    2. 앱 관리 > 더 많은 앱 찾아보기를 선택합니다.

    3. 다음 앱을 검색하여 업그레이드합니다.

      • Splunk용 Google SCC 부가기능
      • Splunk용 Google SCC 앱
    4. 메시지가 표시되면 Splunk를 다시 시작합니다.

  4. 각각의 새 Google Cloud 조직에 대해 Splunk를 Google Cloud에 연결 섹션을 완료합니다.

  5. Security Command Center 데이터 입력 추가에 설명된 대로 새 입력을 만듭니다.

Splunk를 Google Cloud에 연결

이 태스크를 완료하려면 Splunk에 admin_all_objects 기능이 있어야 합니다.

  1. Amazon Web Services 또는 Microsoft Azure에 Splunk를 설치한 경우 다음을 수행합니다.

    1. 터미널 창을 엽니다.

    2. Splunk용 Google SCC 앱 디렉터리로 이동합니다.

      cd $SPLUNK_HOME$/etc/apps/TA_GoogleSCC/local/
      
    3. 텍스트 편집기에서 ta_googlescc_settings.conf를 엽니다.

      sudo vim ta_googlescc_settings.conf
      
    4. 파일 끝에 다음 줄을 추가합니다.

      [additional_parameters]
      scheme = http
      
    5. 저장하고 파일을 닫습니다.

    6. Splunk 플랫폼을 다시 시작합니다.

  2. Splunk 웹 인터페이스에서 앱 > Splunk용 Google SCC 부가기능 > 구성 > Google SCC 계정을 클릭합니다.

  3. 구성 탭을 선택합니다.

  4. 추가를 클릭합니다.

  5. 표시되는 필드에 따라 다음 중 하나를 수행합니다.

    • 서비스 계정 JSON 필드가 표시되면 서비스 계정 키가 포함된 JSON 파일을 찾습니다. 이 필드는 Splunk를 온프레미스에서 사용하는 경우에 표시됩니다.

    • 사용자 인증 정보 구성 필드가 표시되면 워크로드 아이덴티티 제휴를 설정할 때 다운로드한 사용자 인증 정보 구성 파일을 찾습니다. Microsoft Azure 또는 AWS에서 Splunk를 호스팅하는 경우에 이 필드가 표시됩니다.

    Google Cloud에 Splunk를 배포하거나 1단계를 완료하면 서비스 계정 구성이 자동으로 감지됩니다.

  6. 조직 필드에 Google Cloud 조직 ID를 추가합니다.

  7. 프록시 서버를 사용하여 Splunk를 Google Cloud와 연결하는 경우 다음을 수행합니다.

    1. 프록시 탭을 클릭합니다.
    2. 사용 설정을 선택합니다.
    3. 프록시 유형(HTTPS, SOCKS4 또는 SOCKS5)을 선택합니다.
    4. 프록시 호스트 이름, 포트, 선택적으로 사용자 이름과 비밀번호를 추가합니다.
  8. 로깅 탭에서 부가기능의 로깅 수준을 선택합니다.

  9. 저장을 클릭합니다.

  10. 통합하려는 각 Google Cloud 조직에 대해 2~9단계를 완료합니다.

Security Command Center 데이터 입력 추가에 설명된 대로 Google Cloud 조직의 데이터 입력을 만듭니다.

Security Command Center 데이터 입력 추가

  1. Splunk 웹 인터페이스에서 앱 > Splunk용 Google SCC 부가기능을 클릭합니다.

  2. 입력 탭을 선택합니다.

  3. 새 입력 만들기를 클릭합니다.

  4. 입력 중 하나를 선택합니다.

    • 소스 입력
    • 발견 항목 입력
    • 애셋 입력
    • 감사 로그 입력
  5. 수정 아이콘을 클릭합니다.

  6. 다음 정보를 입력합니다.

    필드 설명
    입력 이름 데이터 입력 기본 이름
    간격 데이터 호출 간 대기 시간(초)
    색인 Security Command Center 데이터가 전달되는 Splunk 색인
    애셋 구독 ID 애셋 입력에 한해 리소스에 대한 Pub/Sub 구독 이름
    감사 로그 구독 ID 감사 로그 입력에 한해 감사 로그의 Pub/Sub 구독 이름
    발견 항목 구독 ID 발견 항목 입력에 한해 발견 항목의 Pub/Sub 구독 이름
    최대 가져오기 한 번의 호출로 가져올 수 있는 최대 애셋 수

  7. 업데이트를 클릭합니다.

  8. 추가하려는 입력마다 3~7단계를 반복합니다.

  9. 통합하려는 각 Google Cloud 조직에 대해 3~8단계를 반복합니다.

  10. 상태 행에서 Splunk에 전달할 데이터 입력을 사용 설정합니다.

Splunk 색인 업데이트

기본 Splunk 색인을 사용하지 않는 경우에 이 태스크를 완료합니다.

  1. Splunk 웹 인터페이스에서 설정 > 고급 검색 > 검색 매크로를 클릭합니다.
  2. Splunk용 Google SCC 앱을 선택합니다.
  3. googlescc_index를 선택합니다.
  4. 색인을 사용하려면 index=main을 업데이트합니다.
  5. 저장을 클릭합니다.

Splunk에서 Security Command Center 데이터 보기

  1. Splunk 웹 인터페이스에서 앱 > Splunk용 Google SCC 부가기능을 클릭합니다.

  2. 검색 탭을 선택합니다.

  3. 검색어를 설정합니다(예: index="main").

  4. 기간을 선택합니다.

  5. 검색 아이콘을 클릭합니다.

  6. 필요에 따라 소스 유형(소스, 애셋, 감사 로그, IAM 애셋, 발견 항목 중 하나)별로 데이터를 필터링합니다.

대시보드 보기

Splunk용 Google SCC 앱을 사용하면 Security Command Center에서 데이터를 시각화할 수 있습니다. 여기에는 개요, 소스, 발견 항목, 애셋, 감사 로그, 검색이라는 대시보드 5개가 포함됩니다.

Splunk 웹 인터페이스의 앱 > Splunk용 Google SCC 앱 페이지에서 이러한 대시보드에 액세스할 수 있습니다.

개요 대시보드

개요 대시보드에는 심각도 수준, 카테고리, 상태에 따라 조직에서 총 발견 항목 수를 표시하는 일련의 차트가 포함되어 있습니다. 발견 항목은 Security Health Analytics, Web Security Scanner, Event Threat Detection, Container Threat Detection과 같은 Security Command Center의 기본 제공 서비스와 사용자가 사용 설정하는 모든 통합 서비스로부터 컴파일됩니다.

콘텐츠를 필터링하려면 기간과 조직 ID를 설정하면 됩니다.

추가 차트에는 발견 항목을 가장 많이 생성하는 카테고리, 프로젝트, 애셋이 표시됩니다.

애셋 대시보드

애셋 대시보드에는 가장 최근에 만들거나 수정한 Google Cloud 애셋 1,000개의 테이블이 표시됩니다. 테이블에는 애셋 이름, 애셋 유형, 리소스 소유자, 최종 업데이트 시간이 표시됩니다.

기간, 조직 ID, 애셋 유형에 따라 애셋 데이터를 필터링할 수 있습니다. SCC로 리디렉션 열에서 보기를 클릭하면 Google Cloud 콘솔의 Security Command Center 애셋 페이지로 리디렉션되고 선택한 애셋의 세부정보가 표시됩니다.

감사 로그 대시보드

감사 로그 대시보드에는 감사 로그 정보를 보여주는 일련의 차트와 테이블이 표시됩니다. 대시보드에 포함된 감사 로그는 관리자 활동, 데이터 액세스, 시스템 이벤트, 정책 거부 감사 로그입니다. 테이블에는 시간, 로그 이름, 심각도, 서비스 이름, 리소스 이름, 리소스 유형이 포함됩니다.

기간, 조직 ID, 로그 이름을 기준으로 데이터를 필터링할 수 있습니다.

발견 항목 대시보드

발견 항목 대시보드에는 최근 발견 항목 1,000개의 테이블이 포함됩니다. 테이블 열에는 카테고리, 애셋 이름, 소스 이름, 보안 표시, 발견 항목 클래스, 심각도와 같은 항목이 포함됩니다.

시간 범위, 조직 ID, 카테고리, 심각도, 소스 이름, 애셋 이름, 프로젝트 이름 또는 발견 항목 클래스를 기준으로 데이터를 필터링할 수 있습니다. 또한 상태 업데이트 열에서 발견 항목 상태를 업데이트할 수 있습니다. 발견 항목 검토 중임을 표시하려면 활성으로 표시를 클릭합니다. 발견 항목을 검토하지 않으면 비활성으로 표시를 클릭합니다.

발견 항목 이름을 클릭하면 Google Cloud 콘솔의 Security Command Center 발견 항목 페이지로 리디렉션되고 선택한 발견 항목의 세부정보가 표시됩니다.

소스 대시보드

소스 대시보드에는 모든 보안 소스의 테이블이 표시됩니다. 테이블 열에는 이름, 표시 이름, 설명이 포함됩니다.

콘텐츠를 필터링하려면 기간을 설정하면 됩니다.

앱 제거

Splunk용 Security Command Center 데이터를 더 이상 검색하지 않으려면 앱을 제거합니다.

  1. Splunk 웹 인터페이스에서 앱 > 앱 관리로 이동합니다.

  2. Google SCC App for Splunk을 검색합니다.

  3. 상태 열에서 중지를 클릭합니다.

  4. Google SCC Add-on for Splunk을 검색합니다.

  5. 상태 열에서 중지를 클릭합니다.

  6. 원하는 경우 색인이 생성된 Security Command Center 데이터를 삭제합니다. 앱을 삭제하기 전에 Splunk CLI 정리 명령어를 사용하여 앱에서 색인이 생성된 데이터를 삭제할 수 있습니다.

  7. Splunk 독립형 환경에서 다음을 수행합니다.

    1. 터미널을 열고 Splunk에 로그인합니다.

    2. $SPLUNK_HOME/etc/apps/APPNAME에서 앱과 디렉터리를 삭제합니다.

      ./splunk remove app APPNAME -auth USERNAME:PASSWORD
      

      APPNAMEGoogleSCCAppforSplunk 또는 TA_GoogleSCC로 바꿉니다.

    3. 다른 앱에 대해 b단계를 반복합니다.

    4. 필요한 경우 $SPLUNK_HOME/etc/users/*/GoogleSCCAppforSplunk$SPLUNK_HOME/etc/users/*/TA_GoogleSCC에 있는 파일을 삭제하여 사용자별 디렉터리를 삭제합니다.

    5. Splunk 플랫폼을 다시 시작합니다.

  8. 분산형 Splunk 환경에서 다음을 수행합니다.

    1. 배포자 관리자에 로그인합니다.
    2. $SPLUNK_HOME/etc/apps/APPNAME에서 앱과 디렉터리를 삭제합니다.

      ./splunk remove app APPNAME -auth USERNAME:PASSWORD
      

      APPNAMEGoogleSCCAppforSplunk 또는 TA_GoogleSCC로 바꿉니다.

    3. 다른 앱에 대해 b단계를 반복합니다.

    4. splunk apply shcluster-bundle 명령어를 실행합니다.

      splunk apply shcluster-bundle -target URI:MANAGEMENT_PORT -auth USERNAME:PASSWORD
      

다음 단계