HeadlessChrome에 비정상적으로 높은 트래픽이 발생하고 있나요? Cloudflare의 3단계 가이드를 통해 WAF 규칙을 사용하여 완벽하게 차단하세요.

최근 웹사이트 관리자 페이지를 확인해 보니 일일 평균 방문자 수가 몇천 명에 불과했습니다.

구글 애널리틱스를 열어봤을 때, 저는 완전히 충격을 받았습니다.

어느 날 갑자기 페이지뷰가 2만 건을 넘어섰고, 저는 드디어 유명해졌다고 생각하며 몹시 기뻤습니다. 하지만 브라우저 분포를 자세히 살펴보니 트래픽의 90%가 "HeadlessChrome"이라는 곳에서 발생한 것이었습니다.

ChatGTP에 이게 무슨 브라우저냐고 물어봤어요. 크롬의 새 버전인가요?

AI는 이것이 브라우저가 아니라고 응답했습니다.

이것은 로봇입니다.

HeadlessChrome에 비정상적으로 높은 트래픽이 발생하고 있나요? Cloudflare의 3단계 가이드를 통해 WAF 규칙을 사용하여 완벽하게 차단하세요.

HeadlessChrome은 정확히 무엇인가요?

HeadlessChrome은 이름에서 알 수 있듯이 Chrome의 그래픽 인터페이스를 비활성화하는 모드입니다. Chrome은 우리가 매일 사용하는 브라우저입니다. Headless 모드는 브라우저의 그래픽 인터페이스를 비활성화하고 명령줄만 사용하여 백그라운드에서 실행되도록 합니다.

주소 표시줄도, 북마크 표시줄도, 눈에 보이는 것은 아무것도 없습니다. 그저 브라우저 엔진을 호출하고 웹페이지를 불러온 다음 콘텐츠를 스크래핑하는 코드 조각일 뿐입니다.

실제 사용자는 웹 브라우징을 위해 이런 프로그램을 절대 사용하지 않습니다. 당신과 저는 크롬을 열어 뉴스를 읽고, 동영상을 보고, 타오바오 에서 쇼핑합니다 . 헤드리스 크롬은 웹페이지를 열어 데이터를 수집한 후 바로 사라집니다.

따라서 통계 백엔드에서 HeadlessChrome이 트래픽의 80% 또는 90%를 차지하는 것을 확인했다면, 이 트래픽은 100% 봇 트래픽이라고 결론 내릴 수 있습니다.

이 모든 봇 트래픽은 어디에서 오는 걸까요?

솔직히 말해서, 자료 출처는 매우 다양합니다.

가장 흔한 예는 웹 스크래핑입니다. 일부 기업이나 개인은 Puppeteer, Playwright 또는 Selenium과 같은 자동화 프레임워크를 사용하여 헤드리스 브라우저를 실행하고 웹 페이지 콘텐츠를 일괄적으로 스크래핑합니다. 제품 가격을 스크래핑하는 경우도 있고, 뉴스 기사를 스크래핑하는 경우도 있으며, 경쟁사 데이터를 스크래핑하는 경우도 있습니다.

그리고 인공지능(AI)이 있습니다. 현재 다양한 AI 도구, AI 검색 엔진, AI 검색 시스템들이 백그라운드에서 웹 페이지를 분석하고 있습니다. 기사를 게시하면 수십 개의 AI 에이전트가 동시에 콘텐츠를 읽을 수 있습니다.

또 다른, 좀 더 미묘한 방법은 직접 예약 작업을 설정하는 것입니다. 예를 들어, HeadlessChrome을 사용하여 특정 페이지의 순위 변동을 매시간 확인하는 SEO 모니터링 스크립트를 배포할 수 있습니다. 또는 이 도구를 사용하여 페이지 화면을 주기적으로 캡처하는 자동 스크린샷 서비스를 설정할 수도 있습니다.

가장 성가신 유형은 마지막 유형인 악성 스캔입니다. 자동화된 스크립트가 실행되어 웹사이트의 취약점을 스캔하고, 백엔드 로그인 인터페이스를 테스트하며, 심지어 스팸 댓글을 대량으로 게시하기도 합니다.

통계 백엔드는 HeadlessChrome을 어떻게 식별합니까?

