민감한 포트가 외부에 공개된 EC2 보안 그룹

EC2의 관리·데이터 서비스 포트에 대한 인바운드를 필요한 클라이언트로 제한하세요.

설명

EC2에 연결된 보안 그룹이 관리 포트나 Redis 같은 데이터 서비스 포트를 0.0.0.0/0 또는 ::/0에 허용하면 모든 주소가 해당 규칙의 출발지 범위에 포함됩니다. 실제 인터넷 연결에는 인스턴스의 주소, 라우팅, 서비스 리스닝 상태와 다른 네트워크 제어도 관여합니다.

내부 서비스에 필요한 연결만 허용하고 인증과 암호화도 별도로 구성하세요. 보안 그룹의 허용 규칙이 데이터 접근 권한을 부여하는 것은 아닙니다.

잠재적 영향

  • 서비스에 도달할 수 있는 외부 클라이언트의 인증 공격이나 취약점 악용 시도가 늘어날 수 있습니다.
  • 인증 또는 서비스 취약점이 함께 있으면 정보 유출이나 서비스 중단으로 이어질 수 있습니다.

해결 방법

  • 민감한 포트를 전체 IPv4·IPv6 주소에 허용하는 규칙을 제거하거나 실제 클라이언트 주소로 좁히세요.
  • 지원되는 환경에서는 애플리케이션 보안 그룹 참조나 사설 관리 경로를 사용하세요. 연결된 모든 그룹의 추가 허용 규칙도 확인하세요.
  • 적용 후 필요한 클라이언트의 연결과 불필요한 연결 차단을 시험하고, 인증·패치·암호화 설정을 함께 점검하세요.

예시

같은 VPC의 서브넷과 호환되는 AMI를 제공하세요. 예시는 보안 그룹 연결을 보여 주며 Redis를 설치하지 않습니다. 10.0.20.0/24는 실제 애플리케이션 주소 범위로 바꾸고, 필요한 라우팅과 아웃바운드도 별도로 구성하세요.

변경 전

yaml
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
  VpcId:
    Type: AWS::EC2::VPC::Id
  SubnetId:
    Type: AWS::EC2::Subnet::Id
  ImageId:
    Type: AWS::EC2::Image::Id
Resources:
  UnsafeSecGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Allow Redis from the internet
      VpcId: !Ref VpcId
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 6379
          ToPort: 6379
          CidrIp: 0.0.0.0/0
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref ImageId
      SubnetId: !Ref SubnetId
      InstanceType: t3.medium
      SecurityGroupIds:
        - !Ref UnsafeSecGroup

TCP 6379를 모든 IPv4 주소에 허용합니다. 실제 서비스가 접근 가능하면 원치 않는 연결 시도의 대상이 될 수 있습니다.

변경 후

yaml
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
  VpcId:
    Type: AWS::EC2::VPC::Id
  SubnetId:
    Type: AWS::EC2::Subnet::Id
  ImageId:
    Type: AWS::EC2::Image::Id
Resources:
  SafeSecGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Allow Redis only from the application network
      VpcId: !Ref VpcId
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 6379
          ToPort: 6379
          CidrIp: 10.0.20.0/24
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !Ref ImageId
      SubnetId: !Ref SubnetId
      InstanceType: t3.medium
      SecurityGroupIds:
        - !Ref SafeSecGroup

동일한 포트의 출발지를 애플리케이션 대역으로 제한합니다. 이 대역의 모든 클라이언트에 연결이 필요한지도 확인하세요.

참조