-
[AWS] 강의노트 - (6) Amazon VPC 보안기능Environment(개발환경)/Infra(인프라) 2023. 7. 11. 03:59반응형
AWS 강의 커리큘럼을 통해, 기본적인 사용법 학습과 경험을 취득하고자 수강을 시작했다!
애초에 코딩하면서 수기노트를 한 적도 까마득하며, 글씨 쓰는것도 귀찮아하는 나이기에 포스팅으로나마 주요내용을 정리하며 강의를 들으려한다!
- 강의 : CloudNet@와 함께하는 AWS 네트워킹 입문 (인프런 링크)
* CloudNet@ 측에서 강의영상 및 자료 저작권이 있어, 최대한 내용이해를 도울 수 있는 사진으로 대체해보려고 합니다 😁😁
☁️ 보안 그룹과 네트워크 ACL
- 네트워크 접근 제어(Access Control)
IT 자원의 보호를 위해 네트워크 측면에서 트래픽을 허용하거나 거부하는 접근 제어를 수행한다. 접근 제어 시스템은 3단계로 구분된다.
- 식별(Identification) : 각 단말에서 발생하는 트래픽을 식별하는 단계. (IP주소, 포트번호, 프로토콜 등)
- 인증(Authentication) : 자신의 정책과 비교하여 매칭 여부를 판단하는 단계. 허용 정책 테이블의 IP CIDR, 프로토콜 등을 참조.
- 권한(Authorization) : 인증에 통과한 트래픽에 권한을 부여하는 단계. 해당 트래픽을 통과시켜 목적지 단말까지 통신을 허용.
* 트래픽 흐름의 방향성
일반적인 네트워크 환경은 서로 트래픽을 교환하는 형태로, 접근 제어 대상은 트래픽 방향을 고려한 정책을 가진다.
출발지와 목적지 간의 접근제어를 통해 이러한 트래픽을 허용할 지 여부를 설정할 수 있다. (IP, 포트번호)
접근제어를 기준으로 들어오는 트래픽은 인바운드, 나가는 트래픽은 아웃바운드 라고 명명한다.
- 보안 그룹(Security Group)과 네트워크 ACL(NACL)
VPC 서브넷과 내부 IT자원의 트래픽 접근 제어를 위한 가상의 방화벽 역할
VPC에서 보안 그룹은 서브넷 내 자원들에 대한 접근제어(하위개념)를, 네트워크 ACL은 서브넷에 대한 접근제어(상위개념) 를 담당한다.
각각의 보안 그룹과 네트워크 ACL은, 인바운드 정책과 아웃바운드 정책을 각각 관리한다.
보안그룹은 Stateful 접근 통제를 한다. 즉, 인바운드 때 허용된 트래픽은 아웃바운드 규칙을 무시하고 BYPASS 하는 것이다.
네트워크 ACL은 Stateless 접근 통제를 한다. 인바운드 정책과 아웃바운드 정책을 각각 통제하는 것이다.
* 정책 테이블
보안 그룹과 네트워크 ACL은 정책 테이블이 공통적인 특징도 있지만, 구성과 확인방법에 차이가 있다.
보안 그룹은 허용규칙만 나열한다. 그래서, 모든 허용규칙에 매칭되지 않는 경우 트래픽을 거부한다.
네트워크 ACL은 허용규칙, 거부규칙을 나열한다. 그래서, 마지막에 모든 트래픽을 거부한다는 규칙이 자동으로 명시된다.
* 보안 그룹과 네트워크 ACL 비교
보안그룹 네트워크 ACL 인스턴스 단에서 실행 서브넷 단에서 실행 허용(allow) 규칙만 지원 허용(allow) 및 거부(deny) 규칙 지원 스테이트풀(stateful): 어떤 규칙과도 관계없이, 반환 트래픽이 자동적으로 허용된다. 스테이트레스(stateless): 반환 트래픽이 특정 규칙에 의해서 허용된다. 트래픽을 허용할 것인가에 대한 결정 전 모든 규칙을 평가한다. 트래픽을 허용할 것인가에 대해 결정할 때 가장 낮은 번호의 규칙부터 시작하여 순서대로 규칙들을 수행한다. 인스턴스를 시작할 때 보안그룹을 명시하거나 나중에 인스턴스와 보안그룹을 연결할 때에만 인스턴스에 적용된다. 연결된 서브넷 내 모든 인스턴스에 자동적으로 적용된다. (그리하여, 보안그룹이 너무 관대할 경우, 추가적인 방화벽을 제공한다.)
☁️ Amazon VPC Flow Logs
네트워크 접근 제어의 허용 트래픽, 거부 트래픽을 VPC Flow Logs를 통해 이력을 확인할 수 있다.
Flow Logs란 VPC에 속한 네트워크 인터페이스(ENI) 에 대한 송수신 트래픽 흐름 정보를 수집하는 기능이다.
* ENI(Elastic Network Interface) : 네트워크 통신 연결을 위한 물리적/논리적 접근 방법. IP에 대한 인터페이스를 인스턴스에 연결.
* VPC Flow Logs 3단계
- 대상 자원 : 로그 정보를 수집할 대상 자원(네트워크 인터페이스) 을 선택한다. VPC ENI, 서브넷 ENI, 단일 ENI 등.
- 트래픽 유형 : 허용 트래픽(ACCEPT), 거부 트래픽(REJECT), 모든 트래픽(ALL)
- 게시 대상 : Amazon S3(스토리지 저장), Amazon CloudWatch(모니터링 서비스) 2가지 방식
- VPC Flow Logs Record
Flow Logs에서 수집하여 표출하는 정보 형태. 기본적인 record 포멧이 있으며, 사진처럼 필드들을 커스텀도 할 수 있다.
- VPC Flow Logs 게시
플로우 로그 수집정보를 Record 기반으로 게시한다. 게시는 S3(스토리지), CloudWatch(모니터링 서비스) 2가지 방식이 있다.
AWS CloudWatch는 실시간 로그 및 이벤트 데이터를 수집하고 대시보드에 시각화하는 모니터링 도구이다.
이는, 4가지 영역으로 구분 가능하다.
- 수집 : 자원의 지표나 로그 정보 수집
- 모니터링 : 대시보드를 통한 가시성 있는 표출
- 대응 : 이벤트에 대한 자동화 대응
- 분석 : 일정 기간동안 실시간성 분석
* AWS IAM(Identity & Access Management)
IAM 서비스는 AWS 서비스와 리소스에 대한 엑세스를 안전하게 관리하도록 인증과 권한을 통제하는 서비스다.
VPC Flow Logs 게시 전에는 사용 권한을 부여해야 하는데, 여기서 IAM이 사용되는 것이다.
IAM 사용자는 AWS 루트 계정이 아닌, 계정 내 생성된 사용자 객체이다.
📎 출처
- [Network Access Control] code-lab1 님의 블로그 : https://code-lab1.tistory.com/234
- [접근 제어] Peemang 님의 블로그 : https://peemangit.tistory.com/189.
- [보안 그룹과 네트워크 ACL] Inpa 님의 블로그 : https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-VPC-%EA%B0%9C%EB%85%90-%EC%82%AC%EC%9A%A9-%EB%B3%B4%EC%95%88-%EC%84%A4%EC%A0%95-Security-Group-NACL
반응형'Environment(개발환경) > Infra(인프라)' 카테고리의 다른 글
[AWS] 강의노트 - (8) Amazon ELB 부하분산 (0) 2023.07.25 [AWS] 강의실습 - (7) 보안 그룹, 네트워크 ACL + Flow Logs (0) 2023.07.19 [AWS] 강의실습 - (5) VPC 서브넷 구성(Private) (0) 2023.07.09 [AWS] 강의실습 - (4) VPC 서브넷 구성(Public) (0) 2023.06.25 [AWS] 강의노트 - (3) Amazon VPC 개념 (0) 2023.06.13