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

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

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

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

11.12.24 в 20:14
21.02.25 в 12:01
23
5.536
4
  1. TopicStarter Overlay
    konamin

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

    Сообщения:
    640
    Симпатии:
    442
    Лучших ответов:
    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" пачками, тут кто как хочет, кому как удобно.

     
    Последнее редактирование: 15 фев 2025
    • Полезно Полезно x 9
    • Нравится Нравится x 4
    • Не нравится Не нравится x 1
  2. kinQ

    kinQ Бывалый

    Сообщения:
    169
    Симпатии:
    50
    Лучших ответов:
    0
    а как отрезать ботов какого то региона от гугла? что бы залочить сайт в поиске для региона
     
  3. TopicStarter Overlay
    konamin

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

    Сообщения:
    640
    Симпатии:
    442
    Лучших ответов:
    0
    В поиске никак.
     
  4. Sardorbek

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

    Сообщения:
    204
    Симпатии:
    43
    Лучших ответов:
    0
    or (http.user_agent contains "CopyRightCheck")
     
    • Нравится Нравится x 2
  5. Sardorbek

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

    Сообщения:
    204
    Симпатии:
    43
    Лучших ответов:
    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.вашего.сервера)
    Разрешающей правила обязательно поставить на первой очеред.
     
    Последнее редактирование: 13 дек 2024
  6. TopicStarter Overlay
    konamin

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

    Сообщения:
    640
    Симпатии:
    442
    Лучших ответов:
    0
    Если ПСы прописаны через ASN, такое правило допустимо первым, его не подменить.

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

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

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

    Сообщения:
    204
    Симпатии:
    43
    Лучших ответов:
    0
    Я сейчас проверил через Яндекс с вашим правилам поставляя разрешающей правила на третий очередь, ответ 403. А при повторное проверке поставляя разрешающей правила на первый очередь ответ 200 OK.
     
  8. TopicStarter Overlay
    konamin

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

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

    Screenshot2.png

    Screenshot3.png

    Screenshot4.png

    Screenshot5.png

    Screenshot7.png

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

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

    Сообщения:
    3.383
    Симпатии:
    1.054
    Лучших ответов:
    7
    Спасибо!
     
    • Нравится Нравится x 1
  10. Sardorbek

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

    Сообщения:
    204
    Симпатии:
    43
    Лучших ответов:
    0
    Хорошо перепроверю. Может я что-то пропустил.
     
  11. Sardorbek

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

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

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

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

    Сообщения:
    640
    Симпатии:
    442
    Лучших ответов:
    0
    Вот и причина 403. Вы блокируете основных ботов Яндекса и Гугла. Разрешающее правило должно стоять выше этого блока ГЕО, как минимум.

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

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

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

    Сообщения:
    640
    Симпатии:
    442
    Лучших ответов:
    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

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

    Сообщения:
    3.383
    Симпатии:
    1.054
    Лучших ответов:
    7
    Мой старый был

    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 Зелёный

    Сообщения:
    6
    Симпатии:
    0
    Лучших ответов:
    0
    konamin
    +100 к карме

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

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

    Сообщения:
    383
    Симпатии:
    56
    Лучших ответов:
    2
    Не дает вставить 3-е правило.
    upload_2025-2-15_12-35-10.png
     
  17. TopicStarter Overlay
    konamin

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

    Сообщения:
    640
    Симпатии:
    442
    Лучших ответов:
    0
    Пока этого списка мне хватает. Будут новые попытки - буду отлавливать и обновлять здесь список.

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

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

    Сообщения:
    383
    Симпатии:
    56
    Лучших ответов:
    2
    Да, все делал по инструкции, коды твои из поста копировал.
    По итогу прописал руками, и получилось

    Код:
    (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 Посетитель

    Сообщения:
    64
    Симпатии:
    17
    Лучших ответов:
    0
    Вставь в поле и просто сохраняй, не надо нажимать кнопку "Use expression builder". Мне так помогло, хотя тоже ошибку долго искал.
     
    • Согласен Согласен x 1
  20. TopicStarter Overlay
    konamin

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

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

    waf.png

    P.S. После того, как руками заменил и сохранил в правиле все geoip на src, то новые выражения уже создаются правильно с src. Обновил 3 и 4 правило в стартпосте.
    Рекомендую всем пересмотреть свои правила.
     
    Последнее редактирование: 15 фев 2025
    • Нравится Нравится x 3
Похожие темы
  1. Artak
    Ответов:
    32
    Просмотров:
    6.526
  2. Dr_Brown
    Ответов:
    5
    Просмотров:
    3.034
  3. EVG-95
    Ответов:
    2
    Просмотров:
    2.924
  4. Leganto
    Ответов:
    35
    Просмотров:
    4.172
Загрузка...