Docker를 사용하여 Elastic Stack에 Security Command Center 데이터 전송

이 페이지에서는 Docker 컨테이너를 사용해서 Elastic Stack 설치를 호스팅하고 Security Command Center 발견 항목, 애셋, 감사 로그, 보안 소스를 Elastic Stack으로 자동 전송하는 방법을 설명합니다. 또한 내보낸 데이터를 관리하는 방법도 설명합니다.

Docker는 컨테이너에서 애플리케이션을 관리하기 위한 플랫폼입니다. Elastic Stack은 하나 이상의 소스로부터 데이터를 수집하고 보안 팀의 이슈 대응 관리 및 실시간 분석 수행을 도와주는 보안 정보 및 이벤트 관리(SIEM) 플랫폼입니다. 이 가이드에서 설명하는 Elastic Stack 구성에는 4가지 구성요소가 포함됩니다.

  • Filebeat: 가상 머신(VM)과 같이 데이터 수집 및 전달을 위해 구성할 수 있고 에지 호스트에 설치되는 경량형 에이전트입니다.
  • Logstash: 데이터를 수집하고 이를 필요한 필드에 매핑하고 결과를 Elasticsearch로 전달하는 변환 서비스입니다.
  • Elasticsearch: 데이터를 저장하는 검색 데이터베이스 엔진입니다.
  • Kibana: 데이터를 시각화하고 분석할 수 있게 해주는 대시보드를 지원합니다.

이 가이드에서는 Docker를 설정하고, 필요한 Security Command Center 및 Google Cloud 서비스가 올바르게 구성되었는지 확인하고 커스텀 모듈을 사용해서 발견 항목, 애셋, 감사 로그, 보안 소스를 Elastic Stack으로 전송합니다.

다음 그림은 Security Command Center에서 Elastic Stack을 사용할 때의 데이터 경로를 보여줍니다.

Security Command Center 및 Elastic Stack 통합(확대하려면 클릭)
Security Command Center 및 Elastic Stack 통합(확대하려면 클릭)

인증 및 승인 구성

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

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

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

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

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

    • Pub/Sub 관리자(roles/pubsub.admin)
    • 클라우드 애셋 소유자(roles/cloudasset.owner)
  3. 방금 만든 서비스 계정의 이름을 복사합니다.

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

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

    IAM으로 이동

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

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

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

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

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

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

Elastic Stack에 사용자 인증 정보 제공

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

알림 구성

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

  1. 다음과 같이 발견 항목 알림을 설정합니다.

    1. Security Command Center API를 사용 설정합니다.
    2. 발견 항목과 애셋을 내보내는 필터를 만듭니다.
    3. 발견 항목, 리소스, 감사 로그, 애셋마다 하나씩 총 4개의 Pub/Sub 주제를 만듭니다. NotificationConfig에는 개발자가 발견 항목에 대해 만든 Pub/Sub 주제가 사용되어야 합니다.

    Elastic Stack을 구성하려면 이 태스크에서 만든 조직 ID, 프로젝트 ID, Pub/Sub 주제 이름이 필요합니다.

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

Docker 및 Elasticsearch 구성요소 설치

다음 단계에 따라 사용자 환경에 Docker 및 Elasticsearch 구성요소를 설치합니다.

Docker Engine 및 Docker Compose 설치

온프레미스에서 또는 클라우드 제공업체를 사용하여 Docker를 설치할 수 있습니다. 시작하려면 Docker 제품 문서에서 다음 가이드를 완료합니다.

Elasticsearch 및 Kibana 설치

Docker 설치에서 설치한 Docker 이미지에는 Logstash와 Filebeat가 포함되어 있습니다. Elasticsearch 및 Kibana가 아직 설치되지 않았으면 다음 가이드에 따라 애플리케이션을 설치합니다.

이 가이드를 완료하려면 다음 태스크로부터 제공되는 정보가 필요합니다.

  • Elastic Stack: 호스트, 포트, 인증서, 사용자 이름, 비밀번호
  • Kibana: 호스트, 포트, 인증서, 사용자 이름, 비밀번호

GoApp 모듈 다운로드

이 섹션에서는 Security Command Center에서 유지보수되는 Go 프로그램인 GoApp 모듈을 다운로드하는 방법을 설명합니다. 이 모듈에서는 Security Command Center API 호출 예약 프로세스를 자동화하고 Elastic Stack에서 사용할 Security Command Center 데이터를 검색합니다.

