GuardDuty is not enabled at organization level

ID

guard_duty_not_enabled_org_level

Severity

low

Vendor

AWS

Resource

GuardDuty

Tags

reachable

Description

Amazon GuardDuty is a threat detection service that monitors certain events in audit and management logs, and analyzes EBS volume data for malware protection. This is a regional service, and it is recommended to have GuardDuty enabled in all supported AWS regions.

This detector checks if the GuardDuty detector is enabled and its organization configuration has auto_enable set. It also checks if the configuration for the organization is set as given in the configuration.

For more information, please read Getting started with GuardDuty, as well as the aws_guardduty_detector and guardduty_organization_configuration Terraform resources.

Examples

resource "aws_guardduty_detector" "guard_duty" {
  enable = false (1)
}

resource "aws_guardduty_organization_configuration" "org_conf" {
  auto_enable = false (2)
  detector_id = aws_guardduty_detector.guard_duty.id

  datasources {
    s3_logs {
      auto_enable = false (3)
    }
    kubernetes {
      audit_logs {
        enable = true
      }
    }
    malware_protection {
      scan_ec2_instance_with_findings {
        ebs_volumes {
          auto_enable = true
        }
      }
    }
  }
}
1 GuardDuty is "suspended", no monitoring / reporting.
2 GuardDuty is not enabled in the current AWS Region.
3 The detector configuration requireds this to be true, so S3 date event logs are enabled for new members of the organization.

Mitigation / Fix

Buildtime

Terraform

resource "aws_guardduty_detector" "guard_duty" {
  enable = true // FIXED
}

resource "aws_guardduty_organization_configuration" "org_conf" {
  auto_enable = true // FIXED
  detector_id = aws_guardduty_detector.guard_duty.id

  datasources {
    s3_logs {
      auto_enable = true // FIXED
    }
    kubernetes {
      audit_logs {
        enable = true
      }
    }
    malware_protection {
      scan_ec2_instance_with_findings {
        ebs_volumes {
          auto_enable = true
        }
      }
    }
  }
}