Чи має HeadlessChrome аномально високий трафік? 3-кроковий посібник Cloudflare для повного блокування (за допомогою правил WAF)

Нещодавно я перевірив серверну частину веб-сайту, і середня кількість щоденних відвідувань становить лише кілька тисяч.

Коли я відкрив Google Analytics, я був повністю приголомшений.

Одного дня кількість переглядів моїх сторінок раптово зросла до понад 20 000, і я був у захваті, думаючи, що нарешті став відомим. Але після детальнішого вивчення розподілу браузерів я виявив, що 90% трафіку надходило з чогось під назвою "HeadlessChrome".

Я запитав у ChatGTP, що це за браузер? Це нова версія Chrome?

Штучний інтелект відповів, що це не браузер.

Це робот.

Чи має HeadlessChrome аномально високий трафік? 3-кроковий посібник Cloudflare для повного блокування (за допомогою правил WAF)

Що ж таке HeadlessChrome?

HeadlessChrome, як випливає з назви, — це режим без екрану в Chrome. Chrome — це браузер, яким ви користуєтеся щодня. Режим без екрану вимикає графічний інтерфейс браузера, дозволяючи йому працювати у фоновому режимі, використовуючи лише командний рядок.

Немає ні адресного рядка, ні панелі закладок, нічого, що ви могли б бачити. Це просто фрагмент коду, який викликає механізм браузера, завантажує вашу веб-сторінку, а потім витягує вміст.

Справжні користувачі ніколи не використовували б щось подібне для перегляду веб-сторінок. Ми з вами відкриваємо Chrome, щоб читати новини, дивитися відео та робити покупки на Taobao . HeadlessChrome відкриває вашу веб-сторінку, щоб зібрати ваші дані та піти.

Отже, коли ви бачите, що HeadlessChrome відповідає за 80% або навіть 90% трафіку у вашому сервері статистики, ви можете зробити висновок, що цей трафік на 100% складається з ботів.

Звідки береться весь цей бот-трафік?

Чесно кажучи, джерела дуже різноманітні.

Найпоширенішим прикладом є веб-скрапінг. Деякі компанії або окремі особи використовують системи автоматизації, такі як Puppeteer, Playwright або Selenium, для запуску безголових браузерів та пакетного скрапінгу вмісту веб-сторінок. Деякі збирають ціни на товари, деякі — новини, а деякі — дані конкурентів.

А ще є штучний інтелект. Різні інструменти штучного інтелекту, пошукові системи на основі штучного інтелекту та системи пошуку на основі штучного інтелекту аналізують веб-сторінки у фоновому режимі. Коли ви публікуєте статтю, десятки агентів штучного інтелекту можуть одночасно читати ваш контент.

Інший, більш тонкий метод – це ваші власні заплановані завдання. Наприклад, ви можете розгорнути скрипт SEO -моніторингу, який щогодини перевіряє зміни рейтингу певної сторінки за допомогою HeadlessChrome. Або ви можете налаштувати автоматичний сервіс скріншотів, який періодично робить знімки сторінки, також за допомогою цього інструменту.

Найбільш дратівливим типом є останній: сканування на шкідливі програми. Автоматизовані скрипти запускаються для сканування вашого веб-сайту на наявність вразливостей, тестування інтерфейсу входу до сервера та навіть масової надсилання спам-коментарів.

Як сервер статистики ідентифікує HeadlessChrome?

Насправді це досить просто. Кожен браузер включає поле User-Agent у свій заголовок запиту під час доступу до веб-сторінки, повідомляючи серверу, «хто я». User-Agent HeadlessChrome за замовчуванням містить рядок «HeadlessChrome». Ваша система аналітики дізнається про це, коли проаналізує це поле.

Однак, якщо розробник веб-краулера внесе незначні зміни до коду, змінивши User-Agent на звичайний ідентифікатор Chrome або Safari, ви взагалі не зможете побачити це зі статистичного бекенду. Це справжній головний біль.

ВикористовуйтеCloudflare WAF точно блокує Headless Chrome.

Добре, ми визначили проблему. Як нам її вирішити?

Найпрямішим та найефективнішим рішенням є перехоплення трафіку на рівні CDN або WAF. Не чекайте, поки трафік досягне вашого сервера, перш ніж обробляти його; блокуйте його на порозі.

Якщо ви використовуєте Cloudflare, операція насправді дуже проста.

Увійдіть до консолі Cloudflare, виберіть цільовий домен, знайдіть «Безпека», потім натисніть «WAF», потім перейдіть до «Налаштування правил» та створіть нове правило.

Назва правила може бути будь-якою, наприклад, "Challenge Headless Chrome"і подібні,

Увійдіть до консолі Cloudflare, виберіть цільовий домен, знайдіть «Безпека», потім натисніть «WAF», потім перейдіть до «Налаштування правил» та створіть нове правило.

Просто пам'ятай це.

Вибір поляUser AgentВибір оператораcontains, введіть значенняHeadlessChrome.

На цьому етапі ви побачите вираз попереднього перегляду, який...http.user_agent contains "HeadlessChrome"

Потім виберіть в операціїManaged ChallengeабоJS Challenge.

  • Я пропоную вибратиManaged ChallengeТому що його метод перевірки є більш інтелектуальним і має менший вплив на реальних користувачів.