GoApp을 설치하려면 다음을 수행합니다.

  1. 터미널 창에서 웹 서버에서 컨텐츠를 검색하는 데 사용되는 무료 소프트웨어 유틸리티인 wget을 설치합니다.

    Ubuntu 및 Debian 배포판의 경우 다음을 실행합니다.

    apt-get install wget
    

    RHEL, CentOS, Fedora 배포판의 경우 다음을 실행합니다.

    yum install wget
    
  2. ZIP 파일 내용을 추출하는 데 사용되는 무료 소프트웨어 유틸리티인 unzip을 설치합니다.

    Ubuntu 및 Debian 배포판의 경우 다음을 실행합니다.

    apt-get install unzip
    

    RHEL, CentOS, Fedora 배포판의 경우 다음을 실행합니다.

    yum install unzip
    
  3. GoogleSCCElasticIntegration 설치 패키지의 디렉터리를 만듭니다.

    mkdir GoogleSCCElasticIntegration
    
  4. GoogleSCCElasticIntegration 설치 패키지를 다운로드합니다.

    wget -c https://storage.googleapis.com/security-center-elastic-stack/GoogleSCCElasticIntegration-Installation.zip
    
  5. GoogleSCCElasticIntegration 설치 패키지 내용을 GoogleSCCElasticIntegration 디렉터리에 추출합니다.

    unzip GoogleSCCElasticIntegration-Installation.zip -d GoogleSCCElasticIntegration
    
  6. GoApp 모듈 구성요소를 저장하고 실행할 작업 디렉터리를 만듭니다.

    mkdir WORKING_DIRECTORY
    

    WORKING_DIRECTORY를 디렉터리 이름으로 바꿉니다.

  7. GoogleSCCElasticIntegration 설치 디렉터리로 이동합니다.

    cd ROOT_DIRECTORY/GoogleSCCElasticIntegration/
    

    ROOT_DIRECTORYGoogleSCCElasticIntegration 디렉터리가 포함된 디렉터리 경로로 바꿉니다.

  8. filebeat.tmpl, logstash.tmpl, docker.tmpl 파일이 포함된 install, config.yml, dashboards.ndjson, templates 폴더를 작업 디렉터리로 이동합니다.

    mv install/install install/config.yml install/templates/docker.tmpl install/templates/filebeat.tmpl install/templates/logstash.tmpl install/dashboards.ndjson WORKING_DIRECTORY
    

    WORKING_DIRECTORY를 작업 디렉터리 경로로 바꿉니다.

Docker 컨테이너 설치

Docker 컨테이너를 설정하려면 Logstash와 Filebeat가 포함된 사전에 형식이 지정된 이미지를 Google Cloud에서 다운로드하고 설치합니다. Docker 이미지에 대한 자세한 내용을 보려면 Google Cloud 콘솔에서 Artifact Registry 저장소로 이동합니다.

Artifact Registry로 이동

