AWS VPC Healthy Log Status


Description

Checks for the log status SKIPDATA, which indicates that data was lost either to an internal server error or due to capacity constraints.

Query · python

from panther_aws_helpers import aws_rule_context


def rule(event):
    return event.udm("log_status") == "SKIPDATA"


def alert_context(event):
    return aws_rule_context(event)

Analyst notes

Determine if the cause of the issue is capacity constraints, and consider adjusting VPC Flow Log configurations accordingly.

Raw source AWS VPC Healthy Log Status · Panther Python
Esc
Published by panther-labs/panther-analysis ↗, licensed under Apache 2.0 ↗. Reproduced here unmodified.
AnalysisType: rule
Filename: aws_vpc_healthy_log_status.py
RuleID: "AWS.VPC.HealthyLogStatus"
DisplayName: "AWS VPC Healthy Log Status"
Enabled: true
LogTypes:
  - AWS.VPCFlow
  - OCSF.NetworkActivity
Tags:
  - AWS
  - DataModel
  - Security Control
Severity: Info
CreateAlert: false
DedupPeriodMinutes: 1440
Description: >
  Checks for the log status `SKIPDATA`, which indicates that data was lost either to an internal server error or due to capacity constraints.
Reference: https://www.reddit.com/r/aws/comments/zt1xhg/vpc_flow_logs_when_is_logstatus_skipdata_a_concern/?rdt=41505
Runbook: >
  Determine if the cause of the issue is capacity constraints, and consider adjusting VPC Flow Log configurations accordingly.
Tests:
  - Name: Healthy Log Status
    ExpectedResult: false
    Log: { "status": "OK", "p_log_type": "AWS.VPCFlow" }
  - Name: Unhealthy Log Status
    ExpectedResult: true
    Log: { "status": "SKIPDATA", "p_log_type": "AWS.VPCFlow" }
  - Name: Healthy Log Status - OCSF
    ExpectedResult: false
    Log: { "status_code": "OK", "p_log_type": "OCSF.NetworkActivity" }
  - Name: Unhealthy Log Status - OCSF
    ExpectedResult: true
    Log: { "status_code": "SKIPDATA", "p_log_type": "OCSF.NetworkActivity" }


# ------ paired body: aws_vpc_healthy_log_status.py ------

from panther_aws_helpers import aws_rule_context


def rule(event):
    return event.udm("log_status") == "SKIPDATA"


def alert_context(event):
    return aws_rule_context(event)

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.