SecurityGroup
1 Security Group
- AWS Security Group은 Amazon Web Services(AWS)에서 가상 서버의 보안 설정을 관리하는 필수적인 도구입니다.
- Security Group은 가상 방화벽 역할을 하며, 인바운드와 아웃바운드 트래픽을 제어합니다.
- Security Group은 EC2 인스턴스 외부에서 작동되며, 차단된 트래픽은 EC2 인스턴스에 도달하기도 전에 차단됩니다.
2 주요 기능
2.1 인바운드 및 아웃바운드 트래픽 제어
- Security Group은 EC2 인스턴스에 대한 인바운드와 아웃바운드 트래픽을 제어합니다.
- 각 규칙은 허용되는 트래픽의 유형, 출발지, 목적지, 프로토콜 및 포트를 정의합니다.
- 기본적으로 모든 인바운 드 트래픽은 차단되며, 아웃바운드 트래픽은 허용됩니다.
2.2 상태 저장 방화벽
- Security Group은 상태 저장(Stateful) 방화벽으로 동작합니다.
- 인바운드 규칙에 의해 허용된 트래픽에 대한 응답 트래픽은 아웃바운드 규칙 없이도 자동으로 허용됩니다.
- 아웃바운드 규칙에 의해 허용된 트래픽에 대한 응답 트래픽도 인바운드 규칙 없이 허용됩니다.
2.3 다양한 리소스 적용
- Security Group은 여러 EC2 인스턴스, 로드 밸런서, RDS 인스턴스 등 다양한 AWS 리소스에 적용할 수 있습니다.
- 이를 통해 여러 리소스의 네트워크 보안을 일관되게 관리할 수 있습니다.
2.4 규칙의 동적 변경
- Security Group의 규칙은 언제든지 동적으로 변경할 수 있습니다.
- 변경 사항은 즉시 적용되며, 이는 빠르고 유연한 보안 정책 관리를 가능하게 합니다.
2.5 다중 Security Group 적용
- 하나의 리소스에 여러 Security Group을 적용할 수 있습니다.
- 이로 인해 보안 규칙을 더욱 세밀하게 관리하고, 다양한 시나리오에 맞게 조합할 수 있습니다.
- 여러 보안 그룹이 연결된 경우, 모든 보안 그룹의 규칙이 통합되어 적용됩니다.
- 여러 보안 그룹이 인스턴스에 적용될 때, 규칙들은 통합되어 하나의 큰 규칙 집합을 생성합니다.
- 인바운드 트래픽의 경우, 어느 하나의 보안 그룹에서라도 허용되면 해당 트래픽이 허용됩니다.
- 아웃바운드 트래픽도 마찬가지로 어느 하나의 보안 그룹에서 허용하면 허용됩니다.
- EC2에서 보안 그룹 규칙은 오직 허용(permissive)만 가능합니다. 다시 말해, 어떠한 거부(DENY) 규칙도 추가할 수 없습니다.
- 이는 가장 permissive 규칙이 항상 적용된다는 것을 의미합니다.
- 예를 들어:
- 하나의 보안 그룹이 IP 주소 10.10.10.10에서 포트 22로의 접근을 허용하고,
- 다른 보안 그룹이 모든 사용자로부터 포트 22로의 접근을 허용한다면,
- 결과적으로 모든 사용자가 해당 인스턴스의 포트 22에 접근할 수 있게 됩니다.
3 AWS Security Group과 통합되는 서비스
3.1 Amazon EC2
- EC2 인스턴스에 연결된 Security Group은 인스턴스에 대한 네트워크 트래픽을 제어합니다.
- 다양한 인스턴스 간의 트래픽을 격리하거나 허용할 수 있습니다.
3.2 Amazon RDS
- RDS 인스턴스에 대한 접근을 제어하여 데이터베이스 보안을 강화합니다.
- 특정 IP 또는 네트워크 대역만 접근을 허용할 수 있습니다.
3.3 Amazon Elastic Load Balancing (ELB)
- 로드 밸런서에 연결된 Security Group을 통해 트래픽을 제어합니다.
- 다양한 리소스로 트래픽을 분배하면서 보안을 유지할 수 있습니다.
3.4 AWS Lambda
- Lambda 함수에 연결된 VPC 내의 Security Group을 통해 네트워크 액세스를 제어합니다.
- 특정 리소스와의 통신만 허용할 수 있습니다.
4 설정 예시
4.1 기본 설정 예시
- 기본적으로 모든 인바운드 트래픽을 차단하고, 특정 포트만 허용하는 설정 예시입니다.
- 인바운드 규칙: TCP 포트 22(SSH) 및 80(HTTP) 허용
- 아웃바운드 규칙: 모든 트래픽 허용
4.2 웹 서버 보안 설정 예시
- 웹 서버의 보안을 위한 Security Group 설정 예시입니다.
- 인바운드 규칙:
- TCP 포트 80(HTTP) 허용
- TCP 포트 443(HTTPS) 허용
- TCP 포트 22(SSH) 허용 (관리자 IP 주소만)
- 아웃바운드 규칙:
- 모든 트래픽 허용
참고 자료