Lambda 로그 구문 분석기 JSON 파일 사용 - AWS WAF의 보안 자동화

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

Lambda 로그 구문 분석기 JSON 파일 사용

HTTP 서비스 장애 방지에 Lambda 로그 구문 분석기 JSON 파일 사용

HTTP 서비스 장애 방지 활성화 템플릿 파라미터Yes - AWS Lambda log parser로를 선택한 경우이 솔루션은 라는 구성 파일을 생성하여 AWS WAF 로그 파일을 저장하는 데 사용되는 Amazon S3 버킷에 <stack_name>-waf_log_conf.json 업로드합니다. 버킷 이름을 찾으려면 CloudFormation 출력에서 WafLogBucket 변수를 참조하세요. 다음 그림은 예를 보여줍니다.

AWSWAFSecurityAutomations 레이블이 지정된 화면을 보여주고 4개의 출력을 나열하는 스크린샷

스택 출력

Amazon S3에서 <stack_name>-waf_log_conf.json 파일을 편집하고 덮어쓰면 Log Parser Lambda 함수는 새 AWS WAF 로그 파일을 처리할 때 새 값을 고려합니다. 다음은 구성 파일 예제입니다.

샘플 구성 파일의 스크린샷

http flood 구성

파라미터에는 다음이 포함됩니다.

  • 일반

    • 요청 임계값(필수) - IP 주소당 5분당 허용되는 최대 요청 수입니다. 이 솔루션은 CloudFormation 스택을 프로비저닝하거나 업데이트할 때 정의한 값을 사용합니다.

    • 차단 기간(필수) - 적용 가능한 IP 주소를 차단하는 기간(분)입니다. 이 솔루션은 CloudFormation 스택을 프로비저닝하거나 업데이트할 때 정의한 값을 사용합니다.

    • 무시된 접미사 -이 유형의 리소스에 액세스하는 요청은 임곗값을 요청하는 데 포함되지 않습니다. 기본적으로이 목록은 비어 있습니다.

  • URI 목록 - 이를 사용하여 특정 URLs에 대한 사용자 지정 요청 임계값 및 차단 기간을 정의합니다. 기본적으로이 목록은 비어 있습니다.

WAF 로그가 WafLogBucket에 도착하면 구성 파일의 구성을 사용하여 Lambda 로그 구문 분석기 함수에 의해 처리됩니다. 솔루션은 <stack_name>-waf_log_out.json 동일한 버킷에 있는 라는 출력 파일에 결과를 기록합니다. 출력 파일에 공격자로 식별된 IP 주소 목록이 포함된 경우 솔루션은 이를 HTTP Flood용 WAF IP 세트에 추가하고 애플리케이션에 액세스할 수 없도록 차단합니다. 출력 파일에 IP 주소가 없는 경우 구성 파일이 유효한지 또는 구성 파일에 따라 속도 제한을 초과했는지 확인합니다.

스캐너 및 프로브 보호에 Lambda 로그 구문 분석기 JSON 파일 사용

스캐너 및 프로브 보호 활성화 템플릿 파라미터에 Yes - AWS Lambda log parser 대해를 선택한 경우이 솔루션은 라는 구성 파일을 생성하여 CloudFront 또는 Application Load Balancer 로그 파일을 저장하는 데 사용되는 정의된 Amazon S3 버킷에 <stack_name>-app_log_conf.json 업로드합니다.

Amazon S3에서 <stack_name>-app_log_conf.json를 편집하고 덮어쓰면 Log Parser Lambda 함수는 새 AWS WAF 로그 파일을 처리할 때 새 값을 고려합니다. 다음은 구성 파일 예제입니다.

구성 파일의 스크린샷

스캐너 프로브 구성 파일

파라미터에는 다음이 포함됩니다.

  • 일반

    • 오류 임계값(필수) - IP 주소당 분당 허용되는 최대 잘못된 요청 수입니다. 이 솔루션은 CloudFormation 스택을 프로비저닝하거나 업데이트할 때 정의한 값을 사용합니다.

    • 차단 기간(필수) - 적용 가능한 IP 주소를 차단하는 기간(분)입니다. 이 솔루션은 CloudFormation 스택을 프로비저닝하거나 업데이트할 때 정의한 값을 사용합니다.

    • 오류 코드 - 오류로 간주되는 상태 코드를 반환합니다. 기본적으로이 목록은 , , 400 (Bad Request), 및 HTTP 상태 코드를 오류로 간주합니다401 (Unauthorized)403 (Forbidden)404 (Not Found)405 (Method Not Allowed).

  • URI 목록 - 이를 사용하여 특정 URLs에 대한 사용자 지정 요청 임계값 및 차단 기간을 정의합니다. 기본적으로이 목록은 비어 있습니다.

애플리케이션 액세스 로그가 AppAccessLogBucket에 도착하면 Log Parser Lambda 함수는 구성 파일의 구성을 사용하여 이를 처리합니다. 솔루션은 동일한 버킷의 <stack_name>`-app_log_out.json`이라는 출력 파일에 결과를 기록합니다. 출력 파일에 공격자로 식별된 IP 주소 목록이 포함된 경우 솔루션은 이를 스캐너 및 프로브용 WAF IP 세트에 추가하고 애플리케이션에 액세스하는 것을 차단합니다. 출력 파일에 IP 주소가 없는 경우 구성 파일이 유효한지 또는 구성 파일에 따라 속도 제한을 초과했는지 확인합니다.