기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS WAF 및 구성 요소 설정
이 자습서에서는 AWS WAF를 사용하여 다음 작업을 수행하는 방법을 보여 줍니다.
AWS WAF를 설정합니다.
-
AWS WAF 콘솔에서 마법사를 사용하여 웹 액세스 제어 목록(웹 ACL) 을 생성합니다.
-
AWS WAF에서 웹 요청을 검사할 AWS 리소스를 선택합니다. 이 자습서에서는 Amazon CloudFront에 대한 단계를 다룹니다. Amazon API Gateway REST API, Application Load Balancer, AWS AppSync GraphQL API, Amazon Cognito 사용자 풀,AWS App Runner 서비스 또는 AWS 확인된 액세스 인스턴스에 대한 프로세스는 기본적으로 동일합니다.
-
웹 요청을 필터링하는 데 사용할 규칙 및 규칙 그룹을 추가합니다. 예를 들어, 요청이 시작되는 IP 주소와 요청에서 공격자만 사용하는 값을 지정할 수 있습니다. 각 규칙에 대해 일치하는 웹 요청을 처리하는 방법을 지정합니다. 요청을 차단하거나 개수를 계산하는 등의 작업을 수행하고 CAPTCHA와 같은 봇 챌린지를 실행할 수 있습니다. 웹 ACL 내에서 정의하는 각 규칙과 규칙 그룹 내에서 정의하는 각 규칙에 대해 작업을 정의할 수 있습니다.
웹 ACL에 대한 기본 동작을 Block 또는 Allow으로 지정합니다. 이는 웹 ACL의 규칙이 요청을 명시적으로 허용 또는 차단하지 않을 때 요청에 대해 AWS WAF에서 수행하는 작업입니다.
참고
일반적으로 AWS는 이 자습서에서 생성하는 리소스에 대해 매일 US $0.25 미만을 청구합니다. 자습서를 완료하면 불필요한 요금 발생을 방지하기 위해 리소스를 삭제하는 것이 좋습니다.
1단계: AWS WAF 설정
서비스를 사용하도록 계정 설정에서 아직 일반적인 설정 단계를 따르지 않은 경우 지금 실행합니다.
2단계: 웹 ACL 생성
AWS WAF 콘솔은 지정한 조건(예: 요청이 시작되는 IP 주소 또는 요청의 값)을 기반으로 웹 요청을 차단하거나 허용하도록 AWS WAF를 구성하는 프로세스를 안내합니다. 이 단계에서는 웹 ACL을 생성합니다. AWS WAF 웹 ACL에 대한 자세한 내용은 AWS WAF에서 웹 ACL 사용 섹션을 참조하세요.
웹 ACL을 생성하려면
AWS Management Console에 로그인하여 https://console.aws.amazon.com/wafv2/
에서 AWS WAF 콘솔을 엽니다. -
AWS WAF 홈페이지에서 웹 ACL 생성을 선택합니다.
-
이름에 이 웹 ACL을 식별하는 데 사용할 이름을 입력합니다.
참고
웹 ACL을 생성한 후에는 명칭을 변경할 수 없습니다.
-
(선택 사항) 원할 경우 설명 - 선택 사항에 웹 ACL에 대한 자세한 설명을 입력합니다.
-
CloudWatch 지표 명칭에서 기본 명칭을 변경합니다(해당되는 경우). 유효한 문자를 보려면 콘솔의 지침을 따르십시오. 이름에는 특수 문자, 공백 또는 “All” 및 “Default_Action” 등 AWS WAF에 예약된 지표 이름을 포함할 수 없습니다.
참고
웹 ACL을 생성한 후에는 CloudWatch 지표 이름을 변경할 수 없습니다.
-
리소스 유형에 CloudFront 배포를 선택합니다. 리전은 CloudFront 배포를 위해 Global(CloudFront)(전역(CloudFront))으로 자동으로 채워집니다.
-
(선택 사항) 연결된 AWS 리소스 - 선택 사항의 경우 ,AWS 리소스 추가를 선택합니다. 대화 상자에서 연결할 리소스를 선택한 다음 추가를 선택합니다. AWS WAF는 웹 ACL 설명 및 연결 AWS 리소스 설명 페이지로 돌아갑니다.
-
다음을 선택합니다.
3단계: 문자열 일치 규칙 추가
이 단계에서는 문자열 일치 문을 사용하여 규칙을 생성하고 일치 요청으로 수행할 작업을 지정합니다. 문자열 일치 규칙 문은 AWS WAF를 사용하여 요청에서 검색할 문자열을 식별합니다. 일반적으로 문자열은 인쇄 가능한 ASCII 문자로 구성되지만, 16진수 0x00에서 0xFF(십진수 0에서 255) 사이의 어떤 문자든지 지정할 수 있습니다. 검색할 문자열을 지정하는 것 외에도 헤더, 쿼리 문자열 또는 요청 본문과 같이 검색할 웹 요청 구성 요소를 지정합니다.
이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
요청 구성 요소 – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문).
주의
요청 구성 요소 본문, JSON 본문, 헤더 또는 쿠키를 검사하는 경우 의 웹 요청 구성 요소 크기 초과 AWS WAF에서 AWS WAF를 통해 검사할 수 있는 콘텐츠 양에 대한 제한 사항을 읽어 보십시오.
웹 요청 구성 요소에 대한 자세한 내용은 AWS WAF에서 규칙 문 설정 조정 섹션을 참조하세요.
선택적 텍스트 변환 — 요청 구성 요소를 검사하기 전에 AWS WAF에서 요청 구성 요소에 대해 수행할 변환. 예를 들어, 소문자로 변환하거나 공백을 정규화할 수 있습니다. 1개가 넘는 변환을 지정하는 경우 AWS WAF에서는 이러한 변환을 나열된 순서대로 처리합니다. 자세한 내용은 AWS WAF에서 텍스트 변환 사용 섹션을 참조하세요.
AWS WAF 규칙에 대한 추가 내용은 AWS WAF 규칙 섹션을 참조하세요.
문자열 일치 규칙 문을 생성하려면
-
Add rules and rule groups(규칙 및 규칙 그룹 추가) 페이지에서 규칙 빌더 추가, Add my own rules and rule groups(자체 규칙 및 규칙 그룹 추가), 규칙 빌더 및 Rule visual editor(규칙 시각적 편집기)를 차례로 선택합니다.
참고
콘솔은 Rule visual editor(규칙 시각적 편집기)와 Rule JSON editor(규칙 JSON 편집기)를 제공합니다. JSON 편집기는 웹 ACL 간에 구성을 쉽게 복사할 수 있게 해주므로 여러 수준의 중첩이 있는 규칙 집합과 같이 보다 복잡한 규칙 집합에 필요합니다.
이 절차에서는 Rule visual editor(규칙 시각적 편집기)를 사용합니다.
-
이름에 이 규칙을 식별하는 데 사용할 이름을 입력합니다.
-
유형에서 Regular rule(일반 규칙)을 선택합니다.
-
If a request(요청의 경우)에서 matches the statement(문 일치)를 선택합니다.
다른 옵션은 논리적 규칙문 유형에 사용됩니다. 이러한 논리적 규칙문 유형을 사용하여 다른 규칙 명령문의 결과를 결합하거나 무효화할 수 있습니다.
-
Statement(문)의 Inspect(검사)에서 드롭 다운을 열고 AWS WAF에서 검사하려는 웹 요청 구성 요소를 선택합니다. 이 예에서는 단일 헤더를 선택합니다.
단일 헤더를 선택할 때 AWS WAF에서 검사할 헤더도 지정합니다.
User-Agent
을 입력합니다. 이 값은 대소문자를 구분하지 않습니다. -
일치 유형에서 지정된 문자열이
User-Agent
헤더에 나타날 위치를 선택합니다.이 예제에서는 Exactly matches string(문자열에 정확히 일치)을 선택합니다. 이는 AWS WAF에서 사용자가 지정한 문자열과 동일한 문자열에 대해 각 웹 요청의 사용자 에이전트 헤더를 검사한다는 의미입니다.
-
String to match(일치 시킬 문자열)에 AWS WAF에서 검색할 문자열을 지정합니다. String to match(일치 시킬 문자열)의 최대 길이는 200자입니다. base64로 인코딩된 값을 지정하려는 경우, 인코딩하기 전에 최대 200자를 지정할 수 있습니다.
이 예제에서는 MyAgent를 입력합니다. AWS WAF는 웹 요청의
User-Agent
헤더에MyAgent
값이 있는지 검사합니다. -
Text transformation(텍스트 변형)은 없음으로 설정된 상태로 둡니다.
-
작업에서 웹 요청과 일치할 때 규칙에서 수행할 작업을 선택합니다. 예를 들면 개수를 선택하고 다른 선택 항목은 그대로 둡니다. 카운트 작업으로 규칙과 일치하는 웹 요청에 대한 지표가 생성되지만 요청의 허용 또는 차단 여부에는 영향을 주지 않습니다. 작업 선택에 대한 자세한 내용은 AWS WAF에서 규칙 작업 사용 및 AWS WAF에서 규칙 및 규칙 그룹과 함께 웹 ACL 사용 섹션을 참조하세요.
-
규칙 추가를 선택합니다.
4단계: AWS 관리형 규칙 규칙 그룹 추가
AWS 관리형 규칙에서는 AWS WAF 고객에게 대부분 무료로 사용할 수 있는 관리형 규칙 그룹 집합을 제공합니다. 규칙 그룹에 대한 자세한 내용은 AWS WAF 규칙 그룹 단원을 참조하세요. 이 웹 ACL에 AWS 관리형 규칙 그룹을 추가하겠습니다.
AWS 관리형 규칙 그룹을 추가하려면
-
Add rules and rule groups(규칙 및 규칙 그룹 추가) 페이지에서 규칙 추가를 선택한 다음 Add managed rule groups(관리형 규칙 그룹 추가)를 선택합니다.
-
관리형 규칙 그룹 추가 페이지에서 AWS 관리형 규칙 그룹의 목록을 확장합니다. (AWS Marketplace 판매자에게 제공되는 목록도 볼 수 있습니다. 해당 상품을 구독한 다음 AWS 관리형 규칙 그룹과 동일한 방식으로 사용할 수 있습니다.)
-
추가할 규칙 그룹에 대해 다음을 수행합니다.
-
작업 열에서 웹 ACL에 추가 토글을 켭니다.
-
편집을 선택하고 규칙 그룹의 규칙 목록에서 모든 규칙 작업 재정의 드롭다운을 열고 Count를 선택합니다. 이렇게 하면 계산할 규칙 그룹의 모든 규칙에 대한 작업만 설정됩니다. 따라서 규칙 그룹을 사용하기 전에 웹 요청과 함께 규칙 그룹의 모든 규칙이 어떻게 동작하는지 확인할 수 있습니다.
-
규칙 저장을 선택합니다.
-
-
관리형 규칙 그룹 추가 페이지에서 규칙 추가를 선택합니다. 그러면 규칙 및 규칙 그룹 추가 페이지로 돌아갑니다.
5단계: 웹 ACL 구성 완료
웹 ACL 구성에 규칙 및 규칙 그룹을 추가했으면 웹 ACL에서 규칙의 우선 순위를 관리하고 지표, 태그 지정 및 로깅과 같은 설정을 구성하여 절차를 마칩니다.
웹 ACL 구성을 완료하려면
-
Add rules and rule groups(규칙 및 규칙 그룹 추가) 페이지에서 다음을 선택합니다.
-
규칙 우선 순위 설정 페이지에서 웹 ACL의 규칙 및 규칙 그룹에 대한 처리 순서를 볼 수 있습니다. AWS WAF는 목록의 위에서부터 처리합니다. 규칙을 위아래로 이동하여 처리 순서를 변경할 수 있습니다. 이렇게 하려면 목록에서 하나를 선택하고 위로 이동 또는 아래로 이동을 선택합니다. 규칙 우선 순위에 대한 자세한 내용은 웹 ACL에서 규칙 우선 순위 설정 단원을 참조하세요.
-
다음을 선택합니다.
-
지표 구성 페이지의 Amazon CloudWatch 지표에서 규칙 및 규칙 그룹에 대해 계획된 지표를 확인할 수 있고, 웹 요청 샘플링 옵션을 볼 수 있습니다. 샘플링된 요청 보기에 대한 자세한 내용은 웹 요청 샘플 보기 섹션을 참조하세요. Amazon CloudWatch 지표에 대한 자세한 내용은 Amazon CloudWatch를 사용한 모니터링 섹션을 참조하세요.
AWS WAF 콘솔의 트래픽 개요 탭 아래에 있는 웹 ACL 페이지에서 웹 트래픽 지표 요약에 액세스할 수 있습니다. 콘솔 대시보드는 웹 ACL의 Amazon CloudWatch 지표에 대한 요약을 거의 실시간으로 제공합니다. 자세한 내용은 웹 ACL 트래픽 개요 대시보드 섹션을 참조하세요.
-
다음을 선택합니다.
-
Review and create web ACL(웹 ACL 검토 및 생성) 페이지에서 설정을 검토한 다음 Create web ACL(웹 ACL 생성)을 선택합니다.
마법사가 새 웹 ACL이 나열된 Web ACL(웹 ACL) 페이지로 돌아갑니다.
6단계: 리소스 정리
이제 자습서를 성공적으로 완료했습니다. 계정에 추가 AWS WAF 요금이 부과되지 않도록 생성한 AWS WAF 객체를 정리합니다. 또는 실제로 AWS WAF를 사용하여 관리할 웹 요청과 일치하도록 구성을 변경할 수 있습니다.
참고
일반적으로 AWS는 이 자습서에서 생성하는 리소스에 대해 매일 US $0.25 미만을 청구합니다. 작업을 마치면 불필요한 요금 발생을 방지하기 위해 리소스를 삭제하는 것이 좋습니다.
AWS WAF에서 요금을 부과하는 객체를 삭제하려면
-
Web ACL(웹 ACL) 페이지의 목록에서 웹 ACL을 선택하고 편집을 선택합니다.
-
연결된 AWS 리소스 탭에서 각각의 연결된 리소스에 대해 해당 리소스 이름 옆에 있는 라디오 버튼을 선택하고 나서 연결 해제를 선택합니다. 이렇게 하면 웹 ACL이 AWS 리소스와 연결되지 않습니다.
-
다음 각 화면에서 다음을 계속 선택하여 Web ACL 페이지로 돌아갑니다.
Web ACL(웹 ACL) 페이지의 목록에서 웹 ACL을 선택하고 삭제를 선택합니다.
규칙 및 규칙 문은 규칙 그룹 및 웹 ACL 정의의 범위를 벗어나 존재하지 않습니다. 웹 ACL을 삭제하면 웹 ACL에 정의된 개별 규칙들이 모두 삭제됩니다. 웹 ACL에서 규칙 그룹을 제거하면 규칙 그룹에 대한 참조만 제거됩니다.