웹 애플리케이션에 Honeypot 링크 임베드(선택 사항) - AWS WAF의 보안 자동화

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

웹 애플리케이션에 Honeypot 링크 임베드(선택 사항)

1단계에서 잘못된 봇 보호 활성화 파라미터yes로를 선택한 경우. 스택을 시작하면 CloudFormation 템플릿이 상호 작용이 적은 프로덕션 허니팟에 트랩 엔드포인트를 생성합니다. 이 트랩은 콘텐츠 스크레이퍼 및 잘못된 봇의 인바운드 요청을 감지하고 우회하기 위한 것입니다. 유효한 사용자는이 엔드포인트에 액세스하려고 시도하지 않습니다.

이 구성 요소는 허니팟 메커니즘 외에도 Application Load Balancer(ALB) 또는 Amazon CloudFront에 대한 직접 연결을 모니터링하여 잘못된 봇 탐지를 개선합니다. 봇이 허니팟을 우회하고 ALB 또는 CloudFront와 상호 작용하려고 하면 시스템은 요청 패턴 및 로그를 분석하여 악의적인 활동을 식별합니다. 잘못된 봇이 감지되면 IP 주소가 추출되어 AWS WAF 블록 목록에 추가되어 추가 액세스를 방지합니다. 잘못된 봇 탐지는 구조화된 로직 체인을 통해 작동하여 포괄적인 위협 범위를 보장합니다.

  • HTTP Flood Protection Lambda 로그 파서 - 플러드 분석 중에 로그 항목에서 잘못된 봇 IPs를 수집합니다.

  • 스캐너 및 프로브 보호 Lambda 로그 파서 - 스캐너 관련 로그 항목에서 잘못된 봇 IPs.

  • HTTP Flood Protection Athena Log Parser - 쿼리 실행 전반의 파티션을 사용하여 Athena 로그에서 잘못된 봇 IPs를 추출합니다.

  • 스캐너 및 프로브 보호 Athena 로그 파서 - 동일한 파티셔닝 전략을 사용하여 스캐너 관련 Athena 로그에서 잘못된 봇 IPs를 검색합니다.

  • 폴백 감지 - HTTP Flood Protection과 스캐너 및 프로브 보호가 모두 비활성화된 경우 시스템은 WAF 레이블 필터를 기반으로 봇 활동을 로깅하는 Log Lambda 구문 분석기를 사용합니다.

다음 절차 중 하나를 사용하여 CloudFront 배포의 요청에 대한 허니팟 링크를 포함합니다.

Honeypot 엔드포인트에 대한 CloudFront 오리진 생성

CloudFront 배포와 함께 배포된 웹 애플리케이션에이 절차를 사용합니다. CloudFront를 사용하면 로봇 제외 표준을 무시하는 콘텐츠 스크레이퍼와 봇을 식별하는 데 도움이 되는 robots.txt 파일을 포함할 수 있습니다. 다음 단계를 완료하여 숨겨진 링크를 임베드한 다음 robots.txt 파일에 명시적으로 허용하지 않습니다.

  1. AWS CloudFormation 콘솔에 로그인합니다.

  2. 1단계에서 빌드한 스택을 선택합니다. 스택 시작

  3. 출력 탭을 선택합니다.

  4. BadBotHoneypotEndpoint 키에서 엔드포인트 URL을 복사합니다.

    • 동작 경로(/ProdStage)

  5. 허니팟을 가리키는 콘텐츠에이 엔드포인트 링크를 포함합니다. 인간 사용자로부터이 링크를 숨깁니다. 예를 들어와 같은 코드 샘플을 검토합니다<a href="/behavior_path" rel="nofollow" style="display: none" aria-hidden="true">honeypot link</a>.

  6. 다음과 같이 허니팟 링크를 명시적으로 허용하지 않도록 웹 사이트 루트의 robots.txt 파일을 수정합니다.

User-agent: <*>
        Disallow: /<behavior_path>
중요

요청은 WAF BadBotRuleFilter에서 차단되므로 CloudFront에서 경로 등록이 필요하지 않습니다. 로그에 자동으로 수집되는 솔루션. 로그 구문 분석기 Lambda로 처리됩니다. 이 간소화된 접근 방식은 추가 엔드포인트 구성이 필요한 대신 WAF 로그를 직접 사용하므로 로그 분석을 통해 잘못된 봇 감지 프로세스가 더 효율적입니다.

참고

웹 사이트 환경에서 작동하는 태그 값을 확인하는 것은 사용자의 책임입니다. 환경이 이를 준수하지 않는 rel="nofollow" 경우를 사용하지 마십시오. 로봇 메타 태그 구성에 대한 자세한 내용은 Google 개발자 안내서를 참조하세요. 다음과 같이 허니팟 링크를 명시적으로 허용하지 않도록 웹 사이트 루트의 robots.txt 파일을 수정합니다.

참고

이 규칙은 웹 요청 오리진의 소스 IP 주소를 사용합니다. 하나 이상의 프록시 또는 로드 밸런서를 통과하는 트래픽이 있는 경우 웹 요청 오리진에는 클라이언트의 최초 주소가 아닌 마지막 프록시의 주소가 포함됩니다.

웹 애플리케이션에이 절차를 사용합니다.

  1. AWS CloudFormation 콘솔에 로그인합니다.

  2. 1단계에서 빌드한 스택을 선택합니다. 스택 시작을 참조하세요.

  3. 출력 탭을 선택합니다.

  4. BadBotHoneypotEndpoint 키에서 엔드포인트 URL을 복사합니다.

    <a href="<BadBotHoneypotEndpoint value>" rel="nofollow" style="display: none" aria-hidden="true"><honeypot link></a>
    참고

    이 절차에서는 rel=nofollow를 사용하여 로봇이 허니팟 URL에 액세스하지 않도록 지시합니다. 그러나 링크는 외부에 포함되므로 링크를 명시적으로 허용하지 않는 robots.txt 파일을 포함할 수 없습니다. 웹 사이트 환경에서 작동하는 태그를 확인하는 것은 사용자의 책임입니다. 환경이 이를 준수하지 않는 rel="nofollow" 경우를 사용하지 마십시오.