wazuh-logging/guardduty¶
범위 (Scope)¶
GuardDuty 위협 탐지를 활성화하고, findings를 저장할 S3 버킷을 만들며, Wazuh EC2가 그 findings를 읽을 수 있도록 IAM 권한을 연결한다.
- GuardDuty 감지기 활성화 (15분 주기로 findings 발행)
- findings 저장용 S3 버킷 생성
- 퍼블릭 접근 차단
- 버저닝 활성화 (실수 삭제/덮어쓰기 대비)
- 30일 지난 이전 버전 자동 만료 (라이프사이클)
- findings 버킷 암호화용 KMS 키 생성 및 별칭 지정
- GuardDuty가 버킷에 findings를 쓸 수 있도록 버킷 정책 부여
- GuardDuty 감지기 → S3 버킷 publishing destination 연결
- Wazuh EC2가 findings 버킷/KMS 키를 읽을 수 있는 IAM 정책을 만들어
platform/wazuh의 Wazuh Role에 연결 - Wazuh EC2 Role에 S3/KMS 접근 권한을 부여했다. 실제 수집을 시작하려면 Wazuh Manager의 'ossec.conf'에 'aws-s3' 모듈 설정이 별도로 필요하다.
주의사항¶
- GuardDuty 감지기는 계정 + 리전당 1개만 허용된다. apply 전 반드시 아래 명령으로 기존 감지기 여부를 확인할 것.
- S3 버킷 이름(
whs4-kintoun-guardduty-findings)은 전역 유일해야 하므로 계정 식별자를 접미사로 붙여 충돌을 방지했다.
의존 관계¶
platform/wazuh가 먼저 apply되어야 한다. platform/wazuh의 출력값
(wazuh_role_name, wazuh_ec2_arn)을 terraform_remote_state로 읽어
IAM 정책을 그 Role에 붙이기 때문이다.
입력 (Input Variables)¶
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
project_name |
string | "kintoun-secops-infra" |
태그에 사용하는 프로젝트 이름 |
외부 참조 (Remote State)¶
| 참조 대상 | 출력값 | 용도 |
|---|---|---|
platform/wazuh |
wazuh_role_name |
GuardDuty 읽기 권한을 붙일 IAM Role |
platform/wazuh |
wazuh_ec2_arn |
S3/KMS 접근을 이 EC2 인스턴스로 제한하는 조건 |
출력 (Outputs)¶
현재 outputs.tf 없음 — 다른 루트가 이 모듈의 결과를 참조하지 않음.
생성되는 주요 리소스¶
aws_guardduty_detector.mainaws_s3_bucket.guardduty_findingsaws_kms_key.guardduty_findings/aws_kms_alias.guardduty_findingsaws_iam_policy.guardduty_logging_wazuhaws_iam_role_policy_attachment.guardduty_logging_wazuh