설명
보안 그룹에서 넓은 CIDR 대역을 허용하면 서비스나 데이터베이스에 접속할 필요가 없는 시스템까지 허용 범위에 포함될 수 있습니다. 공개 주소뿐 아니라 내부 네트워크에서도 업무에 필요한 출발지만 지정하세요.
프리픽스 길이만으로 적절한 접근 범위를 정할 수는 없습니다. 실제 클라이언트, 프로토콜, 포트와 연결 경로를 함께 검토해야 합니다. 네트워크 연결이 허용되어도 데이터베이스 인증과 권한은 별도로 적용됩니다.
잠재적 영향
- 연결 가능한 시스템이 많아져 불필요한 접속 시도와 취약점 악용 기회가 늘어날 수 있습니다.
- 허용 대역의 다른 시스템이 침해되면 이를 통한 내부 접근 시도가 가능해질 수 있습니다.
해결 방법
- EC2 규칙의
CidrIp·CidrIpv6를 필요한 주소로 줄이고 포트와 프로토콜도 제한하세요. 지원되는 연결에서는 애플리케이션 보안 그룹 참조를 검토하세요. - 기존 RDS DB 보안 그룹의
CIDRIP를 검토할 때도 실제 클라이언트를 기준으로 판단하세요. 현재 VPC의 RDS에는 VPC 보안 그룹을 사용하세요. - 변경 전에 필요한 통신을 확인하고, 적용 후 허용된 클라이언트의 연결과 그 밖의 연결 차단을 시험하세요.
예시
현재 VPC 보안 그룹을 사용하는 MySQL 예시입니다. 같은 VPC의 DB 서브넷 그룹, 지원되는 DB 클래스와 관리자 이름을 제공하세요. 비밀번호는 RDS가 Secrets Manager에서 관리합니다. 예제 주소는 실제 승인된 클라이언트 주소로 바꾸세요.
변경 전
yaml
Parameters:
VpcId:
Type: AWS::EC2::VPC::Id
DBSubnetGroupName:
Type: String
DBInstanceClass:
Type: String
MasterUsername:
Type: String
Resources:
DBinstance1:
Type: AWS::RDS::DBInstance
Properties:
VPCSecurityGroups:
- Ref: DbSecurity
AllocatedStorage: "20"
DBInstanceClass: !Ref DBInstanceClass
DBSubnetGroupName: !Ref DBSubnetGroupName
Engine: mysql
MasterUsername: !Ref MasterUsername
ManageMasterUserPassword: true
DeletionPolicy: Snapshot
UpdateReplacePolicy: Snapshot
DbSecurity:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: MySQL access
VpcId: !Ref VpcId
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 3306
ToPort: 3306
CidrIp: 10.0.0.0/23
MySQL 포트 3306에 내부 /23 대역을 허용합니다. 대역의 모든 주소가 업무에 필요한지 확인해야 합니다.
변경 후
yaml
Parameters:
VpcId:
Type: AWS::EC2::VPC::Id
DBSubnetGroupName:
Type: String
DBInstanceClass:
Type: String
MasterUsername:
Type: String
Resources:
DBinstance1:
Type: AWS::RDS::DBInstance
Properties:
VPCSecurityGroups:
- Ref: DbSecurity
AllocatedStorage: "20"
DBInstanceClass: !Ref DBInstanceClass
DBSubnetGroupName: !Ref DBSubnetGroupName
Engine: mysql
MasterUsername: !Ref MasterUsername
ManageMasterUserPassword: true
DeletionPolicy: Snapshot
UpdateReplacePolicy: Snapshot
DbSecurity:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: MySQL access
VpcId: !Ref VpcId
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 3306
ToPort: 3306
CidrIp: 10.0.1.10/32
하나의 IPv4 주소로 줄입니다. 이 주소가 승인된 클라이언트의 실제 주소인지 확인하고 다른 보안 그룹의 추가 허용 규칙도 검토하세요.