

# SEC05-BP01 네트워크 계층 생성
<a name="sec_network_protection_create_layers"></a>

민감도 요구 사항을 공유하는 구성 요소를 계층으로 그룹화하여 무단 액세스의 잠재적 영향 범위를 최소화합니다. 예를 들어 인터넷에 액세스할 필요가 없는 Virtual Private Cloud(VPC)의 데이터베이스 클러스터는 인터넷에 연결되는 경로가 없는 서브넷에 배치해야 합니다. 트래픽은 인접해 있는 다음으로 덜 민감한 리소스에서만 전달되어야 합니다. 로드 밸런서 뒤에 있는 웹 애플리케이션을 고려합니다. 데이터베이스는 로드 밸런서에서 직접 액세스할 수 없어야 합니다. 비즈니스 로직 또는 웹 서버만 데이터베이스에 직접 액세스할 수 있어야 합니다. 

 **원하는 결과:** 계층화된 네트워크를 생성합니다. 계층화된 네트워크는 유사한 네트워킹 구성 요소를 논리적으로 그룹화하는 데 도움이 됩니다. 또한 무단 네트워크 액세스의 잠재적 영향 범위를 축소합니다. 적절하게 계층화된 네트워크는 권한이 없는 사용자가 AWS 환경 내에서 추가 리소스로 전환하는 것을 더 어렵게 만듭니다. 내부 네트워크 경로를 보호하는 것 외에도 웹 애플리케이션 및 API 엔드포인트와 같은 네트워크 엣지도 보호해야 합니다. 

 **일반적인 안티 패턴:** 
+  단일 VPC 또는 서브넷에서 모든 리소스를 생성합니다. 
+  지나치게 관대한 보안 그룹을 사용합니다. 
+  서브넷을 사용하지 못합니다. 
+  데이터베이스와 같은 데이터 스토어에 직접 액세스할 수 있습니다. 

 **이 모범 사례를 따르지 않을 경우 노출 위험도:** 높음 

