AWS Inspector 로그 수집

파서 버전: 1.0

다음에서 지원:

이 문서에서는 Amazon S3를 사용하여 AWS Inspector 로그를 Google Security Operations로 수집하는 방법을 설명합니다.

Amazon Inspector는 워크로드를 자동으로 검색하고 소프트웨어 취약점과 의도하지 않은 네트워크 노출을 지속적으로 검사하는 취약점 관리 서비스입니다. Amazon EC2 인스턴스, Amazon ECR의 컨테이너 이미지, AWS Lambda 함수를 스캔하여 심각도 점수와 해결 권장사항이 포함된 상세한 발견 항목을 생성합니다. 이 통합은 Amazon Inspector의 기본 제공 발견 항목 내보내기 기능을 사용하여 JSON 형식의 발견 항목 보고서를 S3 버킷에 전송하고, Google SecOps는 Amazon S3 V2 피드를 사용하여 이를 수집합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • 다음을 관리할 수 있는 권한이 있는 AWS Management Console에 대한 액세스 권한:
    • Amazon Inspector (결과, 보고서)
    • Amazon S3 (버킷, 버킷 정책)
    • AWS KMS (키 정책)
    • AWS IAM (역할, 정책, 사용자)

Amazon Inspector 결과 내보내기를 위한 S3 버킷 구성

Amazon Inspector는 발견 항목 보고서를 S3 버킷에 저장하기 전에 AWS KMS 키로 암호화합니다. Amazon Inspector 액세스를 허용하도록 S3 버킷 정책과 KMS 키 정책을 모두 구성해야 합니다.

S3 버킷 만들기 및 구성

  1. 이 사용자 가이드(버킷 만들기)에 따라 Amazon S3 버킷을 만듭니다.
  2. 나중에 참조할 수 있도록 버킷 이름과 리전을 저장합니다 (예: inspector-findings-to-secops).

  3. https://console.aws.amazon.com/s3의 Amazon S3 콘솔에서 생성된 버킷을 선택합니다.

  4. 권한 탭을 선택합니다.

  5. 버킷 정책 섹션에서 수정을 클릭합니다.

  6. 버킷 정책에 다음 문을 추가합니다 (inspector-findings-to-secops를 버킷 이름으로, 111122223333를 AWS 계정 ID로, us-east-1를 AWS 리전으로 대체).

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "allow-inspector",
                "Effect": "Allow",
                "Principal": {
                    "Service": "inspector2.amazonaws.com"
                },
                "Action": [
                    "s3:PutObject",
                    "s3:PutObjectAcl",
                    "s3:AbortMultipartUpload"
                ],
                "Resource": "arn:aws:s3:::inspector-findings-to-secops/*",
                "Condition": {
                    "StringEquals": {
                        "aws:SourceAccount": "111122223333"
                    },
                    "ArnLike": {
                        "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*"
                    }
                }
            }
        ]
    }
    
  7. 변경사항 저장을 클릭합니다.

AWS KMS 키 구성