사실 아주 간단합니다. 모든 브라우저는 웹페이지에 접속할 때 요청 헤더에 User-Agent 필드를 포함하여 서버에 "내가 누구인지"를 알려줍니다. HeadlessChrome의 기본 User-Agent에는 "HeadlessChrome"이라는 문자열이 포함되어 있습니다. 분석 시스템은 이 필드를 분석하면 이를 알 수 있습니다.

하지만 웹 크롤러 개발자가 코드를 약간 수정하여 User-Agent를 일반적인 Chrome 또는 Safari 식별자로 변경하면 통계 백엔드에서 전혀 알 수 없게 됩니다. 이것이 바로 진짜 골칫거리입니다.

用Cloudflare WAF는 Headless Chrome을 정확하게 차단합니다.

좋습니다, 문제점을 파악했습니다. 이제 어떻게 해결할까요?

가장 직접적이고 효과적인 해결책은 CDN 또는 WAF 계층에서 트래픽을 차단하는 것입니다. 트래픽이 서버에 도달할 때까지 기다리지 말고, 진입점에서 차단하십시오.

클라우드플레어를 사용하고 있다면, 작업은 실제로 매우 간단합니다.

Cloudflare 콘솔에 로그인하고 대상 도메인을 선택한 다음 보안을 찾고 WAF를 클릭한 후 사용자 지정 규칙으로 이동하여 새 규칙을 만드세요.

규칙 이름은 무엇이든 될 수 있습니다. 예를 들어, "Challenge Headless Chrome"등등,

Cloudflare 콘솔에 로그인하고 대상 도메인을 선택한 다음 보안을 찾고 WAF를 클릭한 후 사용자 지정 규칙으로 이동하여 새 규칙을 만드세요.

꼭 기억해 두세요.

필드 선택User Agent운영자 선택contains값을 입력하세요HeadlessChrome.

이 시점에서 미리보기 표현식이 표시됩니다.http.user_agent contains "HeadlessChrome"

그런 다음 작업에서 선택하십시오.Managed Challenge또는JS Challenge.

  • 저는 선택하시기를 권합니다.Managed Challenge검증 방식이 더 지능적이고 실제 사용자에게 미치는 영향이 적기 때문입니다.

마지막으로 '배포'를 클릭하면 이 규칙이 전역적으로 적용됩니다.

Cloudflare는 전 세계에 수백 개의 노드를 보유하고 있으며, 이 노드들은 초 단위 동기화 방식으로 구성되어 있습니다. 기본적으로 헤드리스 브라우저의 트래픽은 버튼을 클릭하는 순간 차단됩니다.

보호 및 선진 예방의 사각지대

하지만 "하지만"이라는 단서가 붙습니다.

사용자 에이전트만 일치시키면 대부분의 웹 크롤러 구성 문제를 기본 설정으로 해결할 수 있습니다. 하지만 숙련된 크롤러를 상대로는 충분하지 않습니다.

구글은 크롬 110부터 새로운 헤드리스 모드를 도입했습니다.--headless=new시작 매개변수입니다. 이 모드에서는 HeadlessChrome의 User-Agent가 일반 Chrome과 완전히 동일하므로 전혀 차이를 느낄 수 없습니다.

또한 적극적으로 스푸핑하는 경우도 있습니다. 웹 크롤러 개발자는 코드에서 사용자 에이전트를 일반 크롬 또는 모바일 브라우저 식별자로 직접 바꿔치기하여 가장 정밀한 규칙을 사용하더라도 일치하는 항목을 찾을 수 없게 만듭니다.

이러한 상황을 위해 Cloudflare는 활성화할 수 있는 두 가지 고급 기능을 추가로 제공합니다.

첫 번째는 브라우저 무결성 검사라고 합니다.

이 기능을 사용하려면 보안 → 설정 → 브라우저 무결성 검사 로 이동하여 스위치를 켜십시오.

이 기능을 사용하려면 보안 → 설정 → 브라우저 무결성 검사로 이동하여 스위치를 켜십시오.

이 시스템은 TLS 지문을 통해 비정상적인 트래픽을 식별합니다. 사용자 에이전트를 아무리 잘 위장하더라도 TLS 지문은 위조할 수 없습니다.

두 번째 모드는 봇 전투 모드 또는 로봇 배틀 모드라고 합니다.

경로는 보안 → 자동 프로그램 → 봇 방지 모드이며, 이 모드도 활성화해야 합니다.

