

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 아키텍처 개요
<a name="architecture-overview"></a>

이 섹션에서는 이 솔루션과 함께 배포된 구성 요소에 대한 참조 구현 아키텍처 다이어그램을 제공합니다.

## 아키텍처 다이어그램
<a name="architecture-diagram"></a>

기본 파라미터를 사용하여이 솔루션을 배포하면 AWS 계정에 다음 구성 요소가 배포됩니다.

 **CloudFormation 템플릿은 AWS WAF 및 기타 AWS 리소스를 배포하여 일반적인 공격으로부터 웹 애플리케이션을 보호합니다.**

![\[aws waf 아키텍처 개요\]](http://docs.aws.amazon.com/ko_kr/solutions/latest/security-automations-for-aws-waf/images/aws-waf-architecture-overview.png)


설계의 핵심은 웹 애플리케이션에 대한 모든 수신 요청에 대한 중앙 검사 및 결정 지점 역할을 하는 [AWS WAF](https://aws.amazon.com/waf/) 웹 ACL입니다. CloudFormation 스택의 초기 구성 중에 사용자는 활성화할 보호 구성 요소를 정의합니다. 각 구성 요소는 독립적으로 작동하며 웹 ACL에 서로 다른 규칙을 추가합니다.

이 솔루션의 구성 요소는 다음과 같은 보호 영역으로 그룹화할 수 있습니다.

**참고**  
그룹 레이블은 WAF 규칙의 우선 순위 수준을 반영하지 않습니다.
+  **AWS 관리형 규칙(A)** -이 구성 요소에는 AWS 관리형 규칙 [IP 평판 규칙 그룹](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html), [기준 규칙 그룹](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html) 및 [사용 사례별 규칙 그룹이](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html) 포함되어 있습니다. 이러한 규칙 그룹은 자체 규칙을 작성할 필요 없이 [OWASP](https://owasp.org/) 간행물에 설명된 트래픽을 포함하여 일반적인 애플리케이션 취약성 또는 기타 원치 않는 트래픽의 악용으로부터 보호합니다.
+  **수동 IP 목록(B 및 C)** - 이러한 구성 요소는 두 개의 AWS WAF 규칙을 생성합니다. 이러한 규칙을 사용하면 허용하거나 거부할 IP 주소를 수동으로 삽입할 수 있습니다. Amazon [ EventBridge 규칙 및 Amazon](https://aws.amazon.com/eventbridge) [ DynamoDB를 사용하여 허용되거나 거부된 IP 세트에서 IP 보존을 구성하고 만료된 IP 주소를 제거할 수 있습니다](https://aws.amazon.com/dynamodb). [https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) 자세한 내용은 [허용 및 거부된 AWS WAF IP 세트에서 IP 보존 구성을](configure-ip-retention-on-allowed-and-denied-aws-waf-ip-sets.md) 참조하세요.
+  **SQL Injection(D) 및 XSS(E)** - 이러한 구성 요소는 URI, 쿼리 문자열 또는 요청 본문의 일반적인 SQL 삽입 또는 교차 사이트 스크립팅(XSS) 패턴으로부터 보호하도록 설계된 두 가지 AWS WAF 규칙을 구성합니다.
+  **HTTP Flood(F)** -이 구성 요소는 웹 계층 DDoS 공격 또는 무차별 대입 로그인 시도와 같은 특정 IP 주소의 많은 요청으로 구성된 공격으로부터 보호합니다. 이 규칙을 사용하면 기본 5분 기간 내에 단일 IP 주소에서 허용되는 최대 수신 요청 수를 정의하는 할당량을 설정합니다(**Athena 쿼리 실행 시간 일정** 파라미터로 구성 가능). 이 임계값을 위반하면 IP 주소의 추가 요청이 일시적으로 차단됩니다. AWS WAF 속도 기반 규칙을 사용하거나 Lambda 함수 또는 Athena 쿼리를 사용하여 AWS WAF 로그를 처리하여이 규칙을 구현할 수 있습니다. HTTP flood 완화 옵션과 관련된 장단점에 대한 자세한 내용은 [로그 구문 분석기 옵션을](log-parser-options.md) 참조하세요.
+  **스캐너 및 프로브(G)** -이 구성 요소는 오리진에서 생성된 비정상적인 양의 오류와 같은 의심스러운 동작을 검색하는 애플리케이션 액세스 로그를 구문 분석합니다. 그런 다음 고객이 정의한 기간 동안 의심스러운 소스 IP 주소를 차단합니다. [Lambda](https://aws.amazon.com/lambda/) 함수 또는 [Athena](https://aws.amazon.com/athena/) 쿼리를 사용하여이 규칙을 구현할 수 있습니다. 스캐너 및 프로브 완화 옵션과 관련된 장단점에 대한 자세한 내용은 [로그 구문 분석기 옵션을](log-parser-options.md) 참조하세요.
+  **IP 평판 목록(H)** -이 구성 요소는 차단할 새 범위에 대해 서드 파티 IP 평판 목록을 시간별로 확인하는 `IP Lists Parser` Lambda 함수입니다. 이러한 목록에는 Spamhaus Don't Route Or Peer(DROP) 및 Extended DROP(EDROP) 목록, Proofpoint Emerging Threats IP 목록 및 Tor 출구 노드 목록이 포함됩니다.
+  **잘못된 봇(I)** -이 구성 요소는 허니팟 메커니즘 외에도 Application Load Balancer(ALB) 또는 Amazon CloudFront에 대한 직접 연결을 모니터링하여 잘못된 봇 탐지를 개선합니다. 봇이 허니팟을 우회하고 ALB 또는 CloudFront와 상호 작용하려고 하면 시스템은 요청 패턴 및 로그를 분석하여 악의적인 활동을 식별합니다. 잘못된 봇이 감지되면 IP 주소가 추출되어 AWS WAF 블록 목록에 추가되어 추가 액세스를 방지합니다. 잘못된 봇 탐지는 구조화된 로직 체인을 통해 작동하여 포괄적인 위협 범위를 보장합니다.
  + HTTP Flood Protection Lambda 로그 파서 - 플러드 분석 중에 로그 항목에서 잘못된 봇 IPs를 수집합니다.
  + 스캐너 및 프로브 보호 Lambda 로그 파서 - 스캐너 관련 로그 항목에서 잘못된 봇 IPs.
  + HTTP Flood Protection Athena Log Parser - 쿼리 실행 전반의 파티션을 사용하여 Athena 로그에서 잘못된 봇 IPs를 추출합니다.
  + 스캐너 및 프로브 보호 Athena 로그 파서 - 동일한 파티셔닝 전략을 사용하여 스캐너 관련 Athena 로그에서 잘못된 봇 IPs를 검색합니다.
  + 폴백 감지 - HTTP Flood Protection과 스캐너 및 프로브 보호가 모두 비활성화된 경우 시스템은 [WAF 레이블 필터를](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html) 기반으로 봇 활동을 기록하는 Log Lambda 구문 분석기를 사용합니다.

이 솔루션의 세 가지 사용자 지정 Lambda 함수는 각각 CloudWatch에 런타임 지표를 게시합니다. 이러한 Lambda 함수에 대한 자세한 내용은 [구성 요소 세부 정보를 참조하세요](component-details.md).

# AWS Well-Architected 설계 고려 사항
<a name="well-architected"></a>

이 솔루션은 고객이 클라우드에서 안정적이고 안전하며 효율적이고 비용 효율적인 워크로드를 설계하고 운영할 수 있도록 지원하는 [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/)의 모범 사례를 사용합니다.

이 섹션에서는 Well-Architected Framework의 설계 원칙과 모범 사례가 이 솔루션에 어떤 이점을 제공하는지 설명합니다.

## 운영 우수성
<a name="operational-excellence"></a>

이 섹션에서는 [운영 우수성 요소](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/welcome.html)의 원칙과 모범 사례를 사용하여 이 솔루션을 설계한 방법을 설명합니다.
+ 솔루션은 지표를 CloudWatch로 푸시하여 인프라, Lambda 함수, [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/), Amazon S3 버킷 및 나머지 솔루션 구성 요소에 대한 관찰성을 제공합니다.
+ AWS 지속적 통합 및 지속적 전달(CI/CD) 파이프라인을 통해 솔루션을 개발, 테스트 및 게시합니다. 이를 통해 개발자는 고품질 결과를 일관되게 달성할 수 있습니다.
+ 계정에 필요한 모든 리소스를 프로비저닝하는 CloudFormation 템플릿을 사용하여 솔루션을 설치할 수 있습니다. 솔루션을 업데이트하거나 삭제하려면 템플릿을 업데이트하거나 삭제하기만 하면 됩니다.

## 보안
<a name="security-pillar"></a>

이 섹션에서는 [보안 요소](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html)의 원칙과 모범 사례를 사용하여 이 솔루션을 설계한 방법을 설명합니다.
+ 모든 서비스 간 통신은 [AWS Identity and Access Management](https://aws.amazon.com/iam/)(IAM) 역할을 사용합니다.
+ 솔루션에서 사용하는 모든 역할은 [최소 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) 액세스를 따릅니다. 즉, 서비스가 제대로 작동하는 데 필요한 최소 권한만 포함됩니다.
+ Amazon S3 버킷 및 DynamoDB를 포함한 모든 데이터 스토리지에는 저장 데이터 암호화가 있습니다.

## 신뢰성
<a name="reliability"></a>

이 섹션에서는 [신뢰성 요소](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html)의 원칙과 모범 사례를 사용하여 이 솔루션을 설계한 방법을 설명합니다.
+ 이 솔루션은 가능한 경우 AWS 서버리스 서비스(예: Lambda, Firehose, Amazon S3, Athena)를 사용하여 서비스 장애로부터 고가용성과 복구를 보장합니다.
+ 솔루션에 대한 자동 테스트를 수행하여 오류를 신속하게 감지하고 수정합니다.
+ 이 솔루션은 데이터 처리에 Lambda 함수를 사용합니다. 솔루션은 Amazon S3 및 DynamoDB에 데이터를 저장하며 기본적으로 여러 가용 영역에 유지됩니다.

## 성능 효율성
<a name="performance-efficiency"></a>

이 섹션에서는 [성능 효율성 요소](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html)의 원칙과 모범 사례를 사용하여 이 솔루션을 설계한 방법을 설명합니다.
+ 이 솔루션은 서버리스 아키텍처를 사용하여 저렴한 비용으로 높은 확장성과 가용성을 보장합니다.
+ 이 솔루션은 데이터를 분할하고 쿼리를 최적화하여 데이터 스캔 양을 줄이고 더 빠른 결과를 달성하여 데이터베이스 성능을 향상시킵니다.
+ 솔루션은 매일 자동으로 테스트되고 배포됩니다. 솔루션 아키텍트와 주제 전문가는 솔루션을 검토하여 실험하고 개선할 영역을 찾습니다.

## 비용 최적화
<a name="cost-optimization"></a>

이 섹션에서는 [비용 최적화 요소](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html)의 원칙과 모범 사례를 사용하여 이 솔루션을 설계한 방법을 설명합니다.
+ 이 솔루션은 서버리스 아키텍처를 사용하며 고객은 사용한 만큼만 비용을 지불합니다.
+ 솔루션의 컴퓨팅 계층은 기본적으로 pay-per-use 모델을 사용하는 Lambda로 설정됩니다.
+ Athena 데이터베이스 및 쿼리는 데이터 스캔 양을 줄이도록 최적화되어 비용을 절감합니다.

## 지속 가능성
<a name="sustainability"></a>

이 섹션에서는 [지속 가능성 요소](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html)의 원칙과 모범 사례를 사용하여 이 솔루션을 설계한 방법을 설명합니다.
+ 이 솔루션은 관리형 및 서버리스 서비스를 사용하여 백엔드 서비스의 환경 영향을 최소화합니다.
+ 솔루션의 서버리스 설계는 지속적으로 운영되는 온프레미스 서버의 공간에 비해 탄소 발자국을 줄이는 것을 목표로 합니다.