AWS WAF가 차단한 파일을 업로드하려면 어떻게 해야 하나요?

최종 업데이트 날짜: 2021년 2월 22일

AWS WAF가 차단한 확장자를 사용하는 파일을 업로드(POST)해야 합니다. AWS WAF가 차단한 파일을 업로드하려면 어떻게 해야 하나요?

간략한 설명

AWS WAF가 POST 요청을 차단하는 이유는 다음과 같습니다.

  • AWS WAF BODY 필터는 POST 요청의 페이로드 중 첫 8,192바이트만 조사하여 악성 스크립트가 있는지 확인합니다.
  • SQLinjection 및 Cross Site Scripting(XSS) 규칙은 메타데이터에 임의의 문자를 포함한 파일에 민감합니다. 이와 같은 임의의 문자는 실제 XSS 또는 SQLinjection과 비슷한 탓에 웹 액세스 제어 목록(web ACL) 규칙을 트리거할 수 있습니다.

AWS WAF는 특정 파일 유형에 대한 필터링을 지원하지 않습니다. 파일 또는 이미지 업로드로 인한 오탐을 없애려면 다른 방법을 사용해야 합니다.

해결 방법

참고: 규칙은 웹 ACL에 목록으로 나열된 순서대로 처리됩니다. 다음 권장 사항의 경우, 필요에 따라 규칙 우선순위 순서를 다시 정해야 합니다.

각자의 사용 사례에 가장 적합한 방법을 선택하세요.

  • 문자열 일치 규칙 문(AWS WAF) 또는 문자열 일치 조건(AWS WAF Classic)을 사용하여 선택적 제외를 적용합니다. 파일의 BODY와 연결된 특정 문구를 허용 목록에 추가합니다. URI에 특정 경로가 있는 경우, 해당 경로를 허용 목록에 추가합니다.
  • 파일을 업로드할 때 별도의 도메인을 사용합니다. 이것이 사용 사례에 비용 효율적인 옵션인지 고려해야 합니다.
  • 포함된 코드와 데이터의 파일 및 이미지를 스캔(스크럽)합니다. 이 작업은 파일을 업로드하기 전에 클라이언트 측에서 수행할 수 있습니다. 아니면, 제외 규칙을 생성해야 하는 경우라면 이 작업을 파일 업로드 후에 백엔드에서 수행할 수 있습니다.
  • 파일을 압축한 후에 업로드하세요.
    주의: 악성 파일을 압축하지 않도록 꼭 확인해야 합니다.
  • 업로드를 알려진 IP 주소 범위 내에서 실행하는 경우, 그러한 IP 주소를 허용 목록에 추가합니다.
  • base64 인코딩을 사용하세요. 모든 이미지 데이터가 인코딩되므로 AWS WAF가 이미지에서 XSS를 트리거할 수 없습니다.
    주의: 악성 이미지를 인코딩하지 않게 조심하세요.
  • 청크 제거 또는 비트 임의 지정과 같은 이미지 최적화 기법을 구현하세요.

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?