Akamai DNS 로그 수집

다음에서 지원:

이 파서는 Akamai DNS 로그를 처리합니다. 타임스탬프, 소스 IP 및 포트, 쿼리, DNS 레코드 유형, 응답 세부정보와 같은 필드를 추출합니다. 그런 다음 이러한 필드를 UDM에 매핑하여 다양한 DNS 레코드 유형과 잠재적인 SPF 레코드를 처리합니다. 파서는 주 구성원 정보의 존재 여부에 따라 이벤트를 NETWORK_DNS 또는 GENERIC_EVENT로 분류합니다.

시작하기 전에

  • Google SecOps 인스턴스가 있는지 확인합니다.
  • AWS IAM 및 S3에 대한 액세스 권한이 있는지 확인합니다.
  • Akamai 계정에 로그 전송 서비스에 대한 액세스 권한이 있는지 확인합니다.

Amazon S3 버킷 구성

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

Akamai에서 로그 전송 서비스 구성

  1. Akamai Control Center에 로그인합니다.
  2. 데이터 서비스로그 전송 서비스로 이동합니다.
  3. Add New Configuration(새 구성 추가)을 클릭합니다.
  4. 구성 이름 필드에 구성의 이름을 입력합니다 (예: Edge DNS Logs to S3).
  5. 로그 소스Edge DNS를 선택합니다.
  6. 전송 대상으로 AWS S3를 선택합니다.
  7. 다음 세부정보를 제공합니다.
    • 버킷 이름: S3 버킷의 이름입니다.
    • 리전: 버킷이 호스팅되는 AWS 리전입니다.
    • 액세스 키 ID: IAM 사용자 액세스 키 ID입니다.
    • 보안 비밀 액세스 키: IAM 사용자 보안 비밀 액세스 키입니다.
    • 선택사항: 디렉터리 구조를 지정합니다. (예: logs/akamai-dns/YYYY/MM/DD/HH/)
    • 선택사항: 파일 이름 지정 규칙을 설정합니다. (예: edge-dns-logs-{timestamp}.log)
  8. 포함할 로그 형식을 선택합니다.
    • DNS 쿼리
    • DNS 응답
  9. 전송 빈도를 선택합니다.
    • 옵션에는 시간별, 일일, 특정 파일 크기 (예: 100MB)에 도달 시 등이 있습니다.
  10. 선택사항: 필터 추가를 클릭하여 특정 기준 (예: 호스트 이름 또는 레코드 유형)에 따라 특정 로그를 포함하거나 제외합니다.
  11. 구성 세부정보를 검토하고 저장 및 활성화를 클릭합니다.

Akamai DNS 로그를 수집하도록 Google SecOps에서 피드 구성

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

    • 리전: Amazon S3 버킷이 있는 리전입니다.
    • S3 URI: 버킷 URI입니다.

      • s3://BUCKET_NAME

      다음을 바꿉니다.

      • BUCKET_NAME: 버킷의 이름입니다.
    • URI: 로그 스트림 구성 (단일 파일 | 디렉터리 | 하위 디렉터리가 포함된 디렉터리)에 따라 URI_TYPE를 선택합니다.

    • 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.

    • 액세스 키 ID: S3 버킷에 대한 액세스 권한이 있는 사용자 액세스 키입니다.

    • 보안 비밀 액세스 키: S3 버킷에 액세스할 수 있는 사용자 보안 비밀 키입니다.

    • 애셋 네임스페이스: 애셋 네임스페이스입니다.

    • 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.

  8. 다음을 클릭합니다.

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

UDM 매핑 표

로그 필드 UDM 매핑 논리
클래스 read_only_udm.network.dns.questions.class class가 'IN'인 경우 1로 설정합니다. 그렇지 않으면 부호 없는 정수로 변환을 시도합니다.
column11 read_only_udm.target.hostname 호스트 이름이 포함되어 있고 'ip4', '=", '.net', '10 mx0'과 같은 특정 패턴이 포함되지 않은 경우 매핑됩니다. 다양한 패턴을 기반으로 IP 주소, 이메일 주소, DNS 권한 데이터를 추출하는 데도 사용됩니다.
column11 read_only_udm.target.ip SPF 레코드 내 IP 주소의 패턴과 일치하는 경우 column11에서 추출됩니다.
column11 read_only_udm.target.user.email_addresses DMARC 레코드 내 이메일 주소의 패턴과 일치하는 경우 column11에서 추출됩니다.
column11 read_only_udm.network.dns.authority.data 다양한 레코드 유형 내의 도메인 이름 패턴과 일치하는 경우 column11에서 추출됩니다.
column11 read_only_udm.network.dns.response_code column11에 'NXDOMAIN'이 포함된 경우 3으로 설정합니다.
column2 read_only_udm.principal.ip 유효한 IP 주소인 경우 매핑됩니다.
column3 read_only_udm.principal.port 유효한 정수인 경우 매핑됩니다.
column4 read_only_udm.network.dns.questions.name 직접 매핑됩니다.
column6 read_only_udm.network.dns.questions.type 조건부 로직을 사용하여 type 값을 기반으로 매핑하고 해당 숫자 값을 할당합니다.
column8 read_only_udm.network.sent_bytes 부호 없는 정수로 변환되고 매핑됩니다.
read_only_udm.metadata.event_timestamp column1에서 추출된 datetime 필드로 구성됩니다.
read_only_udm.event_type principal.ip가 있는 경우 NETWORK_DNS로 설정하고, 그렇지 않으면 GENERIC_EVENT로 설정합니다.
read_only_udm.product_name AKAMAI_DNS로 하드코딩됩니다.
read_only_udm.vendor_name AKAMAI_DNS로 하드코딩됩니다.
read_only_udm.dataset AKAMAI_DNS로 하드코딩됩니다.
read_only_udm.event_subtype DNS로 하드코딩됩니다.

변경사항

2024-05-28

  • 버그 수정: 로그 메시지에서 따옴표를 삭제하는 gsub 함수가 추가되었습니다.
  • 매핑하기 전에 IP 주소 및 포트 값을 확인하는 Grok 패턴을 추가했습니다.