Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.


Send Message

Add post

Login

Register Now

Цель сайта совместная помощь друг другу, если вы желаете скачивать ресурсы и ничего при этом не делать, вам нужно оплатить Подписку Другой вариант активно помогать другим участникам

DDos атака ботами с вымоганием денег причины и методы борьбы

DDos атака ботами с вымоганием денег причины и методы борьбы

Много сайтов на Opencart и не только, сталкиваются с DDoS-атаками, тоже самое произошло с одним из феофанов) грузят сайт он перестает работать, и начинают вымогать деньги, пока не заплатишь сайт не будет работать, сопротивляться бесполезно.

Небольшая заметка может кому пригодится. Сам процесс как вычислялся трафик описан тут https://amkolomna.ru/content/zashchita-nginx-ot-ddos-atak

Включение кнопки идет атака на cloudflare, что бы при входе на сайт выводилась капча и тариф за 20$ не помогает))

Смотрим трафик

tcpdump -n -i eno1 -s 0 -w output.txt dst port 80 and host <IP сервера, без скобок>
cat /root/output.txt
  • -n: Отключает преобразование числовых адресов и портов в их имена. Это ускоряет сбор данных, так как tcpdump не будет искать DNS-записи.
  • -i eno1: Захватывает трафик на указанном сетевом интерфейсе eno1 Если у вас другой укажите, проверить какой команда ifconfig.
  • -s 0: Устанавливает размер захватываемого пакета на максимально возможное значение. Это гарантирует, что будут захвачены полные пакеты данных.
  • -w output.txt: Записывает захваченные пакеты в файл output.txt. По умолчанию будет лежать /root/ посмотреть командой cat /root/output.txt
  • dst port 80: Фильтрует пакеты, адресованные на порт 80 (обычно используется для HTTP-трафика).

Выходит боты создают большое количество Get запросов после сайт перестает работать.

https://mj12bot.com/
https://www.semrush.com/bot/
https://developer.amazon.com/support/amazonbot
https://support.apple.com/ru-ru/HT204683
  1. Majestic-12 (MJ12Bot): Это веб-паук, который используется для сканирования Интернета и создания публично доступной базы данных о веб-страницах. Это часть проекта Majestic-12, который занимается сбором информации о структуре Интернета.
  2. SEMrushBot: Это бот, используемый компанией SEMrush для сбора данных о поисковых запросах, ключевых словах и других параметрах, связанных с поиском в Интернете. SEMrush предоставляет услуги анализа конкурентной информации и оптимизации поисковых систем.
  3. Amazonbot: Этот бот является частью инфраструктуры Amazon и используется для сканирования и индексации веб-страниц с целью улучшения поисковой выдачи и обеспечения качества контента для пользователей Amazon.
  4. Applebot: Applebot — это поисковый робот, используемый Apple для сканирования веб-страниц, включая контент веб-магазинов приложений App Store и iTunes Store. Это помогает улучшить поиск и обнаружение контента для пользователей Apple.

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

Просто блокируем их, один из вариантов запретить доступ к сайту через robots.txt 

User-agent: MJ12bot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: Amazonbot
Disallow: /
User-agent: Applebot
Disallow: /

Еще вариант неплохой и 100% блочить через nginx как на него перейти описано тут

Для начала можно добавить в nginx.conf
после
include /etc/nginx/mime.types;
default_type application/octet-stream;

map $http_user_agent $is_bot {
       default 0;
       ~*mj12bot 1;
       ~*semrush 1;
       ~*amazonbot 1;
       ~*applebot 1;
       ~*bingbot 1;
       ~*dotbot 1;
   }

Еще вариант создать файл block.conf в каталоге /etc/nginx/conf.d/. Вы можете сделать это с помощью текстового редактора, например, nano или vi. В этом примере я буду использовать nano:

sudo nano /etc/nginx/conf.d/block.conf

И добавляем в block.conf