Нарешті, натисніть «Розгорнути», і це правило набуде чинності в усьому світі.

Cloudflare має сотні вузлів по всьому світу, налаштованих із синхронізацією другого рівня. По суті, трафік браузера без графічного інтерфейсу блокується одразу після натискання кнопки.

Сліпі зони в захисті та передовій профілактиці

Однак, є одне «але».

Зіставлення User-Agent лише по собі може вирішити більшість проблем із конфігураціями веб-сканерів із налаштуваннями за замовчуванням. Однак цього недостатньо проти досвідчених сканерів.

Починаючи з Chrome 110, Google представив новий режим без екрану, використовуючи...--headless=newЗапуск параметра. У цьому режимі User-Agent HeadlessChrome точно такий самий, як і у звичайного Chrome, і ви взагалі не помітите різниці.

Є також ті, хто активно підробляє. Розробники веб-сканерів безпосередньо замінюють User-Agent звичайним ідентифікатором Chrome або мобільного браузера в коді, що унеможливлює зіставлення навіть за найточнішими правилами.

Для цієї ситуації Cloudflare також пропонує дві додаткові розширені функції, які можна ввімкнути.

Перший називається «Перевірка цілісності браузера».

Щоб увімкнути цю функцію, перейдіть до розділу Безпека → Налаштування → Перевірка цілісності браузера та увімкніть перемикач.

Щоб увімкнути цю функцію, перейдіть до розділу Безпека → Налаштування → Перевірка цілісності браузера та увімкніть перемикач.

Він ідентифікує аномальний трафік за допомогою відбитків пальців TLS. Незалежно від того, наскільки добре ви маскуєте User-Agent, відбиток пальця TLS неможливо підробити.

Другий називається Bot Fight Mode або режим битви роботів.

Шлях: Безпека → Автоматичні програми → Режим боротьби з ботами, який також має бути увімкнено.

Шлях: Безпека → Автоматичні програми → Режим боротьби з ботами, який також має бути увімкнено.

Ця функція поєднує поведінкові характеристики, щоб визначити, чи належить трафік ботам, такі як частота запитів, траєкторія руху миші, час перебування на сторінці тощо.

Безкоштовна версія автоматично застосовуватиме керовані випробування до підозрілих ботів, тоді як платна версія дозволяє більш детально налаштовувати правила.

Від спаму до веб-сканерів, битва між зловмисниками та захисниками ніколи не припинялася.

До речі, про це, раптом щось спало на думку.

Фактично, таке наступальне та оборонне протистояння відбувалося протягом усієї історії інтернету. Те саме було й на початку панування спаму: ви блокували одну функцію, а відправник її змінював. Ви використовували фільтрацію за ключовими словами, а відправник розділяв чутливі слова. Ви використовували обмеження частоти, а відправник зменшувало частоту надсилання.

Сьогодні це стало битвою між веб-сайтами та веб-сканерами. Ви використовуєте фільтрацію User-Agent, а інша сторона видає себе за User-Agent. Ви використовуєте TLS-відбитки, а інша сторона починає досліджувати, як імітувати TLS-відбитки.

Технології можуть змінюватися, але логіка, що лежить в основі теорії ігор, ніколи не змінювалася.

Однак для більшості власників веб-сайтів достатньо виконати попередній крок.

80% трафіку Chrome без графічного інтерфейсу надходить від сканерів із конфігурацією за замовчуванням, які занадто ліниві, щоб маскуватися, що можна вирішити за допомогою одного правила WAF. Що стосується тих, хто використовує складні маскування, якщо у вас немає особливо конфіденційних даних, які потребують захисту, немає причин надмірно хвилюватися.

Після того, як ви ввімкнете всі необхідні функції, ви, в основному, налаштовані.

Насамкінець, я хотів би додати ще одне.

Багато людей вважають, що чим більше трафіку на веб-сайті, тим краще. Однак, якщо ви не можете відрізнити реальний трафік від ботів, ці стрімкі зростання цифр – це лише показники марнославства. Вони навіть можуть ввести вас в оману, змусивши вас думати, що певний контент особливо популярний, коли це просто веб-сканер, який масово завантажує вашу сторінку.

Розуміння справжньої природи трафіку набагато важливіше, ніж прагнення до показників трафіку.

Якщо у вас є друзі, які керують вебсайтами або займаються SEO, не соромтеся перешліть їм цю статтю. Багато людей можуть не усвідомлювати, що їхні вебсайти атакує велика кількість ботів, а також не знають, що вирішити цю проблему насправді досить просто.

Оскільки ви дочитали до цього місця, якщо це було корисно, будь ласка, поставте лайк та поділіться цим. Якщо ви хочете отримувати оновлення першими, ви також можете підписатися на мене!

Дякую, що прочитали мою статтю. До зустрічі наступного разу.

Сподіваємося, що стаття «Аномальний вибух трафіку HeadlessChrome? 3-кроковий посібник з його ретельного блокування за допомогою Cloudflare (з правилами WAF)», опублікована в блозі Ченя Вейляна ( https://www.chenweiliang.com/ ), буде вам корисною.

Не соромтеся поділитися посиланням на цю статтю: https://www.chenweiliang.com/cwl-34500.html

Щоб розкрити більше прихованих хитрощів🔑, приєднуйтесь до нашого Telegram-каналу!

Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!

 

发表 评论

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

Прокрутка до початку