Amazon Inspector에서 발견 항목 보고서를 암호화하려면 S3 버킷과 동일한 리전에 고객 관리형 대칭 암호화 AWS KMS 키가 필요합니다.

  1. https://console.aws.amazon.com/kms에서 AWS KMS 콘솔을 엽니다.
  2. 탐색 창에서 고객 관리 키를 선택합니다.
  3. 사용할 KMS 키를 선택하거나 새 대칭 암호화 키를 만듭니다.
  4. 키 정책 탭을 선택하고 수정을 클릭합니다.
  5. 키 정책에 다음 문을 추가합니다 (111122223333를 AWS 계정 ID로, us-east-1를 AWS 리전으로 바꿈).

    {
        "Sid": "Allow Amazon Inspector to use the key",
        "Effect": "Allow",
        "Principal": {
            "Service": "inspector2.amazonaws.com"
        },
        "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey*"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "111122223333"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:inspector2:us-east-1:111122223333:report/*"
            }
        }
    }
    
  6. 변경사항 저장을 클릭합니다.

Amazon Inspector 결과를 S3로 내보내기

  1. https://console.aws.amazon.com/inspector/v2/home에서 Amazon Inspector 콘솔에 로그인합니다.
  2. 탐색 창에서 결과 > 모든 결과로 이동합니다.
  3. 선택사항: 발견 항목 표 위의 필터 표시줄을 사용하여 보고서에 포함할 발견 항목을 지정합니다.

  4. 발견 항목 내보내기를 클릭합니다.

  5. 내보내기 설정 섹션의 내보내기 파일 형식에서 JSON을 선택합니다.

  6. 내보내기 위치의 S3 URI에서 S3 찾아보기를 클릭하고 S3 버킷 inspector-findings-to-secops를 선택합니다.

  7. KMS 키에서 구성한 AWS KMS 키를 선택합니다.

  8. 내보내기를 클릭합니다.

AWS CLI를 사용하여 발견 사항 내보내기 자동화

발견 항목 보고서를 정기적으로 내보내려면 AWS CLI create-findings-report 명령어를 사용합니다. Amazon EventBridge Scheduler 또는 크론 작업을 사용하여 이 명령어를 예약할 수 있습니다.

  • 명령어 예시:

    aws inspector2 create-findings-report \
        --report-format JSON \
        --s3-destination bucketName=inspector-findings-to-secops,keyPrefix=findings/,kmsKeyArn=arn:aws:kms:us-east-1:111122223333:key/your-kms-key-id
    

자세한 내용은 create-findings-report AWS CLI 참조를 확인하세요.

Google SecOps용 IAM 사용자 구성

Google SecOps는 내보낸 결과를 수집하기 위해 S3 버킷에 대한 읽기 액세스 권한이 있는 IAM 사용자가 필요합니다.

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

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

  1. SIEM 설정 > 피드로 이동합니다.
  2. 새 피드 추가를 클릭합니다.
  3. 다음 페이지에서 단일 피드 구성을 클릭합니다.
  4. 피드 이름에 고유한 이름을 입력합니다.
  5. 소스 유형으로 Amazon S3 V2를 선택합니다.
  6. 로그 유형으로 AWS Inspector를 선택합니다.
  7. 다음을 클릭한 후 제출을 클릭합니다.
  8. 다음 필드의 값을 지정합니다.

    • S3 URI: s3://inspector-findings-to-secops/findings/
    • 소스 삭제 옵션: 환경설정에 따라 삭제 옵션을 선택합니다.
    • 최대 파일 기간: 지난 일수 동안 수정된 파일을 포함합니다 (기본값은 180일).
    • 액세스 키 ID: S3 버킷에 대한 액세스 권한이 있는 사용자 액세스 키
    • 보안 비밀 액세스 키: S3 버킷에 액세스할 수 있는 사용자 보안 비밀 키
    • 애셋 네임스페이스: 애셋 네임스페이스
    • 수집 라벨: 이 피드의 이벤트에 적용할 라벨입니다.
  9. 다음을 클릭한 후 제출을 클릭합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 로직
duration_ms_label additional.fields 병합됨
evnt_app_class_label additional.fields 병합됨
evnt_cloud_application_class_label additional.fields 병합됨
evnt_cloud_sandbox_md5_label additional.fields 병합됨
evnt_cloudapp_rule_label additional.fields 병합됨
evnt_content_type_label additional.fields 병합됨
evnt_customer_label additional.fields 병합됨
evnt_department_label additional.fields 병합됨
evnt_location_label additional.fields 병합됨
evnt_lpclagg_label additional.fields 병합됨
evnt_lpcltype_label additional.fields 병합됨
evnt_network_service_label additional.fields 병합됨
evnt_tenant_label additional.fields 병합됨
evnt_url_category_label additional.fields 병합됨
exception_label additional.fields 병합됨
function_label additional.fields 병합됨
id_label additional.fields 병합됨
level_no_label additional.fields 병합됨
line_label additional.fields 병합됨
location_label additional.fields 병합됨
logger_field additional.fields 병합됨
msg_location_label additional.fields 병합됨
msg_record_functionName_label additional.fields 병합됨
msg_record_functionVersion_label additional.fields 병합됨
msg_record_initializationType_label additional.fields 병합됨
msg_record_instancId_label additional.fields 병합됨
msg_record_instanceMaxMemory_label additional.fields 병합됨
msg_record_phase_label additional.fields 병합됨
msg_service_label additional.fields 병합됨
msg_type_label additional.fields 병합됨
msg_xray_trace_id_label additional.fields 병합됨
protocol_label additional.fields 병합됨
record_version_label additional.fields 병합됨
repr_label additional.fields 병합됨
service_label additional.fields 병합됨
sourcetype_label additional.fields 병합됨
thread_name_label additional.fields 병합됨
type_label additional.fields 병합됨
xray_trace_id_label additional.fields 병합됨
evnt_device_hostname intermediary.hostname 직접 매핑됨
evnt_fwd_method_label intermediary.resource.attribute.labels 병합됨
desc_msg metadata.description 직접 매핑됨
message metadata.description 직접 매핑됨
msg metadata.description 직접 매핑됨
msg_desc_msg metadata.description 직접 매핑됨
msg_record_desc_msg metadata.description 직접 매핑됨
msg_text metadata.description 직접 매핑됨
msg.time metadata.event_timestamp ISO8601(으)로 파싱됨
repr_time metadata.event_timestamp ISO8601로 파싱됨
timestamp metadata.event_timestamp ISO8601로 파싱됨
has_host metadata.event_type 매핑됨: true → STATUS_UPDATE
has_user metadata.event_type 매핑됨: true → USER_COMMUNICATION, true → USER_UNCATEGORIZED
msg_record_module metadata.product_event_type 직접 매핑됨
id_1 metadata.product_log_id 직접 매핑됨
evnt_bytes_in network.received_bytes 직접 매핑됨
evnt_bytes_out network.sent_bytes 직접 매핑됨
evnt_app_name principal.application 직접 매핑됨
msg_record_process_name principal.application 직접 매핑됨
evnt_device_app_version_label principal.asset.attribute.labels 병합됨
evnt_ssl_policy_label principal.asset.attribute.labels 병합됨
evnt_server_ip principal.asset.ip 병합됨
evnt_src_ip principal.asset.ip 병합됨
evnt_src_translated_ip principal.asset.ip 병합됨
msg_record_file_path principal.file.full_path 직접 매핑됨
msg_record_file_name principal.file.names 병합됨
evnt_hostname principal.hostname 직접 매핑됨
host principal.hostname 직접 매핑됨
evnt_server_ip principal.ip 병합됨
evnt_src_ip principal.ip 병합됨
evnt_src_translated_ip principal.ip 병합됨
evnt_os principal.platform 매핑됨: Windows → WINDOWS, Linux → LINUX
evnt_src_port principal.port 직접 매핑됨
port_number principal.port 직접 매핑됨
msg_record_process_id principal.process.pid 직접 매핑됨
cmd_status_label principal.resource.attribute.labels 병합됨
evnt_format_label principal.resource.attribute.labels 병합됨
evnt_os_label principal.resource.attribute.labels 병합됨
msg_record_runtimeVersionArn_label principal.resource.attribute.labels 병합됨
msg_record_runtimeVersion_label principal.resource.attribute.labels 병합됨
record_requestId_labels principal.resource.attribute.labels 병합됨
requestId_labels principal.resource.attribute.labels 병합됨
msg_record_name principal.resource.name 직접 매핑됨
id principal.resource.product_object_id 직접 매핑됨
evnt_url principal.url 직접 매핑됨
evnt_device_owner principal.user.user_display_name 직접 매핑됨
evnt_user principal.user.userid 직접 매핑됨
msg_extra_desc_msg_body_account_id principal.user.userid 직접 매핑됨
evnt_action security_result.action 매핑됨: allow → security_result_action
security_result_action security_result.action 병합됨
security_result_category_details security_result.category_details 병합됨
security_result_url_super_category security_result.category_details 병합됨
elapsed_time_label security_result.detection_fields 병합됨
evnt_session_count_label security_result.detection_fields 병합됨
evnt_ssl_decrypted_label security_result.detection_fields 병합됨
evnt_url_class_label security_result.detection_fields 병합됨
level_icon_label security_result.detection_fields 병합됨
level security_result.severity 매핑됨: INFO → INFORMATIONAL, WARNING → MEDIUM
msg_level security_result.severity 매핑됨: INFO → INFORMATIONAL, WARNING → MEDIUM
evnt_dest_ip target.ip 병합됨
evnt_dest_country target.location.country_or_region 직접 매핑됨
evnt_dest_port target.port 직접 매핑됨
dst_url target.url 직접 매핑됨
해당 사항 없음 metadata.event_type 상수: USER_COMMUNICATION
해당 사항 없음 metadata.product_name 상수: AWS Inspector
해당 사항 없음 metadata.vendor_name 상수: AWS Inspector
해당 사항 없음 network.ip_protocol 상수: UDP
해당 사항 없음 principal.platform 상수: WINDOWS
해당 사항 없음 security_result.detection_fields 상수: client_tunnel_ip_label
해당 사항 없음 security_result.severity 상수: INFORMATIONAL

변경 로그

이 파서의 변경 로그 보기

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