deny 95.79.121.193;
deny 217.69.195.134;
deny 178.213.24.233;
deny 91.230.154.149;
deny 5.35.6.28;
deny 185.177.114.137;
deny 193.233.158.166;
deny 88.87.78.95;
deny 217.197.237.74;
deny 212.42.56.120;
deny 45.5.116.242;
deny 188.163.120.155;
deny 180.178.103.82;
deny 38.49.140.14;
deny 46.8.22.67;
deny 146.19.39.94;
deny 146.19.44.134;
deny 79.110.31.107;
deny 193.163.207.147;
deny 146.19.91.164;
deny 79.110.31.243;
deny 95.24.78.111;
deny 91.246.51.127;
deny 147.78.180.133;
deny 193.163.207.202;
deny 146.185.203.224;
deny 91.243.88.33;
deny 146.185.201.168;
deny 146.185.203.153;
deny 147.78.180.154;
deny 146.185.203.224;
deny 91.246.51.120;
deny 62.204.49.235;
deny 193.163.207.110;
deny 94.154.113.17;
deny 146.185.201.77;
deny 94.154.113.218;
deny 185.89.101.188;
deny 91.243.95.160;
deny 185.212.115.28;
deny 146.19.39.69;
deny 146.19.39.101;
deny 91.243.88.120;
deny 62.233.39.173;
deny 85.239.35.172;
deny 62.204.49.23;
deny 146.185.203.215;
deny 212.18.113.68;
deny 62.233.39.147;
deny 147.78.180.237;
deny 91.246.51.197;
deny 146.185.202.122;
deny 212.18.127.147;
deny 188.40.90.167;
deny 85.239.35.175;
deny 212.18.113.220;
deny 193.163.207.93;
deny 146.185.201.106;
deny 94.154.113.236;
deny 85.239.35.117;
deny 146.19.44.56;
deny 185.89.101.102;
deny 146.185.203.11;
deny 147.78.180.233;
deny 83.97.119.173;
deny 91.243.88.163;
deny 91.243.88.161;
deny 212.18.127.100;
deny 5.255.231.64;
deny 146.19.91.253;
deny 146.185.203.191;
deny 146.185.202.152;
deny 212.18.127.129;
deny 146.185.203.83;
deny 185.89.101.218;
deny 62.233.39.85;
deny 193.163.207.28;
deny 146.19.39.218;
deny 91.246.51.94;
deny 66.249.70.69;
deny 94.154.113.28;
deny 66.249.70.70;
deny 79.110.31.76;
deny 185.68.153.83;
deny 62.204.49.35;
deny 146.19.39.72;
deny 146.19.44.129;
deny 146.19.78.193;
deny 66.249.70.69;
deny 147.78.180.250;
deny 212.18.113.182;
deny 91.247.163.146;
deny 62.233.39.63;
deny 185.68.153.49;
deny 146.185.201.223;
deny 62.204.49.185;
deny 85.239.35.143;
deny 62.233.39.148;
deny 85.68.152.150;
deny 185.68.152.150;
deny 185.68.155.132;
deny 193.163.89.245;

Теперь вам нужно включить этот файл в основной конфигурационный файл Nginx или конфигурационный файл вашего сайта. Обычно это делается в блоке server или http. Для этого откройте соответствующий конфигурационный файл:

sudo nano /etc/nginx/nginx.conf

Перезагрузите Nginx для применения изменений:

sudo systemctl reload nginx

Еще вариант добавить в /etc/nginx/nginx.conf

map $arg_limit $is_high_limit {
    default     0;
    "~^(?<limit>[1-8][0-9]{3}|9000)$"  $limit;
}

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
    
     # Определение ботов
    map $http_user_agent $limit_bot {
        default 0;
        ~*(MJ12bot|SemrushBot|Amazonbot|Applebot|AhrefsBot|Yandex|Bytespider|my-tiny-bot|SputnikBot|Crowsnest|PaperLiBot|peerindex|ia_archiver|Slurp|Aport|NING|JS-Kit|rogerbot|BLEXBot|Twiceler|Baiduspider|Java|CommentReader|Yeti|discobot|BTWebClient|Tagoobot|Ezooms|igdeSpyder|Teleport|Offline|DISCo|netvampire|Copier|HTTrack|WebCopier) 1;
    }

А в конфигурационный файл, в блок server { добавить

# Блокировка по параметру в запросе
   if ($args ~* "limit=10000") {
       return 403;
   }


# Блокировка по параметру в запросе
    if ($is_high_limit>1000) {
        return 403;
    }

# Можно еще так 
if ($is_high_limit) {
    return 403;
}
Избранное (1)
Please login to bookmark Close

About Grek

Хорошее начало — не мелочь, хотя и начинается с мелочи По вопросам подписки / рекламе, пишите в личку https://t.me/trafimmamedov или на почту feofan.club@gmail.com

Follow Me

Leave a reply