💡 프로젝트 진행 중 network topology를 작성하는 도중 vpc를 왜 나누어야하는지 의문이 생겨 이를 정리해보기위해 작성하였습니다.
모든 망분리는 보안을 위한 것 !
과거에는 금융업쪽에서도 망을 분리하는 것이 필수적이지 않았던 시절도 있었다.
💡 우리나라에서는 2013년의 큰 쇼핑몰회사가 고객정보를 해커에게 털렸고,
주요원인은 “논리적 망분리 허술과 DB서버에 대한 접근통제실패”로 지목되었었다.
aws에서 사용가능한 통합 개발 환경으로, 개발환경과 운영환경을 분리할 수 있다.
VPC
는 독립된 네트워크 환경
AWS에서 소개하는 VPC
Amazon Virtual Private Cloud(VPC)를 사용하면 AWS 클라우드에서 논리적으로 격리된 공간을 프로비저닝하여 고객이 정의하는 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있습니다.
Region
: AWS 의 물리적 서버가 위치하고 있는 국가/지역 (ex.뉴욕,서울)Availability Zone
: Region 안에서 사용할 수 있는 데이터 센터(물리적 서버) (ex.서울,부산)VPC
: 사용자 전용의 가상 네트워크⭐ 그러나 Amazon VPC가 도입된 이후로 아래와 같이 인스턴스가 VPC에 속함으로써 네트워크를 구분할 수 있고 VPC 별로 필요한 설정을 통해 인스턴스에 네트워크 설정을 적용할 수 있게 되었다.
보안에 문제가 생겼을시 서비스에 심각한 문제를 방지하고자 피해를 보더라도 Bastion Server만 재구성하여 서비스에 영향을 최소화하도록 다른 서버들과 구분하는 보안을 위해 고안된 서버
Ex. 만약 22번 포트의 보안에 문제가 생긴다면 중요한 회사 서버 내역들의 보안에 문제가 생길 것이다.
때문에, 22번 Port 접속을 Bastion 서버에 오픈하고 그 서버의 보안을 더욱 집중하는 것이 효율적 (모든 서버의 보안을 최상으로 하는 것이 베스트겠지만 관리 요소가 늘어나고 비용 문제가 생김..)
Bastion Host가 없는 경우 외부 네트워크에서 공격을 받아 패스워드가 탈취 당하면 내부 네트워크 Server에 바로 접근이 가능해진다. 하지만 Bastion Host를 운영하고 있다면 외부 네트워크의 패스워드가 탈취 당하더라도 내부 Server까지는 한번에 접근할 수 없다.
NACL → 트래픽제어 서브넷은 하나의 NACL만 적용 가능
같은 서브넷끼리 통신할 때 : Security Group 정책을 거치면서 통신
다른 서브넷끼리 통신할 때 : NACL의 정책을 먼저 거친 후, Security Group의 정책을 거치면서 통신
보안 대원칙(ground rules) 중에 하나로 "외부에 노출되는 면적 최소화"를 만족하기 위한 조치이다.
웹 서비스를 위한 통신망 (구성/분리)
왜 public과 private으로 subnet을 나누어야 할까요?
[AWS] 📚 VPC 개념 & 사용 - 인프라 구축 [Subnet / Routing / Internet Gateway]
클라우드 환경에서 개발 한 경험이 있는데 보안 측면에서 VPC 망 분리에 대해 깊이 고민해 봐야겠다는 생각이 드네요! 글 잘 읽었습니다 :)