Coby

Рейтинг
89
Регистрация
13.01.2017
eByeBots #:
Можно и так, а можно nginx использовать и там правила загружаются в память один раз при старте. К тому же htaccess нагружает сервер (если правил много, из-за особенности проверки) - но в целом юзабельно.
спасибо за совет, как в nginx не знаю, у меня fastpanel стоит, буду смотреть как там редактировать настройки
yandrey #:
+ AS200373 3xK Tech, лезут массово из разных стран
Да про них писал уже, еще AS150436 Byteplus Pte. Ltd. но я Индонезию блокирую полностью. Мой список блокировки такой: 
# AS45102: Alibaba (US) Technology Co., Ltd.
# AS136907: Huawei Cloud
# AS55990: Huawei Cloud Service data center
# AS63655: Huawei Technologies Co., Ltd (HWDGNET)
# AS131444: Huawei (member of AS-HUAWEI set)
# AS141180: Huawei (member of AS-HUAWEI set)
# AS398705: Censys, Inc.
# AS132203: Tencent Building, Kejizhongyi Avenue
# AS45090: Shenzhen Tencent Computer Systems Company Limited
# AS35048: Biterika Group LLC
# AS204490: Kontel LLC (ASKONTEL)
# AS44812: IP Server LLC (IPSERVER-RU-NET)
# AS208677: "Cloud Technologies" LLC trading as Cloud.ru
# AS200373: 3xK Tech GmbH
# Albania, Argentina, Bangladesh, Brazil, Colombia, Costa Rica, Algeria,
# Ecuador, Hong Kong, Indonesia, India, Iraq, Jordan, Lebanon, Morocco,
# Malaysia, Nigeria, Nicaragua, Oman, Philippines, Pakistan, Puerto Rico,
# Paraguay, Singapore, Syria, Tunisia, Ukraine, Venezuela, Vietnam, South Africa
Думаю, что из этих стран мало реальных посетителей. Европу не трогаю, потому что часто реальные люди виртуально меняют местоположение

Если кому интересно, настроил crowdsec, сделал в Claude скрипт по блокировке asn и стран в nftables, по типу того с гитхаба. Он будет запускать по крону и обновлять списки

Теперь с ботами из этих стран тему можно закрывать, думаю что больше вреда от них, чем реальные посетители

