Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Waf фильтруем ботов до 1% по метрике

Тема в разделе "Яндекс", создана пользователем konamin, 11 дек 2024.

11.12.24 в 20:14
21.02.25 в 12:01
23
2.985
3
  1. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Здарова всем)
    Быстренький мануал как отфильтровать ботов по прямым заходам в метрике. Инфы в сети полно, но как-то она кусками, или я плохо искал..
    Когда на тебя сыпется пол ляма ботов, времени особо что-то выискивать просто нет.

    Необходимо создать 5 правил (фри тариф):
    2 запрет на разных известных пауков, вредных и не очень
    1 для белых ботов
    1 для блока сетей
    1 для сбора инфы
    Также блокирую перманентно некоторые мусорные ASN сети (хостинги, хуёстинги и тд , у каждого могут отличаться), с которых тоже много ботов.
    С этими правилами мои сайты только растут, и коеф ботов до 1% по метрике.

    Первое правило на запрет. Здесь список взят с паблика, он огромен и его естественно можно дополнять актуальными краулерами анализируя свой траф.
    (http.user_agent contains "Abonti") or (http.user_agent contains "AspiegelBot") or (http.user_agent contains "aggregator") or (http.user_agent contains "AhrefsBot") or (http.user_agent contains "Aport") or (http.user_agent contains "asterias") or (http.user_agent contains "Baiduspider") or (http.user_agent contains "BDCbot") or (http.user_agent contains "bidswitchbot") or (http.user_agent contains "Birubot") or (http.user_agent contains "BLEXBot") or (http.user_agent contains "BUbiNG") or (http.user_agent contains "BuiltBotTough") or (http.user_agent contains "Bullseye") or (http.user_agent contains "BunnySlippers") or (http.user_agent contains "Butterfly") or (http.user_agent contains "ca-crawler") or (http.user_agent contains "CamontSpider") or (http.user_agent contains "CCBot") or (http.user_agent contains "Cegbfeieh") or (http.user_agent contains "CheeseBot") or (http.user_agent contains "CherryPicker") or (http.user_agent contains "coccoc") or (http.user_agent contains "CopyRightCheck") or (http.user_agent contains "cosmos") or (http.user_agent contains "crawler") or (http.user_agent contains "Crescent") or (http.user_agent contains "CyotekWebCopy/1.7") or (http.user_agent contains "CyotekHTTP/2.0") or (http.user_agent contains "DataForSeoBot") or (http.user_agent contains "DeuSu") or (http.user_agent contains "discobot") or (http.user_agent contains "DittoSpyder") or (http.user_agent contains "DnyzBot") or (http.user_agent contains "DomainCrawler") or (http.user_agent contains "DotBot") or (http.user_agent contains "Download Ninja") or (http.user_agent contains "EasouSpider") or (http.user_agent contains "EmailCollector") or (http.user_agent contains "EmailSiphon") or (http.user_agent contains "EmailWolf") or (http.user_agent contains "EroCrawler") or (http.user_agent contains "Exabot") or (http.user_agent contains "ExtractorPro") or (http.user_agent contains "Ezooms") or (http.user_agent contains "FairShare") or (http.user_agent contains "Fasterfox") or (http.user_agent contains "FeedBooster") or (http.user_agent contains "Foobot") or (http.user_agent contains "Genieo") or (http.user_agent contains "GetIntent Crawler") or (http.user_agent contains "Gigabot") or (http.user_agent contains "gold crawler") or (http.user_agent contains "GrapeshotCrawler") or (http.user_agent contains "grub-client") or (http.user_agent contains "Harvest") or (http.user_agent contains "hloader") or (http.user_agent contains "httplib") or (http.user_agent contains "HTTrack") or (http.user_agent contains "humanlinks") or (http.user_agent contains "HybridBot") or (http.user_agent contains "ia_archiver") or (http.user_agent contains "ieautodiscovery") or (http.user_agent contains "Incutio") or (http.user_agent contains "InfoNaviRobot") or (http.user_agent contains "InternetSeer") or (http.user_agent contains "IstellaBot") or (http.user_agent contains "Java") or (http.user_agent contains "Java/1.") or (http.user_agent contains "JamesBOT") or (http.user_agent contains "JennyBot") or (http.user_agent contains "JS-Kit") or (http.user_agent contains "k2spider") or (http.user_agent contains "Kenjin Spider") or (http.user_agent contains "Keyword Density/0.9") or (http.user_agent contains "kmSearchBot") or (http.user_agent contains "larbin") or (http.user_agent contains "LexiBot") or (http.user_agent contains "libWeb") or (http.user_agent contains "libwww") or (http.user_agent contains "Linguee") or (http.user_agent contains "LinkExchanger") or (http.user_agent contains "LinkextractorPro") or (http.user_agent contains "linko") or (http.user_agent contains "LinkScan/8.1a Unix") or (http.user_agent contains "LinkWalker") or (http.user_agent contains "LinkpadBot") or (http.user_agent contains "lmspider") or (http.user_agent contains "LNSpiderguy") or (http.user_agent contains "ltx71") or (http.user_agent contains "lwp-trivial") or (http.user_agent contains "lwp-trivial") or (http.user_agent contains "magpie") or (http.user_agent contains "Mata Hari") or (http.user_agent contains "MaxPointCrawler") or (http.user_agent contains "MegaIndex")

    Второе правило, это продолжение первого (тк клауд дает на одно правило 100 полей), плюс дополняю своими.
    (http.user_agent contains "Go-http-client") or (http.user_agent contains "l9scan/2.0.0333e21343e2033313e25343") or (http.user_agent contains "ImagesiftBot") or (http.user_agent contains "Konturbot") or (http.user_agent contains "BlackWidow") or (http.user_agent contains "MBCrawler") or (http.user_agent contains "YaK") or (http.user_agent contains "niraiya.com") or (http.user_agent contains "Сloudfind") or (http.user_agent contains "CriteoBot") or (http.user_agent contains "SafeDNSBot") or (http.user_agent contains "SeopultContentAnalyzer") or (http.user_agent contains "Serpstatbot") or (http.user_agent contains "Rome Client") or (http.user_agent contains "Flipboard") or (http.user_agent contains "Seekport Crawler") or (http.user_agent contains "ALittle Client") or (http.user_agent contains "Bytespider") or (http.user_agent contains "SurdotlyBot") or (http.user_agent contains "Barkrowler") or (http.user_agent contains "BackupLand") or (http.user_agent contains "Iframely") or (http.host in {"api.pfbaza.website" "autoclickextreme.com" "pfbaza.website" "nicecrawler.com" "spidersoft.com" "grub.org" "anonymousfox.co" "seosking.xyz" "paloaltonetworks.com" "static.39.123.109.65.clients.your-server.de"}) or (http.user_agent contains "Keys-so-bot") or (http.user_agent contains "stagefright") or (ip.geoip.country eq "SC") or (ip.geoip.country eq "TH") or (ip.geoip.country eq "IR")

    Третее правило для белых ботов. Сюда пишем обязательно ботов: кф, вк, од, меил, гугл, яши и тд..
    Важно! Не нужно сувать белых ботов на первое место как советуют многие. Поддельный юзер-агент в легкую пройдет по правилу белого бота, если оно у тебя первое.
    (cf.client.bot) or (http.user_agent contains "Mail.RU_Bot") or (ip.src.asnum eq 208722) or (ip.src.asnum eq 13238) or (ip.src.asnum eq 47541) or (ip.src.asnum eq 47542) or (ip.src.asnum eq 47764) or (http.user_agent contains "vkShare") or (ip.src.asnum eq 13236) or (ip.src.asnum eq 15169) or (http.user_agent contains "OdklBot")

    Четвертое, ставим капчу ASN сетям, с которых льются боты. У меня на всех сайтах практически одни и те же сети, поэтому пользуюсь этим списком везде. У вас возможно нужно будет добавить какие-то, а возможно хватит и этого.
    (ip.src.asnum eq 29182) or (ip.src.asnum eq 204490) or (ip.src.asnum eq 211027) or (ip.src.asnum eq 34665) or (ip.src.asnum eq 49492) or (ip.src.asnum eq 213220) or (ip.src.asnum eq 60389) or (ip.src.asnum eq 45027) or (ip.src.asnum eq 50113) or (ip.src.asnum eq 44812) or (ip.src.asnum eq 204916) or (ip.src.asnum eq 49505) or (ip.src.asnum eq 50340) or (ip.src.asnum eq 207713) or (ip.src.asnum eq 3175)

    Пятое, собираем инфу по прямым заходам для дальнейшего анализа в КФ.
    (http.referer eq "") or (http.referer eq "-")

    Доп блок в tools
    AS35048
    Biterika

    AS16276
    OVH

    AS210644
    AEZA

    AS59504
    Hosting vpsville.ru

    AS24940
    Hetzner

    Это всё помогает даже без отключения IPv6, на http или https, пох. Если хотите заблокировать протокол полнотью, то, есть серисы, например у Mik Foxi на Работа с API CloudFlare, очень удобно на фри тарифе.
    Списки можно сократить если блочить через "is in" пачками, тут кто как хочет, кому как удобно.

     
    #1 konamin, 11 дек 2024
    Последнее редактирование: 15 фев 2025
    • Полезно Полезно x 9
    • Нравится Нравится x 3
    • Не нравится Не нравится x 1
  2. kinQ

    Забанен

    Регистрация:
    30 ноя 2016
    Сообщения:
    101
    Лучших ответов:
    0
    Рейтинги:
    +34 / 29 / -0
    а как отрезать ботов какого то региона от гугла? что бы залочить сайт в поиске для региона
     
  3. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    В поиске никак.
     
  4. Sardorbek

    Команда форума VIP Кинотрафик v2

    Регистрация:
    10 апр 2021
    Сообщения:
    134
    Лучших ответов:
    0
    Рейтинги:
    +43 / 3 / -0
    or (http.user_agent contains "CopyRightCheck")
     
    • Нравится Нравится x 2
  5. Sardorbek

    Команда форума VIP Кинотрафик v2

    Регистрация:
    10 апр 2021
    Сообщения:
    134
    Лучших ответов:
    0
    Рейтинги:
    +43 / 3 / -0
    Для белых ботов (skip):

    Код:
    (http.user_agent contains "Google") or (http.user_agent contains "Yandex") or (http.user_agent contains "Chrome-Lighthouse") or (ip.src eq тут.ip.вашего.сервера)
    Разрешающей правила обязательно поставить на первой очеред.
     
    #5 Sardorbek, 13 дек 2024
    Последнее редактирование: 13 дек 2024
  6. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Если ПСы прописаны через ASN, такое правило допустимо первым, его не подменить.

    Тут в край не согласен. Кто это сказал/придумал?

    Этот юзер-агент есть в первом правиле.
     
    #6 konamin, 13 дек 2024
    Последнее редактирование: 13 дек 2024
  7. Sardorbek

    Команда форума VIP Кинотрафик v2

    Регистрация:
    10 апр 2021
    Сообщения:
    134
    Лучших ответов:
    0
    Рейтинги:
    +43 / 3 / -0
    Я сейчас проверил через Яндекс с вашим правилам поставляя разрешающей правила на третий очередь, ответ 403. А при повторное проверке поставляя разрешающей правила на первый очередь ответ 200 OK.
     
  8. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Вы вообще понимаете как это работает, прежде чем писать такое? Как Яндекс может получать 403, если его нет в списке на запрет. Что за бред)
    Даже если я полностью снесу белый список, Яндекс спокойно будет попадать на сайт. Показать на видео?
    В моем WAF не используется фильтрация по HTTP 1 и HTTP 1.1, при котором нужно указывать белых ботов выше этого фильтра.
    Screenshot1.png

    Screenshot2.png

    Screenshot3.png

    Screenshot4.png

    Screenshot5.png

    Screenshot7.png

    Sardorbek изучите как это работает, пересмотрите свои правила и не вводите людей в заблуждение.
     
    #8 konamin, 18 дек 2024
    Последнее редактирование: 18 дек 2024
  9. evgfreeman

    VIP Кинотрафик v2

    Регистрация:
    26 апр 2016
    Сообщения:
    3.342
    Лучших ответов:
    7
    Рейтинги:
    +1.518 / 210 / -0
    Спасибо!
     
    • Нравится Нравится x 1
  10. Sardorbek

    Команда форума VIP Кинотрафик v2

    Регистрация:
    10 апр 2021
    Сообщения:
    134
    Лучших ответов:
    0
    Рейтинги:
    +43 / 3 / -0
    Хорошо перепроверю. Может я что-то пропустил.
     
  11. Sardorbek

    Команда форума VIP Кинотрафик v2

    Регистрация:
    10 апр 2021
    Сообщения:
    134
    Лучших ответов:
    0
    Рейтинги:
    +43 / 3 / -0
    Наверное при геоблокировке и включении js проверка на
    Код:
    (http.referer eq "") or (http.referer eq "-")
    поисковык получает ответ 403 запрет.
    Даже в этом случае пропускает поисковых боты правила белых ботов когда он поставлен в первой очеред. А если исполняют в следующем очереде правила пропуска белых ботов не работает!

    Ещё в вашем правил гео блок нет запрета к РФ и США. А у меня есть.
     
  12. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Вот и причина 403. Вы блокируете основных ботов Яндекса и Гугла. Разрешающее правило должно стоять выше этого блока ГЕО, как минимум.

    Это обычный сбор данных со skip'ом, он должен пропускать всех прямых и никого не блокировать вообще.

    Настройки WAF индивидуальны, здесь отвечаю только за свои. Если вы вносите какие-то коррективы, то должны понимать что делаете чтоб не натворить делов.
     
    • Нравится Нравится x 1
  13. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Еще несколько ботов, которые стоит добавить во второе правило:
    or (http.user_agent contains "PetalBot") or (http.user_agent contains "SemrushBot") or (http.user_agent contains "Serpstat") or (http.user_agent contains "Unknown")
     
  14. evgfreeman

    VIP Кинотрафик v2

    Регистрация:
    26 апр 2016
    Сообщения:
    3.342
    Лучших ответов:
    7
    Рейтинги:
    +1.518 / 210 / -0
    Мой старый был

    White Bots (Skip all) [ON]
    Код:
    (cf.client.bot and http.user_agent contains "google.com/bot") or (cf.client.bot and http.user_agent contains "yandex.com/bots") or (cf.client.bot and http.user_agent contains "Google")
    Block GEO (Interactive Challenge) [ON]
    Код:
    (not ip.geoip.country in {"AM" "AZ" "BY" "KZ" "KG" "MD" "RU" "TJ" "TM" "UZ" "UA"})
    Anti DDoS (JS Challenge) [OFF]
    Код:
    (http.request.method eq "POST" and http.request.uri contains "search")
    Anti Parser (JS Challenge) [ON]
    Код:
    (not http.request.version in {"HTTP/2" "HTTP/3" "SPDY/3.1"}) or (http.referer eq "" and not ip.geoip.country in {"RU"}) or (http.user_agent contains "TelegramBot" and not ip.geoip.country in {"RU"}) or (http.user_agent contains "Discordbot" and not ip.geoip.country in {"RU"}) or (ip.src in {::/0}) or (not ssl)
    Остальное в .htaccess блок UA.
     
    • Полезно Полезно x 2
  15. Lirok

    Lirok Зелёный

    Регистрация:
    5 сен 2024
    Сообщения:
    2
    Лучших ответов:
    0
    Рейтинги:
    +0 / 0 / -0
    konamin
    +100 к карме

    а список asn не пополнился у тебя?
     
  16. Черный Корсар

    Черный Корсар Бывалый

    Регистрация:
    22 май 2019
    Сообщения:
    354
    Лучших ответов:
    2
    Рейтинги:
    +93 / 27 / -0
    Не дает вставить 3-е правило.
    upload_2025-2-15_12-35-10.png
     
  17. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Пока этого списка мне хватает. Будут новые попытки - буду отлавливать и обновлять здесь список.

    Проверь, может где-то режет выражение. Может какую-то скобку пропустил. Галка стоит на - All remaining custom rules?
     
  18. Черный Корсар

    Черный Корсар Бывалый

    Регистрация:
    22 май 2019
    Сообщения:
    354
    Лучших ответов:
    2
    Рейтинги:
    +93 / 27 / -0
    Да, все делал по инструкции, коды твои из поста копировал.
    По итогу прописал руками, и получилось

    Код:
    (cf.client.bot) or (http.user_agent contains "Mail.RU_Bot") or (ip.src.asnum eq 208722) or (ip.src.asnum eq 47541) or (ip.src.asnum eq 47542) or (ip.src.asnum eq 47764) or (http.user_agent contains "vkShare") or (ip.src.asnum eq 13236) or (ip.src.asnum eq 15169) or (http.user_agent contains "OdklBot")
    А у тебя

    Код:
    (cf.client.bot) or (http.user_agent contains "Mail.RU_Bot") or (ip.geoip.asnum eq 208722) or (ip.geoip.asnum eq 13238) or (ip.geoip.asnum eq 47541) or (ip.geoip.asnum eq 47542) or (ip.geoip.asnum eq 47764) or (http.user_agent contains "vkShare") or (ip.geoip.asnum eq 13236) or (ip.geoip.asnum eq 15169) or (http.user_agent contains "OdklBot")
    Разница в ip.src.asnum и ip.geoip.asnum
    х\з правда, в чем именно отличие, и будет ли работать так, но, раз клауд сам это прописал, то так и должно быть

    upload_2025-2-15_15-28-53.png
     
    • Полезно Полезно x 2
  19. Modniy

    Modniy Новичок

    Регистрация:
    14 фев 2025
    Сообщения:
    31
    Лучших ответов:
    0
    Рейтинги:
    +23 / 6 / -0
    Вставь в поле и просто сохраняй, не надо нажимать кнопку "Use expression builder". Мне так помогло, хотя тоже ошибку долго искал.
     
    • Согласен Согласен x 1
  20. TopicStarter Overlay
    konamin

    Команда форума VIP Кинотрафик v2

    Регистрация:
    2 фев 2015
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +457 / 1 / -0
    Проверил, у меня и руками и на автомате создается ip.geoip.asnum, никаких ошибок не вылетает. Этот формат устаревший и клауд должен прописывать правильный вариант, но этого не происходит. Возможно потому что я давно использовал именно такой формат. ХЗ.

    waf.png

    P.S. После того, как руками заменил и сохранил в правиле все geoip на src, то новые выражения уже создаются правильно с src. Обновил 3 и 4 правило в стартпосте.
    Рекомендую всем пересмотреть свои правила.
     
    #20 konamin, 15 фев 2025
    Последнее редактирование: 15 фев 2025
    • Нравится Нравится x 3
Похожие темы
  1. Kharintsev
    Ответов:
    21
    Просмотров:
    3.540
  2. Artak
    Ответов:
    32
    Просмотров:
    4.702
  3. Dr_Brown
    Ответов:
    5
    Просмотров:
    1.866
  4. EVG-95
    Ответов:
    2
    Просмотров:
    2.435
Загрузка...
Яндекс.Метрика