Cisco Umbrella 감사 로그 수집

다음에서 지원:

이 문서에서는 AWS S3 버킷을 사용하여 Cisco Umbrella 감사 로그를 Google Security Operations 피드에 수집하는 방법을 설명합니다. 파서는 원시 CSV 로그 데이터를 정규화하여 다양한 구분 기호와 잠재적인 형식 불일치를 처리합니다. 그런 다음 로그 유형 (DNS 또는 감사)에 따라 추출된 필드를 해당 UDM 스키마에 매핑하여 추가 컨텍스트로 데이터를 보강하고 추가 분석을 위해 표현을 표준화합니다.

시작하기 전에

  • Google SecOps 인스턴스가 있는지 확인합니다.
  • AWS IAM 및 S3에 대한 권한이 있는지 확인합니다.
  • Cisco Umbrella에 대한 권한 액세스 권한이 있는지 확인합니다.

Cisco 관리 Amazon S3 버킷 구성

  1. Cisco Umbrella 대시보드에 로그인합니다.
  2. 관리 > 로그 관리로 이동합니다.
  3. Cisco 관리 Amazon S3 버킷 사용 옵션을 선택합니다.
  4. 다음 구성 세부정보를 제공합니다.
    • 리전 선택: 지연 시간을 줄이려면 내 위치와 가까운 리전을 선택합니다.
    • 보관 기간 선택: 기간을 선택합니다. 보관 기간은 7일, 14일 또는 30일입니다. 선택한 기간이 지나면 데이터가 삭제되어 복구할 수 없습니다. 수집 주기가 정기적인 경우 더 짧은 기간을 사용하세요. 보관 기간은 나중에 변경할 수 있습니다.
  5. 저장을 클릭합니다.
  6. 계속을 클릭하여 선택한 내용을 확인하고 활성화 알림을 받습니다.
    활성화 완료 창이 표시되면 액세스 키보안 비밀 키 값이 표시됩니다.
  7. 액세스 키보안 비밀 키 값을 복사합니다. 이러한 키를 분실한 경우 다시 생성해야 합니다.
  8. 확인 > 계속을 클릭합니다.
  9. 요약 페이지에 구성과 버킷 이름이 표시됩니다. 조직의 요구사항에 따라 로깅을 사용 중지하거나 사용 설정할 수 있습니다. 하지만 새 데이터가 추가되더라도 보관 기간에 따라 로그가 삭제됩니다.

선택사항: 자체 관리 AWS S3 버킷의 사용자 액세스 키 구성

  1. AWS 관리 콘솔에 로그인합니다.
  2. 이 사용자 가이드(IAM 사용자 만들기)에 따라 사용자를 만듭니다.
  3. 생성된 사용자를 선택합니다.
  4. 보안 사용자 인증 정보 탭을 선택합니다.
  5. 액세스 키 섹션에서 액세스 키 만들기를 클릭합니다.
  6. 사용 사례서드 파티 서비스를 선택합니다.
  7. 다음을 클릭합니다.
  8. 선택사항: 설명 태그를 추가합니다.
  9. 액세스 키 만들기를 클릭합니다.
  10. CSV 파일 다운로드를 클릭하여 나중에 사용할 수 있도록 액세스 키비밀 액세스 키를 저장합니다.
  11. 완료를 클릭합니다.
  12. 권한 탭을 선택합니다.
  13. 권한 정책 섹션에서 권한 추가를 클릭합니다.
  14. 권한 추가를 선택합니다.
  15. 정책 직접 연결을 선택합니다.
  16. AmazonS3FullAccess 정책을 검색하여 선택합니다.
  17. 다음을 클릭합니다.
  18. 권한 추가를 클릭합니다.

선택사항: 자체 관리 Amazon S3 버킷 구성

  1. AWS 관리 콘솔에 로그인합니다.

  2. S3로 이동합니다.

  3. 버킷 만들기를 클릭합니다.

  4. 다음 구성 세부정보를 제공합니다.

    • 버킷 이름: Amazon S3 버킷의 이름을 제공합니다.
    • 리전: 리전을 선택합니다.
  5. 만들기를 클릭합니다.

