[AWS] 일치하는 헤더를 블럭하는 Web ACL 생성

HYEOB KIM·2022년 6월 21일
1

aws

목록 보기
47/62

웹 ACL 생성

AWS 공식 문서 - WAF 시작하기

1단계: 웹 ACL 생성

  1. WAF 콘솔 > 웹 ACL > 웹 ACL 생성

  2. 이름을 입력합니다. CloudWatch 지표 이름에는 웹 ACL을 생성한 후 CloudWatch에 기록될 지표 이름을 입력합니다. 이름에는 특수 문자, 공백 또는 “All” 및 “Default_Action” 등 AWS WAF에 예약된 지표 이름을 포함할 수 없습니다. 리소스 타입은 CloudFront 배포를 선택합니다.

2단계: 문자열 일치 규칙 추가

문자열 일치 규칙은 원하는 문자열을 식별하는 규칙입니다.

  1. Add rules(규칙 추가) > Add my own rules and rule groups(자체 규칙 및 규칙 그룹 추가) > Rule builder(규칙 빌더) > Rule visual editor(규칙 시각적 편집기)

  2. 이름에 이 규칙을 식별하는 데 사용할 이름을 입력합니다. 유형에서 Regular rule(일반 규칙)을 선택합니다.

  3. If a request(만약 요청이) matches the statement(문장과 일치한다면)를 선택합니다. 다른 옵션은 논리 규칙 유형에 대한 것입니다.

  4. Inspect(검사)에서 드롭 다운을 열고 AWS WAF에서 문자열을 찾으려는 웹 요청 구성 요소를 선택합니다. 저는 Single header를 선택했습니다. Header field name에는 AWS WAF에서 검사할 헤더를 지정합니다. Match type(매칭 타입)
    Exactly matches string(문자열에 정확히 일치)을 선택하고, String to match(일치 시킬 문자열)AWS WAF에서 검색할 문자열을 지정합니다.

  5. Inspect(검사)에서 검색된 헤더가 있을 때 해당 요청을 어떻게 할 것인가를 묻는 설정입니다.

3단계: AWS 관리형 규칙 그룹 추가

관리형 규칙 그룹은 AWS 및 AWS Marketplace 판매자가 생성 및 유지 관리합니다.

  1. Add rules(규칙 추가) > Add managed rule groups(관리형 규칙 그룹 추가)

  2. 여러 관리형 규칙 그룹이 있습니다. 여기서 AWS 관리형 규칙 그룹을 보겠습니다.

  3. 아래와 같이 유료무료 규칙 그룹이 있습니다. 저는 Admin Protection(관리자 보호)을 추가해보겠습니다. 규칙 그룹을 웹 ACL에 추가하고 편집을 눌러줍니다.

  4. Admin Protection(관리자 보호)은 노출된 관리 페이지에 대한 외부 액세스를 차단할 수 있는 규칙이 포함되어 있습니다. AdminProtection_URIPATH를 활성화합니다.

AWS 관리형 규칙 그룹 관련 세부 정보를 보시려면 AWS 공식 문서 - AWS에서 관리되는 규칙 그룹 목록을 참고하세요.

4단계: 웹 ACL 구성 완료

  1. Add rules and rule groups(규칙 및 규칙 그룹 추가) 페이지에서 규칙에 해당되지 않는 요청들을 처리할 방법에 대해 선택하고 Next(다음)을 선택합니다.

  2. Set rule priority(규칙 우선 순위) 설정 페이지에서 웹 ACL의 규칙 및 규칙 그룹에 대한 처리 순서를 볼 수 있습니다. 목록의 맨 위에서 시작하여 처리합니다. 규칙을 위아래로 이동하여 변경할 수 있습니다.

  3. Configure metrics(지표 설정) 페이지에서 각 규칙에 대해 CloudWatch 지표 이름을 볼 수 있습니다. Request sampling options(샘플 요청 옵션)에서 샘플 요청을 활성화하면 규칙과 일치하는 요청에 대해 지난 3시간의 샘플을 무료로 보관합니다.

5단계: 리소스 정리

실습을 마치면 불필요한 요금 발생을 방지하기 위해 웹 ACL을 삭제하는 것이 좋습니다.

  1. 웹 ACL을 선택합니다.

  2. Associated AWS resources(연관된 AWS 리소스) 탭에서 연결된 리소스를 모두 선택한 후제거합니다. 이렇게 하면 웹 ACL이 AWS 리소스와 연결되지 않습니다.

  3. 웹 ACL을 선택하고 삭제합니다.

profile
Devops Engineer

0개의 댓글