SIEM 시스템으로 로그 내보내기

이 페이지에서는 Google Distributed Cloud (GDC) 에어갭에서 외부 보안 정보 및 이벤트 관리 (SIEM) 시스템으로 로그를 내보내는 방법을 설명합니다. 이 통합을 통해 중앙 집중식 로그 분석과 향상된 보안 모니터링이 가능합니다.

로그 내보내기의 핵심은 SIEMOrgForwarder 커스텀 리소스를 배포하는 것입니다. 이 리소스는 로그를 수신하도록 지정된 외부 SIEM 인스턴스의 세부정보를 지정하는 구성 파일 역할을 합니다. 관리자는 SIEMOrgForwarder 파일 내에서 이러한 매개변수를 정의하여 간소화되고 안전한 로그 내보내기 파이프라인을 설정할 수 있습니다.

시작하기 전에

SIEMOrgForwarder 맞춤 리소스를 관리하는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 연결된 SIEM 내보내기 조직 역할 중 하나를 부여해 달라고 요청하세요.

필요한 액세스 수준 및 권한에 따라 프로젝트 네임스페이스에서 이 리소스에 대한 생성자, 편집자 또는 뷰어 역할을 획득할 수 있습니다. 자세한 내용은 IAM 권한 준비를 참고하세요.

필요한 권한을 획득한 후 외부 SIEM 시스템으로 로그를 내보내기 전에 다음 단계를 완료하세요.

  1. 연결 설정: GDC와 외부 SIEM 대상 간에 연결이 있는지 확인합니다. 필요한 경우 인프라 운영자 (IO)와 협력하여 고객 네트워크에 대한 업링크 연결을 설정합니다.

  2. 환경 변수 설정: 이 페이지에서 명령어를 실행하려면 다음 환경 변수를 설정하세요.

    • kubeconfig 파일의 경로:

      export KUBECONFIG=KUBECONFIG_PATH
      

      KUBECONFIG_PATH를 관리 API 서버의 kubeconfig 파일 경로로 바꿉니다.

    • 프로젝트 네임스페이스:

      export PROJECT_NAMESPACE=PROJECT_NAMESPACE
      

로그 내보내기 구성

외부 SIEM 시스템으로 로그를 내보냅니다.

  1. 로깅 스택을 SIEM 시스템에 연결하는 토큰을 제공합니다. 이 작업을 실행하려면 프로젝트 네임스페이스에 보안 비밀을 만들어 토큰을 저장해야 합니다.

    cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: SECRET_NAME
      namespace: ${PROJECT_NAMESPACE}
    type: Opaque
    stringData:
      SECRET_FIELD: TOKEN
    EOF
    

    다음을 바꿉니다.

    • SECRET_NAME: 보안 비밀의 이름입니다.
    • SECRET_FIELD: 보안 비밀을 저장할 필드의 이름입니다.
    • TOKEN: 토큰입니다.
  2. 프로젝트 네임스페이스에 SIEMOrgForwarder 커스텀 리소스를 배포합니다. 감사 로그와 운영 로그 중에서 선택하여 로그 유형을 지정해야 합니다. 두 로그 유형 모두에 대해 로그 내보내기를 구성하려면 각 유형에 대해 SIEMOrgForwarder 리소스를 배포해야 합니다.

    다음 예시에서는 SIEMOrgForwarder 커스텀 리소스에 구성을 적용하는 방법을 보여줍니다.

      cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f -
      apiVersion: logging.gdc.goog/v1
      kind: SIEMOrgForwarder
      metadata:
        name: SIEM_ORG_FORWARDER
        namespace: ${PROJECT_NAMESPACE}
      spec:
        source: LOG_TYPE
        splunkOutputs:
          - host: SIEM_HOST
            token:
              name: SECRET_NAME
              field: SECRET_FIELD
            tls: "TLS"
            netConnectTimeout: NET_CONNECT_TIMEOUT
      EOF
    

    다음을 바꿉니다.

    • SIEM_ORG_FORWARDER: SIEMOrgForwarder 정의 파일의 이름입니다.
    • LOG_TYPE: 내보내는 로그 유형입니다. 허용되는 값은 auditoperational입니다.
    • SIEM_HOST: SIEM 호스트의 이름입니다.
    • SECRET_NAME: 보안 비밀의 이름입니다.
    • SECRET_FIELD: 보안 비밀을 저장한 필드의 이름입니다.
    • TLS: 전송 계층 보안(TLS)의 상태입니다. 허용되는 값은 "On""Off"입니다.
    • NET_CONNECT_TIMEOUT: 연결이 설정될 때까지 기다리는 최대 시간(초)입니다. 예를 들어 180 값은 180초 동안 기다린다는 의미입니다.
  3. 배포된 SIEMOrgForwarder 커스텀 리소스의 상태를 확인합니다.

      kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \
          -n ${PROJECT_NAMESPACE}
    

    로그 유형에 따라 다음 상태를 확인합니다.

    • 감사 로그: AuditLoggingReady 상태를 확인합니다.
    • 작업 로그: OperationalLoggingReady 상태를 확인합니다.