#!/bin/bash
set -euo pipefail
# Albania, Argentina, Bangladesh, Brazil, Colombia, Costa Rica, Algeria,
# Ecuador, Hong Kong, Indonesia, India, Iraq, Jordan, Lebanon, Morocco,
# Malaysia, Nigeria, Nicaragua, Oman, Philippines, Pakistan, Puerto Rico,
# Paraguay, Singapore, Syria, Tunisia, Ukraine, Venezuela, Vietnam, South Africa
# (al, ar, bd, br, co, cr, dz, ec, hk, id, in, iq, jo, lb, ma, my, ng, ni,
#  om, ph, pk, pr, py, sg, sy, tn, ua, ve, vn, za)
COUNTRIES=(al ar bd br co cr dz ec hk id in iq jo lb ma my ng ni om ph pk pr py sg sy tn ua ve vn za)
COUNTRY_BASE="https://raw.githubusercontent.com/ipverse/country-ip-blocks/master/country"
# AS45102: Alibaba (US) Technology Co., Ltd.
# AS136907: Huawei Cloud
# AS55990: Huawei Cloud Service data center
# AS63655: Huawei Technologies Co., Ltd (HWDGNET)
# AS131444: Huawei (member of AS-HUAWEI set)
# AS141180: Huawei (member of AS-HUAWEI set)
# AS398705: Censys, Inc.
# AS132203: Tencent Building, Kejizhongyi Avenue
# AS45090: Shenzhen Tencent Computer Systems Company Limited
# AS35048: Biterika Group LLC
# AS204490: Kontel LLC (ASKONTEL)
# AS44812: IP Server LLC (IPSERVER-RU-NET)
# AS208677: "Cloud Technologies" LLC trading as Cloud.ru
# AS200373: 3xK Tech GmbH
ASNS=(AS45102 AS136907 AS55990 AS63655 AS131444 AS141180 AS398705 AS132203 AS45090 AS35048 AS204490 AS44812 AS208677 AS200373)
OUTFILE="/etc/nftables.d/geoblock.nft"
TMP=$(mktemp)
mkdir -p /etc/nftables.d
IPV4_CIDR_RE='^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(/[0-9]{1,2})?$'
country_v4=()
asn_v4=()
# --- Country lists (IPv4 only) ---
for cc in "${COUNTRIES[@]}"; do
    echo "Fetching country $cc..."
    while IFS= read -r line; do
        line="${line%$'\r'}"
        [[ -z "$line" || "$line" == \#* ]] && continue
        [[ "$line" =~ $IPV4_CIDR_RE ]] || continue
        country_v4+=("$line")
    done < <(curl -fsSL "$COUNTRY_BASE/$cc/ipv4-aggregated.txt")
done
# --- ASN lists ---
for asn in "${ASNS[@]}"; do
    echo "Fetching ASN $asn..."
    count_before=${#asn_v4[@]}
    ipv6_skipped=0
    while IFS= read -r line; do
        line="${line%$'\r'}"
        [[ -z "$line" || "$line" == \#* ]] && continue
        if [[ "$line" == *:* ]]; then
            ipv6_skipped=$((ipv6_skipped + 1))
            continue
        fi
        [[ "$line" != */* ]] && line="${line}/32"
        [[ "$line" =~ $IPV4_CIDR_RE ]] || continue
        asn_v4+=("$line")
    done < <(curl -fsSL "https://asn.ipinfo.app/api/text/list/${asn}")
    echo "  -> $(( ${#asn_v4[@]} - count_before )) ranges (ipv6 skipped: $ipv6_skipped)"
done
{
    echo "add table inet geoblock"
    echo "delete table inet geoblock"
    echo "table inet geoblock {"
    echo "    set blocked_country_v4 {"
    echo "        type ipv4_addr; flags interval, auto-merge;"
    echo "        elements = { $(IFS=,; echo "${country_v4[*]}") }"
    echo "    }"
    echo "    set blocked_asn_v4 {"
    echo "        type ipv4_addr; flags interval, auto-merge;"
    echo "        elements = { $(IFS=,; echo "${asn_v4[*]}") }"
    echo "    }"
    echo "    chain input {"
    echo "        type filter hook input priority -300; policy accept;"
    echo "        ip saddr @blocked_country_v4 counter drop"
    echo "        ip saddr @blocked_asn_v4 counter drop"
    echo "    }"
    echo "}"
} > "$TMP"
mv "$TMP" "$OUTFILE"
nft -c -f "$OUTFILE"   # validate syntax before touching the live ruleset
nft -f "$OUTFILE"
echo "Loaded. country ranges: ${#country_v4[@]}, ASN ranges: ${#asn_v4[@]}"

Нужно анализировать логи и добавлять новых, когда появляются

Получается, что с помощью двух этих программ можно бесплатно настроить защиту, и еще в  htaccess по user agent блокируем сканеры и ботов. Остаются только ПФ боты, но с ними сложнее

TonyBlackberry #:
На этой неделе снова начали лезть алибабашные боты с AS45102.  Если кто не может их блокировать через ASN, то вот все их IP для блокировки через панельку.

Еще asn tencent и huawei надо блокировать

Весь список того мужика не хочу использовать без детального изучения, мне кажется, что он слишком много и жестко блокировал там, там видно как Vodafone попал в блокировку, а потом он убирал

И еще забыл написать, что заблокировал в htaccess по user agent ботов, которые представляются RewriteCond %{HTTP_USER_AGENT}:

AI2Bot, Ahrefs, Amazonbot, Applebot, Barkrowler, BitSightBot, BLEXBot, Bytespider, CCBot, Censys, ChatGPT, Cohere, Diffbot, DuckAssistBot, FacebookBot , GPTBot, Google-CloudVertexBot, Google-Extended, HeadlessChrome, ImagesiftBot, Kangaroo, MJ12Bot, MegaIndex.ru, Meta-ExternalAgent, Meta-ExternalFetcher, OAI-SearchBot, Omgili, PerplexityBot, Python-requests, SemrushBot, SERanking, Seznambot, Shodan, Sqlmap.org, Spider.cloud, Thinkbot, Timpibot, TikTokSpider, Webzio, YouBot, Vulnweb

facebookexternalhit, meta-externalagent, meta-webindexer, Amzn-SearchBot, DataForSeoBot, Go-http-client, DotBot, TerraCotta, keys-so-bot, Claude-SearchBot, DotBot, GetIntent

Бегет еще цены повысил, добавил оплату за ip адрес. По факту у всех тарифов плюс 180 рублей за публичный ip адрес
estic #:
Именно поэтому "достоинство" - важнейший показатель. Зачем вообще сравнивать ДО с каким-то "ноунэймом"? 😊

Ну зомро не прям ноунейм был. Был популярен для кино сайтов

Кто что про fastvps скажет? В России у них предзаказ на год, отпадает вариант. Другие в Европе, могут заблокировать или плохо работать. Интересуте тариф с выделнным виртуальным процессором, 1880 рублей за 2 ядра и 16 ГБ памяти, почему так много памяти по сравнению с другими?
Mik Foxi #:

на самом деле это маркетинг и цифры ниочем, если там оверселлинг. помню в диджиталоушене 1 обычное ядро выдавало в тестах больше попугаев чем у зомро 6 ядер, которые каждое еще и якобы мощнее были 😀 или таймвеб не важно сколько рисующий ядер вечно тормознутый даже при нулевой нагрузке.

У зомро да были такие, помню в 21-22 году был тариф 1 ядро с большим диском быстрее чем 2-4 ядра. Я им написал, почему так, ответили приоритет и гарантированную мощность и отправили ссылку сравнения всех тарифов

estic #:
Я писал про цены в первом сообщении автора. Что это за тариф с 15 "гигами"? Хотя мне больше интересно, зачем автору 5 ГГц с 2 "гигами" оперативки. 😊

Это минимум, мне нужен процессор с поввшенной частотой, чтобы генерация страниц быстрее была. 5 ГГц тариф у бегета примерно в 2 раза быстрее чем обычный

15 гигов диск наверно, самый дешевый тариф бегета 5 ГГц

Всего: 206