AspiegelBot грузит проц под 100% и ложит сайт

Защита сервера от взлома, антивирус, файрвол, SSL-сертификаты и прочие вопросы, связанные с безопасностью данных.
Ответить
at0s13
Сообщения: 5
Зарегистрирован: Ср янв 29, 2020 9:07 pm

AspiegelBot грузит проц под 100% и ложит сайт

Сообщение at0s13 » Ср апр 01, 2020 10:52 pm

подскажите как правильно заблокировать AspiegelBot, он каждую секунду открывает новую страницу.
Сайт на opencart с 200k+ товарами (для опекарта это много), 600+ категорий и много фильтров, сделана только базовая оптимизация, но так как посещаемость очень маленькая то vps справлялся уже второй год, только последнюю неделю как бот пожаловал, приходится почти всегда сайт держать отключённым. Думал что что-то намудрил с конфигурациями apache/nginx, переносил сайт на аналогичный новый vps на стандартных настройках brainycp, но не помогло.. Только сейчас додумался посмотреть access лог..

С apache знаком через .htaccess бы заблокировал, но с nginx и CSF Firewall незнаком.. Посоветуйте как лучше заблокировать?

логи прикрепляю, там еще диапазон его IP прослеживается: 114.119.160-167.0-255, ну и представляется как AspiegelBot
Вложения
part_log__etc_httpd_vhost_logs_access.rar
(69.85 КБ) 335 скачиваний

Akrobs
Сообщения: 325
Зарегистрирован: Чт сен 21, 2017 10:48 pm
Откуда: Saint-Petersburg
Контактная информация:

Re: AspiegelBot грузит проц под 100% и ложит сайт

Сообщение Akrobs » Чт апр 02, 2020 7:47 am

at0s13 писал(а):
Ср апр 01, 2020 10:52 pm
С apache знаком через .htaccess бы заблокировал, но с nginx и CSF Firewall незнаком.. Посоветуйте как лучше заблокировать?

логи прикрепляю, там еще диапазон его IP прослеживается: 114.119.160-167.0-255, ну и представляется как AspiegelBot
Заблокируйте ip через IP Tables, например так:

Код: Выделить всё

-A INPUT -s 114.119.0.0/16 -j REJECT --reject-with icmp-port-unreachable
Это заблокирует подсеть, либо впишите диапазон IP адресов.

Или можете включить Fail2Ban.

at0s13
Сообщения: 5
Зарегистрирован: Ср янв 29, 2020 9:07 pm

Re: AspiegelBot грузит проц под 100% и ложит сайт

Сообщение at0s13 » Чт апр 02, 2020 8:20 am

Akrobs писал(а):
Чт апр 02, 2020 7:47 am
Заблокируйте ip через IP Tables, например так:

Код: Выделить всё

-A INPUT -s 114.119.0.0/16 -j REJECT --reject-with icmp-port-unreachable
Это заблокирует подсеть, либо впишите диапазон IP адресов.

Или можете включить Fail2Ban.
Заблокировал через IP Tables, но все равно как то он пробивается:

Код: Выделить всё

114.119.163.57 - - [02/Apr/2020:11:13:15 +0300] "GET /kompyuteri-aksessuari/manipulyatori/mishki/tehnologija-sensora/pmw3366/pro-optic-r6 HTTP/1.0" 504 417 "-" "Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)"
114.119.160.215 - - [02/Apr/2020:11:13:16 +0300] "GET /tovari-dlya-sporta-i-otdiha/ribalka/spinningi-udochki/test-po-primanke/35-g/30-80-60-120-100-250-g/8-38-g HTTP/1.0" 504 417 "-" "Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; AspiegelBot)"
Вложения
2020-04-02_11-16-38.png
2020-04-02_11-16-38.png (63.2 КБ) 12243 просмотра

Akrobs
Сообщения: 325
Зарегистрирован: Чт сен 21, 2017 10:48 pm
Откуда: Saint-Petersburg
Контактная информация:

Re: AspiegelBot грузит проц под 100% и ложит сайт

Сообщение Akrobs » Чт апр 02, 2020 2:41 pm

at0s13 писал(а):
Чт апр 02, 2020 8:20 am

Заблокировал через IP Tables, но все равно как то он пробивается:
Скорее всего, вы вписали правило в самый низ цепочки IP Tables, а запрещающие правила должны быть первыми, затем разрешающие

Вот небольшой кусок, для примера:

Код: Выделить всё