선택사항: 자체 관리 AWS S3 버킷의 버킷 정책 구성

  1. 새로 만든 버킷을 클릭하여 엽니다.
  2. 속성> 권한을 선택합니다.
  3. 권한 목록에서 버킷 정책 추가를 클릭합니다.
  4. 다음과 같이 사전 구성된 버킷 정책을 입력합니다.

    {
      "Version": "2008-10-17",
      "Statement": [
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:PutObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"
        },
        {
          "Sid": "",
          "Effect": "Deny",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::BUCKET_NAME/*"},
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:GetBucketLocation",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        },
        {
          "Sid": "",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::568526795995:user/logs"
          },
          "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::BUCKET_NAME"
        }
      ]
    }
    
    • BUCKET_NAME을 제공한 Amazon S3 버킷 이름으로 바꿉니다.
  5. 저장을 클릭합니다.

선택사항: 자체 관리 Amazon S3 버킷에 필요한 인증

  1. Cisco Umbrella 대시보드에서 Admin > Log management > Amazon S3를 선택합니다.
  2. 버킷 이름 필드에 정확한 Amazon S3 버킷 이름을 지정한 다음 확인을 클릭합니다.
  3. 인증 절차의 일환으로 README_FROM_UMBRELLA.txt라는 파일이 Cisco Umbrella에서 Amazon S3 버킷으로 업로드됩니다. 업로드된 readme 파일을 보려면 브라우저를 새로고침해야 할 수 있습니다.
  4. README_FROM_UMBRELLA.txt 파일을 다운로드하고 텍스트 편집기를 사용하여 엽니다.
  5. 파일에서 고유한 Cisco Umbrella 토큰을 복사하여 저장합니다.
  6. Cisco Umbrella 대시보드로 이동합니다.
  7. 토큰 번호 필드에 토큰을 지정하고 저장을 클릭합니다.
  8. 인증에 성공하면 버킷이 인증되었음을 알리는 확인 메시지가 대시보드에 표시됩니다. 버킷을 확인할 수 없다는 오류가 표시되면 버킷 이름의 구문을 다시 확인하고 구성을 검토하세요.

Cisco Umbrella 감사 로그를 수집하도록 Google SecOps에서 피드 구성

  1. SIEM 설정> 피드로 이동합니다.
  2. 새로 추가를 클릭합니다.
  3. 피드 이름 필드에 피드 이름을 입력합니다(예: Cisco Umbrella 감사 로그).
  4. 소스 유형으로 Amazon S3 V2를 선택합니다.
  5. 로그 유형으로 Cisco Umbrella 감사를 선택합니다.
  6. 다음을 클릭합니다.
  7. 다음 입력 매개변수의 값을 지정합니다.

    • S3 URI: 버킷 URI입니다.
      • s3:/BUCKET_NAME
        • BUCKET_NAME을 버킷의 실제 이름으로 바꿉니다.
    • 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
  8. 다음을 클릭합니다.

  9. 확정 화면에서 새 피드 구성을 검토한 다음 제출을 클릭합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
action_type security_result.action_details 원시 로그 필드 action_type에서 직접 매핑됩니다.
action_type security_result.action action_typeallow이 포함된 경우 (대소문자 구분 안 함) ALLOW로 설정합니다. action_typeblock이 포함된 경우 (대소문자 구분 안 함) BLOCK로 설정합니다.
additionalValue additional.fields{}.key Additional Value로 설정합니다.
additionalValue additional.fields{}.value.string_value 원시 로그 필드 additionalValue에서 직접 매핑됩니다.
blocked_categories additional.fields{}.key blocked_categories로 설정합니다.
blocked_categories additional.fields{}.value.string_value 원시 로그 필드 blocked_categories에서 직접 매핑됩니다.
카테고리 security_result.category_details 쉼표로 분할된 후 원시 로그 필드 categories에서 직접 매핑됩니다.
1 열 metadata.product_log_id 로그가 감사 로그인 경우 원시 로그 필드 column1에서 매핑됩니다.
1 열 date_time 로그가 DNS 로그인 경우 원시 로그 필드 column1에서 매핑됩니다.
column10 카테고리 원시 로그 필드 column10에서 직접 매핑됩니다.
column11 most_granular_identity_type 원시 로그 필드 column11에서 직접 매핑됩니다.
column12 identity_types 원시 로그 필드 column12에서 직접 매핑됩니다.
column13 blocked_categories 원시 로그 필드 column13에서 직접 매핑됩니다.
column2 date_time 로그가 감사 로그인 경우 원시 로그 필드 column2에서 매핑됩니다.
column2 most_granular_identity 로그가 DNS 로그인 경우 원시 로그 필드 column2에서 매핑됩니다.
column3 principal.user.email_addresses 로그가 감사 로그인 경우 원시 로그 필드 column3에서 매핑됩니다.
column3 ID 로그가 DNS 로그인 경우 원시 로그 필드 column3에서 매핑됩니다.
column4 principal.user.userid 로그가 감사 로그인 경우 원시 로그 필드 column4에서 매핑됩니다.
column4 internal_ip 로그가 DNS 로그인 경우 원시 로그 필드 column4에서 매핑됩니다.
column5 security_result.rule_name 로그가 감사 로그인 경우 원시 로그 필드 column5에서 매핑됩니다.
column5 external_ip 로그가 DNS 로그인 경우 원시 로그 필드 column5에서 매핑됩니다.
column6 action_type 원시 로그 필드 column6에서 직접 매핑됩니다.
column7 principal.ip 로그가 감사 로그인 경우 원시 로그 필드 column7에서 매핑됩니다.
column7 dns_query_type 로그가 DNS 로그인 경우 원시 로그 필드 column7에서 매핑됩니다.
column8 additionalValue 로그가 감사 로그인 경우 원시 로그 필드 column8에서 매핑됩니다.
column8 dns_response_code 로그가 DNS 로그인 경우 원시 로그 필드 column8에서 매핑됩니다.
column9 도메인 원시 로그 필드 column9에서 직접 매핑됩니다.
date_time metadata.event_timestamp.seconds date_time 필드에서 추출한 에포크 타임스탬프입니다.
dns_query_type network.dns.questions.type 정규 표현식을 사용하여 dns_query_type 필드에서 추출되며 정수로 변환됩니다.
dns_response_code network.dns.response_code dns_response_code 필드에서 매핑되며 DNS 응답 코드 값을 기반으로 정수로 변환됩니다.
도메인 network.dns.questions.name domain 필드에서 직접 매핑됩니다.
external_ip principal.ip 비어 있지 않고 internal_ip와 다른 경우 external_ip 필드에서 매핑됩니다.
ID principal.location.name 해당 identity_types 필드가 Networks인 경우 identities 필드에서 매핑됩니다.
ID principal.hostname 해당 identity_types 필드가 AD Computers, Roaming Computers 또는 Anyconnect Roaming Client인 경우 identities 필드에서 매핑됩니다.
ID principal.asset.hostname 해당 identity_types 필드가 AD Computers, Roaming Computers 또는 Anyconnect Roaming Client인 경우 identities 필드에서 매핑됩니다.
ID principal.location.city 해당 identity_types 필드가 Sites인 경우 identities 필드에서 매핑됩니다.
identity_types additional.fields{}.key identities_types로 설정합니다.
identity_types additional.fields{}.value.string_value 원시 로그 필드 identity_types에서 직접 매핑됩니다.
internal_ip principal.ip 비어 있지 않은 경우 internal_ip 필드에서 매핑됩니다.
most_granular_identity additional.fields{}.key most_granular_identity로 설정합니다.
most_granular_identity additional.fields{}.value.string_value 원시 로그 필드 most_granular_identity에서 직접 매핑됩니다.
most_granular_identity_type additional.fields{}.key most_granular_identity_type로 설정합니다.
most_granular_identity_type additional.fields{}.value.string_value 원시 로그 필드 most_granular_identity_type에서 직접 매핑됩니다.
metadata.event_type 로그가 DNS 로그인 경우 NETWORK_DNS로 설정합니다.
metadata.event_type 로그가 감사 로그이고 principal_ip이 비어 있지 않은 경우 STATUS_UPDATE로 설정됩니다.
metadata.event_type 로그가 감사 로그이고 principal_ip이 비어 있는 경우 GENERIC_EVENT로 설정됩니다.
metadata.vendor_name CISCO UMBERLLA로 설정합니다.
metadata.product_name CISCO UMBERLLA로 설정합니다.
metadata.log_type AUDITD로 설정합니다.
network.application_protocol 로그가 DNS 로그인 경우 DNS로 설정합니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.