## 구현 가이드
<a name="implementation-guidance"></a>

 연결성 요구 사항을 공유하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스, Amazon Relational Database Service(Amazon RDS) 데이터베이스 클러스터, AWS Lambda 함수와 같은 구성 요소를 서브넷으로 구성된 계층으로 분할할 수 있습니다. VPC 내 또는 [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 뒤에 [Lambda](https://docs.aws.amazon.com/lambda/index.html) 함수와 같은 서버리스 워크로드를 배포하는 것이 좋습니다. 인터넷에 액세스할 필요가 없는 [AWS Fargate](https://aws.amazon.com/fargate/getting-started/) 작업은 인터넷에 연결되는 경로가 없는 서브넷에 배치해야 합니다. 이러한 계층화된 접근 방식은 의도치 않은 액세스를 허용할 수 있는 단일 계층 구성 오류로 인한 영향을 완화합니다. AWS Lambda의 경우, VPC에서 함수를 실행하여 VPC 기반 제어를 활용할 수 있습니다. 

 수천 개의 VPC, AWS 계정 및 온프레미스 네트워크를 포함할 수 있는 네트워크 연결의 경우 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)를 사용해야 합니다. Transit Gateway는 스포크처럼 작동하는 연결된 모든 네트워크 간에 트래픽이 라우팅되는 방식을 제어하는 허브 역할을 합니다. Amazon Virtual Private Cloud(Amazon VPC)와 Transit Gateway 간의 트래픽은 AWS 프라이빗 네트워크에 남아 있어 권한이 없는 사용자 및 잠재적인 보안 문제에 대한 외부 노출을 줄입니다. 또한 Transit Gateway 리전 간 피어링은 단일 장애 지점이나 대역폭 병목 없이 리전 간 트래픽을 암호화합니다. 

 **구현 단계** 
+  **[Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/how-reachability-analyzer-works.html)를 사용하여 구성에 따라 소스와 대상 사이의 경로를 분석:** Reachability Analyzer를 사용하면 VPC 연결 리소스와의 연결 확인을 자동화할 수 있습니다. 이 분석은 구성을 검토하여 수행됩니다(분석을 수행할 때 네트워크 패킷이 전송되지 않음). 
+  **[Amazon VPC Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-network-access-analyzer.html)를 사용하여 리소스에 대한 의도치 않은 네트워크 액세스 식별:** Amazon VPC Network Access Analyzer를 사용하면 네트워크 액세스 요구 사항을 지정하고 잠재적인 네트워크 경로를 식별할 수 있습니다. 
+  **리소스가 퍼블릭 서브넷에 있어야 하는지 고려:** 리소스가 퍼블릭 소스에서 인바운드 네트워크 트래픽을 반드시 수신해야 하는 경우가 아니라면 VPC의 퍼블릭 서브넷에 리소스를 배치하지 않아야 합니다. 
+  **[VPC에 서브넷](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html) 생성:** 각 네트워크 계층(여러 가용 영역을 포함하는 그룹)에 대한 서브넷을 생성하여 마이크로 세분화를 개선합니다. 또한 라우팅 및 인터넷 연결을 제어하기 위해 올바른 [라우팅 테이블](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html)을 서브넷과 연결했는지 확인합니다. 
+  **[AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/security-group-policies.html)를 사용하여 VPC 보안 그룹 관리:** AWS Firewall Manager는 여러 보안 그룹을 사용하는 관리 부담을 줄이는 데 도움이 됩니다. 
+  **[AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)를 사용하여 일반적인 웹 취약성으로부터 보호:** AWS WAF는 트래픽에서 SQL 명령어 삽입과 같은 일반적인 웹 취약성을 검사하여 엣지 보안을 강화하는 데 도움이 됩니다. 또한 특정 국가 또는 지리적 위치에서 발생하는 IP 주소의 트래픽을 제한할 수 있습니다. 
+  **[Amazon CloudFront](https://docs.aws.amazon.com/cloudfront/index.html)를 콘텐츠 배포 네트워크(CDN)로 사용:** Amazon CloudFront는 데이터를 사용자에게 더 가깝게 저장하여 웹 애플리케이션 속도를 높이는 데 도움이 됩니다. 또한 HTTPS를 시행하고, 지리적 영역에 대한 액세스 권한을 제한하고, 네트워크 트래픽이 CloudFront를 통해 라우팅될 때만 리소스에 액세스할 수 있도록 하여 엣지 보안을 개선할 수 있습니다. 
+  **애플리케이션 프로그래밍 인터페이스(API) 생성 시 [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 사용:** Amazon API Gateway는 REST, HTTPS 및 WebSocket API를 게시, 모니터링 및 보호하는 데 도움이 됩니다. 

## 리소스
<a name="resources"></a>

 **관련 문서:** 
+  [AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html) 
+ [ Amazon Inspector ](https://aws.amazon.com/inspector)
+  [Amazon VPC 보안](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Security.html) 
+ [ Reachability Analyzer ](https://docs.aws.amazon.com/vpc/latest/reachability/what-is-reachability-analyzer.html)
+ [ Amazon VPC Network Access Analyzer ](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/getting-started.html#run-analysis)

 **관련 동영상:** 
+  [AWS Transit Gateway reference architectures for many VPCs(여러 VPC를 위한 AWS Tranit Gateway 참조 아키텍처)](https://youtu.be/9Nikqn_02Oc)
+  [Application Acceleration and Protection with Amazon CloudFront, AWS WAF, and AWS Shield(Amazon CloudFront, AWS WAF 및 AWS Shield를 사용한 애플리케이션 가속화 및 보호)](https://youtu.be/0xlwLEccRe0) 
+ [AWS re:Inforce 2022 - Validate effective network access controls on AWS(AWS re:Inforce 2022 - AWS에서 효과적인 네트워크 액세스 검증)](https://www.youtube.com/watch?v=aN2P2zeQek0)
+ [AWS re:Inforce 2022 - Advanced protections against bots using AWS WAF(AWS re:Inforce 2022 - AWS WAF를 사용하여 봇에 대한 고급 보호)](https://www.youtube.com/watch?v=pZ2eftlwZns)

 **관련 예시:** 
+  [Well-Architected Lab - Automated Deployment of VPC(VPC 자동 배포)](https://www.wellarchitectedlabs.com/Security/200_Automated_Deployment_of_VPC/README.html) 
+ [ 워크숍: Amazon VPC Network Access Analyzer ](https://catalog.us-east-1.prod.workshops.aws/workshops/cf2ecaa4-e4be-4f40-b93f-e9fe3b1c1f64)