# Generated by iptables-save v1.4.21 on Tue Feb 25 23:20:26 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 129.211.0.0/16 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -s 45.143.0.0/16 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -s 45.142.0.0/16 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -s 193.107.0.0/16 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -s 23.92.0.0/16 -j REJECT --reject-with icmp-port-unreachable

at0s13
Сообщения: 5
Зарегистрирован: Ср янв 29, 2020 9:07 pm

Re: AspiegelBot грузит проц под 100% и ложит сайт

Сообщение at0s13 » Чт апр 02, 2020 10:32 pm

спасибо, действительно был в конце, поставил на первое место:

Код: Выделить всё

iptables -I INPUT 1 -s 114.119.0.0/16 -j REJECT --reject-with icmp-port-unreachable
не разбираюсь в других правилах, точно на первом месте будет норм? другим правилам не мешает?

Код: Выделить всё

[root@hosting ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    REJECT     all  --  114.119.0.0/16       0.0.0.0/0            reject-with icmp-port-unreachable
2    ACCEPT     tcp  --  216.133.94.11        0.0.0.0/0            tcp dpt:53
3    ACCEPT     udp  --  216.133.94.11        0.0.0.0/0            udp dpt:53
4    ACCEPT     tcp  --  216.133.94.11        0.0.0.0/0            tcp spt:53
5    ACCEPT     udp  --  216.133.94.11        0.0.0.0/0            udp spt:53
6    ACCEPT     tcp  --  216.133.94.10        0.0.0.0/0            tcp dpt:53
7    ACCEPT     udp  --  216.133.94.10        0.0.0.0/0            udp dpt:53
8    ACCEPT     tcp  --  216.133.94.10        0.0.0.0/0            tcp spt:53
9    ACCEPT     udp  --  216.133.94.10        0.0.0.0/0            udp spt:53
10   LOCALINPUT  all  --  0.0.0.0/0            0.0.0.0/0
11   ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
12   INVALID    tcp  --  0.0.0.0/0            0.0.0.0/0
13   ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
14   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:20
15   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:21
16   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:22
17   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:25
18   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:53
19   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:80
20   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:110
21   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:143
22   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:443
23   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:465
24   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:587
25   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:993
26   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:995
27   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:8000
28   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:4747
29   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpts:30000:50000
30   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:8002
31   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:3306
32   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:4200
33   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:5432
34   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW tcp dpt:43
35   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW udp dpt:20
36   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW udp dpt:21
37   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW udp dpt:53
38   ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0            ctstate NEW udp dpts:1024:65535
39   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 8 limit: avg 1/sec burst 5
40   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 0 limit: avg 1/sec burst 5
41   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 11
42   ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 3
43   LOGDROPIN  all  --  0.0.0.0/0            0.0.0.0/0
44   DROP       udp  -- !192.168.1.0/24       0.0.0.0/0            udp dpt:111
45   DROP       tcp  -- !192.168.1.0/24       0.0.0.0/0            tcp dpt:111
46   ACCEPT     tcp  --  127.0.0.1            0.0.0.0/0            tcp dpt:111
Пока что запаролил сайт, на ночь запустил обновления товаров по апи. Уже с утра, включу сайт и проверю пробьется ли бот..

Николай
Сообщения: 1
Зарегистрирован: Вс апр 12, 2020 1:44 pm

Re: AspiegelBot грузит проц под 100% и ложит сайт

Сообщение Николай » Вс апр 12, 2020 1:49 pm

Приветствую! Если данный бот пробивает Ваш firewall - решение данной проблемы есть в использовании firewall сервиса cloudflare.

Аватара пользователя
con
Сообщения: 84
Зарегистрирован: Вс мар 15, 2020 11:58 am

Re: AspiegelBot грузит проц под 100% и ложит сайт

Сообщение con » Пт апр 17, 2020 8:37 am

В файл .htaccess добавье следующие строки:
(еще заблокировал ахрефс и семраш, они тоже любят нагрузить сайт. Ну, и по аналогии других подабовляйте. Вот здесь можете получить список (только яндекс и гугл не заблокируйте, они там есть).
https://support.acquia.com/hc/en-us/art ... awei-Cloud

#Блокируем надоедливых роботов
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} AhrefsBot [OR]
RewriteCond %{HTTP_USER_AGENT} AspiegelBot [OR]
RewriteCond %{HTTP_USER_AGENT} SemrushBot
RewriteRule ^(.*)$ – [F,L]
Centos7

Ответить