# 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/bashset -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 GmbHASNS=(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.dIPV4_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 rulesetnft -f "$OUTFILE"echo "Loaded. country ranges: ${#country_v4[@]}, ASN ranges: ${#asn_v4[@]}"
Нужно анализировать логи и добавлять новых, когда появляются
Получается, что с помощью двух этих программ можно бесплатно настроить защиту, и еще в htaccess по user agent блокируем сканеры и ботов. Остаются только ПФ боты, но с ними сложнее
Весь список того мужика не хочу использовать без детального изучения, мне кажется, что он слишком много и жестко блокировал там, там видно как 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
Ну зомро не прям ноунейм был. Был популярен для кино сайтов
на самом деле это маркетинг и цифры ниочем, если там оверселлинг. помню в диджиталоушене 1 обычное ядро выдавало в тестах больше попугаев чем у зомро 6 ядер, которые каждое еще и якобы мощнее были 😀 или таймвеб не важно сколько рисующий ядер вечно тормознутый даже при нулевой нагрузке.
У зомро да были такие, помню в 21-22 году был тариф 1 ядро с большим диском быстрее чем 2-4 ядра. Я им написал, почему так, ответили приоритет и гарантированную мощность и отправили ссылку сравнения всех тарифов
Это минимум, мне нужен процессор с поввшенной частотой, чтобы генерация страниц быстрее была. 5 ГГц тариф у бегета примерно в 2 раза быстрее чем обычный
15 гигов диск наверно, самый дешевый тариф бегета 5 ГГц