경로는 보안 → 자동 프로그램 → 봇 방지 모드이며, 이 모드도 활성화해야 합니다.

이 기능은 요청 빈도, 마우스 이동 궤적, 페이지 체류 시간 등과 같은 행동적 특성을 결합하여 트래픽이 봇에 속하는지 여부를 판단합니다.

무료 버전은 의심스러운 봇에 관리형 챌린지를 자동으로 적용하는 반면, 유료 버전은 더욱 세분화된 규칙 설정을 지원합니다.

스팸부터 웹 크롤러에 이르기까지 공격자와 방어자 간의 싸움은 결코 멈추지 않았습니다.

그러고 보니 갑자기 뭔가가 생각났어요.

사실 이러한 공세와 방어의 대립은 인터넷 역사 전반에 걸쳐 벌어져 왔습니다. 스팸이 만연했던 초기 시절에도 마찬가지였습니다. 한 가지 기능을 차단하면 발신자는 기능을 변경했고, 키워드 필터링을 사용하면 발신자는 민감한 단어를 세분화했으며, 발송 빈도 제한을 사용하면 발신자는 발송 빈도를 줄였습니다.

오늘날 웹사이트와 웹 크롤러 간의 전쟁이 벌어지고 있습니다. 사용자가 사용자 에이전트 필터링을 사용하면 상대방은 사용자 에이전트를 사칭하고, 사용자가 TLS 핑거프린팅을 사용하면 상대방은 TLS 핑거프린트를 모방하는 방법을 연구하기 시작합니다.

기술은 변할지라도, 그 근간이 되는 게임 이론의 논리는 결코 변하지 않습니다.

하지만 대부분의 웹사이트 소유자에게는 이전 단계만으로도 충분합니다.

헤드리스 크롬 트래픽의 80%는 기본 설정 크롤러에서 발생하는데, 이 크롤러들은 위장을 제대로 하지 않는 경우가 많습니다. 이는 WAF 규칙 하나만 추가하면 해결할 수 있습니다. 정교한 위장을 사용하는 크롤러의 경우에도, 특별히 보호해야 할 민감한 데이터가 없다면 지나치게 걱정할 필요는 없습니다.

필요한 기능을 모두 활성화하면 기본적으로 준비가 완료된 것입니다.

마지막으로 한 가지 더 덧붙이고 싶습니다.

많은 사람들이 웹사이트 트래픽이 많을수록 좋다고 생각합니다. 하지만 실제 트래픽과 봇을 구분하지 못하면 급증하는 트래픽 수치는 허영심에 불과합니다. 심지어 특정 콘텐츠가 특히 인기 있다고 착각하게 만들 수도 있는데, 실제로는 웹 크롤러가 페이지를 대량으로 로드하는 것일 뿐입니다.

교통량의 진정한 본질을 이해하는 것이 교통량 수치를 쫓는 것보다 훨씬 더 중요합니다.

웹사이트를 운영하거나 SEO를 하는 친구가 있다면 이 글을 공유해 주세요. 많은 사람들이 자신의 웹사이트가 수많은 봇의 공격을 받고 있다는 사실을 모르고 있으며, 이 문제를 해결하는 방법이 사실 매우 간단하다는 것도 모릅니다.

여기까지 읽어주셔서 감사합니다. 도움이 되셨다면 좋아요와 공유 부탁드립니다. 최신 소식을 가장 먼저 받아보고 싶으시다면 팔로우도 해주세요!

제 글을 읽어주셔서 감사합니다. 다음에 또 뵙겠습니다.

Chen Weiliang의 블로그( https://www.chenweiliang.com/ ) 에 공유된 "HeadlessChrome의 비정상적인 트래픽 폭증? Cloudflare의 3단계 가이드로 완벽하게 차단하기(WAF 규칙 사용)"라는 글이 도움이 되기를 바랍니다.

이 기사 링크( https://www.chenweiliang.com/cwl-34500.html )를 자유롭게 공유해 주세요.

더 많은 숨겨진 트릭을 알아보려면🔑 Telegram 채널에 가입하세요!

마음에 드셨다면 공유하고 좋아요를 눌러주세요! 여러분의 공유와 좋아요는 저희의 지속적인 원동력이 됩니다!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

위쪽으로 스크롤