트래픽 규칙이 남아 있는 기본 보안 그룹

기본 보안 그룹에 의도하지 않은 접근 규칙이 남지 않도록 전용 그룹으로 필요한 통신을 분리하세요.

설명

VPC의 기본 보안 그룹은 보안 그룹을 지정하지 않은 리소스에 연결될 수 있습니다. 기본 인바운드 규칙은 같은 그룹의 리소스 간 통신을 허용하며, 기본 아웃바운드 규칙은 모든 목적지로의 통신을 허용합니다. 기본 인바운드 규칙 자체가 인터넷 접근을 허용하는 것은 아닙니다.

이 공유 그룹에 광범위한 허용 규칙을 추가하면 나중에 연결되는 리소스에도 같은 권한이 적용됩니다. 용도별 전용 보안 그룹을 사용하고, 사용하지 않는 기본 그룹의 규칙을 제거하는 편이 접근 범위를 관리하기 쉽습니다.

잠재적 영향

  • 불필요한 인바운드 규칙으로 내부 서비스나 관리 포트에 대한 접속 시도가 늘어날 수 있습니다.
  • 광범위한 아웃바운드 허용은 침해된 리소스의 외부 통신 경로를 늘릴 수 있습니다.

해결 방법

  • 기본 그룹에 연결된 리소스와 필요한 통신을 확인하고, 제한된 전용 그룹을 먼저 구성해 연결하세요.
  • 필요한 연결이 동작하는지 확인한 뒤 기본 그룹의 불필요한 인바운드·아웃바운드 규칙을 제거하세요. 기본 그룹 자체는 삭제할 수 없습니다.
  • 새 보안 그룹에서 아웃바운드 규칙을 생략하면 모든 목적지로의 허용 규칙이 추가됩니다. 필요한 목적지와 프로토콜을 명시하고 실제 규칙을 확인하세요.

예시

첫 예시는 기존 기본 그룹 ID를 입력받아 광범위한 SSH 규칙을 추가합니다. 두 번째는 필요한 SSH 출발지와 목적지만 허용하는 전용 그룹을 만듭니다. 실제 VPC와 승인된 CIDR을 제공하고, 필요한 다른 통신도 검토하세요. 전용 그룹 배포만으로 기존 리소스의 연결이나 기본 그룹 규칙이 변경되지는 않습니다.

변경 전

yaml
Parameters:
  DefaultSecurityGroupId:
    Type: AWS::EC2::SecurityGroup::Id
Resources:
  SharedSSHIngress:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: !Ref DefaultSecurityGroupId
      IpProtocol: tcp
      FromPort: 22
      ToPort: 22
      CidrIp: 0.0.0.0/0
  SharedSSHEgress:
    Type: AWS::EC2::SecurityGroupEgress
    Properties:
      GroupId: !Ref DefaultSecurityGroupId
      IpProtocol: tcp
      FromPort: 22
      ToPort: 22
      CidrIp: 0.0.0.0/0

같은 기본 그룹을 사용하는 리소스 전체에 영향을 줄 수 있습니다. 실제 외부 연결에는 라우팅과 주소 등 다른 네트워크 조건도 필요합니다.

변경 후

yaml
Parameters:
  VpcId:
    Type: AWS::EC2::VPC::Id
  AdminCidr:
    Type: String
  SSHDestinationCidr:
    Type: String
Resources:
  DedicatedSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Restricted SSH connectivity
      VpcId: !Ref VpcId
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: !Ref AdminCidr
      SecurityGroupEgress:
        - IpProtocol: tcp
          FromPort: 22
          ToPort: 22
          CidrIp: !Ref SSHDestinationCidr

전용 그룹을 대상 리소스에 연결하고 통신을 시험한 뒤 기존 기본 그룹 연결과 불필요한 규칙을 정리하세요. 보안 그룹은 상태를 추적하므로 허용된 연결의 응답을 위해 별도 역방향 규칙을 추가할 필요는 없습니다.

참조