이 제품은 선택한 Datadog 사이트에서 지원되지 않습니다. ().
이 페이지는 아직 한국어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

Metadata

Id: terraform-aws-ec2-instance-using-default-security-group

Provider: AWS

Platform: Terraform

Severity: Medium

Category: Access Control

Learn More

Description

Amazon EC2 instances should not use the default security group, as this group is open by default and permits unrestricted inbound and outbound traffic (security_groups = [aws_security_group.default.id]). Using the default security group increases the risk of unauthorized access, lateral movement, and exposure of sensitive workloads. To reduce this attack surface, instances should be assigned to tightly controlled, custom security groups with explicit ingress and egress rules.

Compliant Code Examples

resource "aws_instance" "negative1" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"

  tags = {
    Name = "HelloWorld"
  }

  security_groups = [aws_security_group.sg.id]
}
resource "aws_instance" "negative2" {
  ami = "ami-003634241a8fcdec0"

  instance_type = "t2.micro"

  vpc_security_group_ids = [aws_security_group.sg.id]
}

Non-Compliant Code Examples

resource "aws_instance" "positive1" {
  ami           = "ami-003634241a8fcdec0"
  instance_type = "t3.micro"

  tags = {
    Name = "HelloWorld"
  }

  security_groups = ["default"]
}
resource "aws_default_security_group" "positive2" {
  vpc_id = "vpc-87654321"
}

resource "aws_instance" "positive2" {
  ami = "ami-003634241a8fcdec0"

  instance_type = "t2.micro"

  vpc_security_group_ids = [aws_default_security_group.positive2.id]
}
resource "aws_default_security_group" "default" {
  vpc_id = "vpc-12345678"
}

resource "aws_instance" "positive3" {
  ami = "ami-003634241a8fcdec0"

  instance_type = "t2.micro"

  vpc_security_group_ids = [aws_default_security_group.default.id]
}