설치 중 Security Command Center 및 Elastic Stack 사용자 인증 정보를 사용해서 GoApp 모듈을 구성합니다.

  1. 작업 디렉터리로 이동합니다.

    cd /WORKING_DIRECTORY
    

    WORKING_DIRECTORY를 작업 디렉터리 경로로 바꿉니다.

  2. 작업 디렉터리에 다음 파일이 표시되는지 확인합니다.

      ├── config.yml
      ├── install
      ├── dashboards.ndjson
      ├── templates
          ├── filebeat.tmpl
          ├── docker.tmpl
          ├── logstash.tmpl
    
  3. 텍스트 편집기에서 config.yml 파일을 열고 요청된 변수를 추가합니다. 변수가 필요하지 않으면 비워 둘 수 있습니다.

    변수 설명 필수
    elasticsearch Elasticsearch 구성 섹션 필수
    host Elastic Stack 호스트의 IP 주소 필수
    password Elasticsearch 비밀번호 선택사항
    port Elastic Stack 호스트의 포트 필수
    username Elasticsearch 사용자 이름 선택사항
    cacert Elasticsearch 서버의 인증서(예: path/to/cacert/elasticsearch.cer) 선택사항
    http_proxy 프록시 호스트에 대한 사용자 이름, 비밀번호, IP 주소, 포트가 포함된 링크(예: http://USER:PASSWORD@PROXY_IP:PROXY_PORT) 선택사항
    kibana Kibana 구성 섹션 필수
    host Kibana 서버가 바인딩할 IP 주소 또는 호스트 이름 필수
    password Kibana 비밀번호 선택사항
    port Kibana 서버 포트 필수
    username Kibana 사용자 이름 선택사항
    cacert Kibana 서버 인증서(예: path/to/cacert/kibana.cer) 선택사항
    cron 크론 구성 섹션 선택사항
    asset 애셋 크론 구성 섹션(예: 0 */45 * * * *) 선택사항
    source 소스 크론 구성 섹션(예: 0 */45 * * * *). 자세한 내용은 크론 표현식 생성기를 참조하세요. 선택사항
    organizations Google Cloud 조직 구성 섹션 여러 Google Cloud 조직을 추가하려면 - id:부터 resource 아래의 subscription_name까지 모든 항목을 복사하세요. 필수
    id 조직 ID 필수
    client_credential_path 다음 중 하나입니다.
    • 서비스 계정 키를 사용하는 경우 JSON 파일의 경로
    • 워크로드 아이덴티티 제휴를 사용하는 경우 사용자 인증 정보 구성 파일
    • Docker 컨테이너를 설치하는 Google Cloud 조직이면 아무것도 지정하지 마세요.
    환경에 따라 선택사항입니다.
    update 이전 버전에서 업그레이드하는지 여부(아니요인 경우 n 또는 예인 경우 y) 선택사항
    project 프로젝트 ID 섹션 필수
    id Pub/Sub 주제가 포함된 프로젝트 ID 필수
    auditlog 감사 로그의 Pub/Sub 주제 및 구독 섹션 선택사항
    topic_name 감사 로그의 Pub/Sub 주제 이름 선택사항
    subscription_name 감사 로그의 Pub/Sub 구독 이름 선택사항
    findings Pub/Sub 주제 및 발견 항목 구독 섹션 선택사항
    topic_name 발견 항목에 대한 Pub/Sub 주제 이름 선택사항
    start_date 발견 항목 마이그레이션을 시작할 선택적인 날짜(예: 2021-04-01T12:00:00+05:30) 선택사항
    subscription_name 발견 항목에 대한 Pub/Sub 구독 이름 선택사항
    asset 애셋 구성 섹션 선택사항
    iampolicy IAM 정책에 대한 Pub/Sub 주제 및 구독 섹션 선택사항
    topic_name IAM 정책에 대한 Pub/Sub 주제 이름 선택사항
    subscription_name IAM 정책에 대한 Pub/Sub 구독 이름 선택사항
    resource Pub/Sub 주제 및 리소스 구독 섹션 선택사항
    topic_name 리소스에 대한 Pub/Sub 주제 이름 선택사항
    subscription_name 리소스에 대한 Pub/Sub 구독 이름 선택사항

    config.yml 파일 예

    다음 예시에서는 Google Cloud 조직 2개가 포함된 config.yml 파일을 보여줍니다.

    elasticsearch:
      host: 127.0.0.1
      password: changeme
      port: 9200
      username: elastic
      cacert: path/to/cacert/elasticsearch.cer
    http_proxy: http://user:password@proxyip:proxyport
    kibana:
      host: 127.0.0.1
      password: changeme
      port: 5601
      username: elastic
      cacert: path/to/cacert/kibana.cer
    cron:
      asset: 0 */45 * * * *
      source: 0 */45 * * * *
    organizations:
      – id: 12345678910
        client_credential_path:
        update:
        project:
          id: project-id-12345
        auditlog:
          topic_name: auditlog.topic_name
          subscription_name: auditlog.subscription_name
        findings:
          topic_name: findings.topic_name
          start_date: 2021-05-01T12:00:00+05:30
          subscription_name: findings.subscription_name
        asset:
          iampolicy:
            topic_name: iampolicy.topic_name
            subscription_name: iampolicy.subscription_name
          resource:
            topic_name: resource.topic_name
            subscription_name: resource.subscription_name
      – id: 12345678911
        client_credential_path:
        update:
        project:
          id: project-id-12346
        auditlog:
          topic_name: auditlog2.topic_name
          subscription_name: auditlog2.subscription_name
        findings:
          topic_name: findings2.topic_name
          start_date: 2021-05-01T12:00:00+05:30
          subscription_name: findings1.subscription_name
        asset:
          iampolicy:
            topic_name: iampolicy2.topic_name
            subscription_name: iampolicy2.subscription_name
          resource:
            topic_name: resource2.topic_name
            subscription_name: resource2.subscription_name
    
  4. 다음 명령어를 실행하여 Docker 이미지를 설치하고 GoApp 모듈을 구성합니다.

    chmod +x install
    ./install
    

    GoApp 모듈은 Docker 이미지를 다운로드하고, 이미지를 설치하고, 컨테이너를 설정합니다.

  5. 프로세스가 완료되면 설치 출력에서 WriterIdentity 서비스 계정의 이메일 주소를 복사합니다.

    docker exec googlescc_elk ls
    docker exec googlescc_elk cat Sink_}}HashId{{
    

    작업 디렉터리의 구조는 다음과 같습니다.

      ├── config.yml
      ├── dashboards.ndjson
      ├── docker-compose.yml
      ├── install
      ├── templates
          ├── filebeat.tmpl
          ├── logstash.tmpl
          ├── docker.tmpl
      └── main
          ├── client_secret.json
          ├── filebeat
          │          └── config
          │                   └── filebeat.yml
          ├── GoApp
          │       └── .env
          └── logstash
                     └── pipeline
                                └── logstash.conf
    

감사 로그 권한 업데이트

감사 로그가 SIEM으로 이동할 수 있도록 권한을 업데이트하려면 다음 안내를 따르세요.

  1. Pub/Sub 주제 페이지로 이동합니다.

    Pub/Sub로 이동

  2. Pub/Sub 주제가 포함된 프로젝트를 선택합니다.

  3. 감사 로그를 위해 만든 Pub/Sub 주제를 선택합니다.

  4. 권한에서 작성자 ID 서비스 계정(설치 절차 중 4단계에서 복사한 계정)을 새 주 구성원으로 추가하고 Pub/Sub 게시자 역할을 할당합니다. 감사 로그 정책이 업데이트되었습니다.

Docker 및 Elastic Stack 구성이 완료되었습니다. 이제 Kibana를 설정할 수 있습니다.

Docker 로그 보기

  1. 터미널을 열고 다음 명령어를 실행하여 컨테이너 ID를 포함한 컨테이너 정보를 확인합니다. Elastic Stack이 설치된 컨테이너 ID를 기록합니다.

    docker container ls
    
  2. 컨테이너를 시작하고 로그를 보려면 다음 명령어를 실행합니다.

    docker exec -it CONTAINER_ID /bin/bash
    cat go.log
    

    CONTAINER_ID를 Elastic Stack이 설치된 컨테이너의 ID로 바꿉니다.

Kibana 설정

Docker 컨테이너를 처음 설치할 때 다음 단계를 완료합니다.

  1. 텍스트 편집기에서 kibana.yml를 엽니다.

    sudo vim KIBANA_DIRECTORY/config/kibana.yml
    

    KIBANA_DIRECTORY를 Kibana 설치 폴더 경로로 바꿉니다.

  2. 다음 변수를 업데이트합니다.

    • server.port: Kibana의 백엔드 서버에 사용할 포트입니다. 기본값은 5601입니다.
    • server.host: Kibana 서버가 바인딩할 IP 주소 또는 호스트 이름입니다.
    • elasticsearch.hosts: 쿼리에 사용할 Elasticsearch 인스턴스의 IP 주소 및 포트입니다.
    • server.maxPayloadBytes: 수신 서버 요청의 최대 페이로드 크기(바이트)입니다. 기본값은 1,048,576입니다.
    • url_drilldown.enabled: Kibana 대시보드에서 내부 또는 외부 URL로 이동하기 위한 기능을 제어하는 불리언 값입니다. 기본값은 true입니다.

    완성된 구성은 다음과 유사합니다.

      server.port: PORT
      server.host: "HOST"
      elasticsearch.hosts: ["http://ELASTIC_IP_ADDRESS:ELASTIC_PORT"]
      server.maxPayloadBytes: 5242880
      url_drilldown.enabled: true
    

Kibana 대시보드 가져오기

  1. Kibana 애플리케이션을 엽니다.
  2. 탐색 메뉴에서 스택 관리로 이동한 후 저장된 객체를 클릭합니다.
  3. 가져오기를 클릭하고 작업 디렉터리로 이동하여 dashboards.ndjson을 선택합니다. 대시보드를 가져오고 색인 패턴이 생성됩니다.

Docker 컨테이너 업그레이드

이전 버전의 GoApp 모듈을 배포한 경우 새 버전으로 업그레이드할 수 있습니다. 새 버전으로 Docker 컨테이너를 업그레이드할 때는 기존 서비스 계정 설정, Pub/Sub 주제, ElasticSearch 구성요소를 유지할 수 있습니다.

Docker 컨테이너가 사용되지 않은 통합에서 업그레이드하는 경우 최신 릴리스로 업그레이드를 참조하세요.

  1. v1에서 업그레이드하는 경우 다음 작업을 완료합니다.

    1. 서비스 계정에 로그 구성 작성자(roles/logging.configWriter) 역할을 추가합니다.

    2. 감사 로그에 대해 Pub/Sub 주제를 만듭니다.

  2. 다른 클라우드에 Docker 컨테이너를 설치하는 경우 워크로드 아이덴티티 제휴를 구성하고 사용자 인증 정보 구성 파일을 다운로드합니다.

  3. 선택적으로 새 대시보드를 가져올 때 문제를 방지하기 위해서는 Kibana에서 기존 대시보드를 삭제합니다.

    1. Kibana 애플리케이션을 엽니다.
    2. 탐색 메뉴에서 스택 관리로 이동한 후 저장된 객체를 클릭합니다.
    3. Google SCC를 검색합니다.
    4. 삭제할 대시보드를 모두 선택합니다.
    5. 삭제를 클릭합니다.
  4. 기존 Docker 컨테이너를 삭제합니다.

    1. 터미널을 열고 컨테이너를 중지합니다.

      docker stop CONTAINER_ID
      

      CONTAINER_ID를 Elastic Stack이 설치된 컨테이너의 ID로 바꿉니다.

    2. Docker 컨테이너를 삭제합니다.

      docker rm CONTAINER_ID
      

      필요한 경우 컨테이너 ID 앞에 -f를 추가하여 컨테이너를 강제로 삭제합니다.

  5. GoApp 모듈 다운로드의 1~7단계를 완료합니다.

  6. 이전에 설치한 기존 config.env 파일을 \update 디렉터리로 이동합니다.

  7. 필요한 경우 ./update를 실행할 수 있는 실행 가능한 권한을 부여합니다.

    chmod +x ./update
    ./update
    
  8. ./update를 실행하여 config.envconfig.yml로 변환합니다.

  9. config.yml 파일에 기존 구성이 포함되어 있는지 확인합니다. 그렇지 않으면 ./update를 다시 실행합니다.

  10. Google Cloud 조직 여러 개를 지원하려면 다른 조직 구성을 config.yml 파일에 추가합니다.

  11. config.yml 파일을 install 파일이 있는 작업 디렉터리로 이동합니다.

  12. Docker 설치 단계를 완료합니다.

  13. 감사 로그 권한 업데이트 단계를 완료합니다.

  14. Kibana 대시보드 가져오기에 설명된 대로 새 대시보드를 가져옵니다. 이 단계는 기존 Kibana 대시보드를 덮어씁니다.

Kibana 대시보드 보기 및 수정

Elastic Stack에서 커스텀 대시보드를 사용해서 발견 항목, 애셋, 보안 소스를 시각화하고 분석할 수 있습니다. 대시보드에 중요한 발견 항목이 표시되어 보안팀에서 수정 우선순위를 지정하는 데 도움이 됩니다.

개요 대시보드

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

잘못된 구성이나 취약점과 같은 기준에 따라 콘텐츠를 필터링하려면 발견 항목 클래스를 선택할 수 있습니다.

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

애셋 대시보드

애셋 대시보드에는 Google Cloud 애셋을 보여주는 테이블이 표시됩니다. 이 테이블에는 리소스 유형 및 프로젝트에 따라 애셋 소유자 및 애셋 수와 최근에 추가된 애셋 및 업데이트된 애셋이 표시됩니다.

조직, 애셋 이름, 애셋 유형, 상위 항목별로 애셋 데이터를 필터링하고 특정 애셋의 발견 항목을 빠르게 상세히 살펴볼 수 있습니다. 애셋 이름을 클릭하면 Google Cloud 콘솔에서 Security Command Center의 애셋 페이지로 리디렉션되고 선택한 애셋에 대한 세부정보가 표시됩니다.

감사 로그 대시보드

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

조직, 소스(예: 프로젝트), 심각도, 로그 유형, 리소스 유형별로 데이터를 필터링할 수 있습니다.

발견 항목 대시보드

발견 항목 대시보드에는 최근 발견 항목을 보여주는 차트가 포함되어 있습니다. 차트는 발견 항목 수, 심각도, 카테고리, 상태에 관한 정보를 제공합니다. 또한 시간별 활성 발견 항목과 대부분의 발견 항목이 포함된 프로젝트 및 리소스를 볼 수 있습니다.

조직과 발견 항목 클래스를 기준으로 데이터를 필터링할 수 있습니다.

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

소스 대시보드

소스 대시보드에는 총 발견 항목 수 및 보안 소스, 소스 이름별 발견 항목 수, 모든 보안 소스에 대한 테이블이 표시됩니다. 테이블 열에는 이름, 표시 이름, 설명이 포함됩니다.

열 추가

  1. 대시보드로 이동합니다.
  2. 수정을 클릭한 후 시각화 수정을 클릭합니다.
  3. 하위 버킷 추가에서 행 분할을 선택합니다.
  4. 목록에서 검색어 집계를 선택합니다.
  5. 내림차순 드롭다운 메뉴에서 오름차순 또는 내림차순을 선택합니다. 크기 필드에 테이블의 최대 행 수를 입력합니다.
  6. 추가할 열을 선택하고 업데이트를 클릭합니다.
  7. 변경사항을 저장합니다.

열 숨기기 또는 삭제

  1. 대시보드로 이동합니다.
  2. 수정을 클릭합니다.
  3. 열을 숨기려면 열 이름 옆에서 공개 상태(또는 눈 모양) 아이콘을 클릭합니다.
  4. 열을 삭제하려면 열 이름 옆에 있는 X 또는 삭제 아이콘을 클릭합니다.

Elasticsearch와의 통합 제거

Security Command Center와 Elasticsearch 간의 통합을 삭제하려면 다음 섹션을 완료합니다.

대시보드, 색인, 색인 패턴 삭제

이 솔루션을 제거하려면 대시보드를 삭제합니다.

  1. 대시보드로 이동합니다.

  2. Google SCC를 검색하고 모든 대시보드를 선택합니다.

  3. 대시보드 삭제를 클릭합니다.

  4. 스택 관리 > 색인 관리로 이동합니다.

  5. 다음 색인을 닫습니다.

    • gccassets
    • gccfindings
    • gccsources
    • gccauditlogs
  6. 스택 관리 > 색인 패턴으로 이동합니다.

  7. 다음 패턴을 닫습니다.

    • gccassets
    • gccfindings
    • gccsources
    • gccauditlogs

Docker 제거

  1. Pub/Sub을 위한 NotificationConfig를 삭제합니다. NotificationConfig 이름을 찾으려면 다음을 실행합니다.

    docker exec googlescc_elk ls
    docker exec googlescc_elk cat NotificationConf_}}HashId{{
    
  2. 애셋, 발견 항목, IAM 정책, 감사 로그에 대한 Pub/Sub 피드를 삭제합니다. 피드 이름을 찾으려면 다음을 실행합니다.

    docker exec googlescc_elk ls
    docker exec googlescc_elk cat Feed_}}HashId{{
    
  3. 감사 로그의 싱크를 삭제합니다. 싱크 이름을 찾으려면 다음을 실행합니다.

    docker exec googlescc_elk ls
    docker exec googlescc_elk cat Sink_}}HashId{{
    
  4. 컨테이너 ID를 포함하여 컨테이너 정보를 보려면 터미널을 열고 다음 명령어를 실행합니다.

    docker container ls
    
  5. 컨테이너를 중지합니다.

    docker stop CONTAINER_ID
    

    CONTAINER_ID를 Elastic Stack이 설치된 컨테이너의 ID로 바꿉니다.

  6. Docker 컨테이너를 삭제합니다.

    docker rm CONTAINER_ID
    

    필요한 경우 컨테이너 ID 앞에 -f를 추가하여 컨테이너를 강제로 삭제합니다.

  7. Docker 이미지를 삭제합니다.

    docker rmi us.gcr.io/security-center-gcr-host/googlescc_elk_v3:latest
    
  8. 작업 디렉터리 및 docker-compose.yml 파일을 삭제합니다.

    rm -rf ./main docker-compose.yml
    

다음 단계