보안에서 아주 중요한 원칙!

최소 권한의 원칙(PoLP)이란?

→ 무언가에 액세스할 때 필요한 최소한의 권한만 가지도록 제한하는 보안 원칙이다.

그렇다면 내가 여태까지 잘 사용한 bastion host의 인바운드 규칙(아래 사진)을 보자!! 모든 트래픽에 대해 22, 80 포트로 들어올 수 있다…! 이건 최소 권한의 원칙에 위배된다!!!

로드밸런서로 사용자 요청을 받고 트래픽을 흩뿌리는 방법을 배웠으니, 사실상 bastion host용 ec2에 접근하는 사람은 특별한 관리자(최소 권한)만 22 포트로 접근하는게 더 논리적일 것이다!!

→ 인바운드 22만 개발자 or 관리자의 ip만 가능하게끔 수정 필요

image.png

연습하느라 모든 IP에 대하여 인바운드를 열어줬었는데 실제 보안을 만든다고 생각하고 다시 최소 권한으로 좁혀보자!

인프라 아키텍처 그림을 보고 대략적으로 보안 그룹을 어떻게 셋팅하는지 파악하는 게 빠르다! 아래는 우리가 했던 인프라의 아키텍처이다!

image.png

ALB 먼저 보자!

만약 보안 그룹에 맞지 않는 요청(ex port 90)을 보내면 어떻게 될까?

→ 요청을 보내도 1분정도 계속 응답을 기다리면서 request time out이 뜬다.

→ 즉 포트가 알맞지 않으므로 닿지도 못하는 것이다 → 잘못된 응답 조차도 보내주지 못하는 것이다.

→ 이렇게 request time out 이면 10에 9은 보안그룹 설정 문제이니 나중에 주의하길!