SQL 인젝션 및 크로스 사이트 스크립팅(XSS) 공격을 방지하는 AWS WAF 규칙을 생성하려고 합니다.
간략한 설명
SQL 인젝션 및 XSS 공격을 방지하려면 다음 보호 기능 중 하나를 사용하십시오.
- 내장 SQL 인젝션 및 XSS 엔진
- SQL 인젝션 및 XSS 인젝션 공격에 대한 AWS 관리형 규칙
참고: AWS WAF에는 요청 본문, 헤더 및 쿠키에 대한 최대 크기 검사 할당량이 있습니다. 자세한 내용은 AWS WAF의 크기 초과 웹 요청 구성 요소를 참조하십시오.
해결 방법
참고: 작업을 카운트로 설정하여 비 프로덕션 환경에서 규칙을 테스트하는 것이 가장 좋습니다. AWS WAF 로그에 있는 Amazon CloudWatch 지표를 사용하여 규칙을 평가하십시오. 규칙을 테스트한 후에는 작업을 차단으로 변경합니다.
내장 SQL 인젝션 및 XSS 엔진 사용
공격은 HTTP 헤더, 쿼리 문자열 또는 URI와 같은 HTTP 요청의 여러 부분에서 발생할 수 있습니다. 내장된 완화 엔진과 비교하여 HTTP 요청의 여러 부분을 검사하도록 AWS WAF 규칙을 구성합니다.
악성 SQL 코드를 검사하는 SQL 인젝션 공격 규칙 문을 생성합니다. 웹 요청 구성 요소에 악성 스크립트가 있는지 검사하는 XSS 공격 규칙 문을 생성합니다.
SQL 인젝션 또는 XSS 공격 규칙 문 생성
다음 단계를 완료합니다.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 규칙 추가를 선택합니다.
사용자 지정 규칙을 선택하고 다음을 선택합니다.
사용자 지정 규칙을 다시 선택하고 다음을 선택합니다.
- 규칙 작업을 BLOCK으로 설정합니다.
- 규칙 이름을 입력합니다.
- 요청이 다음과 같은 경우에서 드롭다운을 확장하고 문과 일치함을 선택합니다.
- 스테이트먼트의 검사에서 규칙 문을 평가하려는 요청 구성 요소를 선택합니다.
- 일치 유형에서 SQL 인젝션 공격 포함 또는 XSS 인젝션 공격 포함을 선택합니다.
(선택 사항) 텍스트 변환을 선택합니다.
- 규칙 생성을 선택합니다.
여러 요청 구성 요소를 기준으로 평가하는 SQL 인젝션 또는 XSS 공격 규칙 문 생성
다음 단계를 완료합니다.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 규칙 추가를 선택합니다.
사용자 지정 규칙을 선택하고 다음을 선택합니다.
사용자 지정 규칙을 다시 선택하고 다음을 선택합니다.
- 규칙 작업을 BLOCK으로 설정합니다.
- 규칙 이름을 입력합니다.
- 요청이 다음과 같은 경우에서 드롭다운을 확장하고 **하나 이상의 문과 일치함(OR)**을 선택합니다.
- 스테이트먼트 1의 검사에서 규칙 문을 평가하려는 요청 구성 요소를 선택합니다.
- 일치 유형에서 SQL 인젝션 공격 포함 또는 XSS 인젝션 공격 포함을 선택합니다.
(선택 사항) 텍스트 변환을 선택합니다.
- 스테이트먼트 2의 검사에서 규칙 문을 평가하려는 요청 구성 요소를 선택합니다.
- 일치 유형에서 SQL 인젝션 공격 포함 또는 XSS 인젝션 포함을 선택합니다.
(선택 사항) 텍스트 변환을 선택합니다.
- 규칙 생성을 선택합니다.
참고: 규칙이 작동하려면 올바른 텍스트 변환을 적용해야 합니다. 예를 들어 AWS WAF에서 쿠키를 검사하도록 하려면 URL 디코드, HTML 엔터티 디코드 및 소문자를 사용하십시오.
SQL 인젝션 및 XSS 인젝션 공격에 AWS 관리형 규칙 사용
자체 규칙을 작성하지 않고 애플리케이션 취약성 또는 기타 원치 않는 트래픽으로부터 보호하려면 AWS WAF용 AWS 관리형 규칙을 사용하십시오.
참고:
SQL 데이터베이스 관리형 규칙 그룹을 사용하여 SQL 인젝션 공격으로부터 보호합니다. 코어 규칙 세트(CRS) 관리형 규칙 그룹을 사용하여 XSS 인젝션 공격으로부터 보호합니다.
웹 ACL에 AWS 관리형 규칙의 규칙 그룹 추가
다음 단계를 완료합니다.
- AWS WAF 콘솔을 엽니다.
- 탐색 창에서 AWS WAF를 선택합니다.
- 리소스 및 보호 팩을 선택합니다.
- 보호 팩을 찾아 규칙 옆에 있는 보기 및 편집을 선택합니다.
- 오른쪽 창에서 규칙 추가를 선택합니다.
AWS 관리형 규칙 그룹을 선택하고 다음을 클릭합니다.
- 추가하려는 SQL 데이터베이스 또는 코어 규칙 세트 규칙 그룹을 선택합니다.
참고: 현재 AWS 관리형 규칙의 규칙 그룹을 사용하려면 관리형 규칙 그룹을 선택하고 편집합니다. 설정 편집에 대한 자세한 내용을 보려면 관리형 규칙 그룹 작업을 참고하십시오.
- 규칙 생성을 선택합니다.
관련 정보
업데이트된 콘솔 환경을 사용하여 AWS WAF 시작하기
AWS WAF 보호 테스트 및 튜닝