blocklist_net_ua - список IP-адрес підозрілих ботів, які намагаються ддосити українські веб-сервери. Частина з них росіянські.
За сьогодні вони додали майже 7000 айпішників.
Список налічує більш ніж 100 тисяч різних ботів, яких ви можете побачити в ваших логах в веб-сервері, їхня діяльність виглядає приблизно ось так:
Вони завжди виконують однотипні дії, наприклад роблять пошук випадкового тексту, або відкривають будь-яку сторінку з новинами сайту:
Цим самим такі боти навантажують базу даних і ваш PHP-FPM, який може не справлятися з навантаженням у 100 000 запитів на годину.
Через це ресурси сервера можуть закінчитись і сайт буде виснути, як колись було з Ujournal — в аналітиці від гугла показує, що користувачів немає, а процесор завантажується на 100%
Є захист від Cloudflare та Digital Ocean, але не не у всіх є можливість його підключити, з Digital Ocean взагалі не зрозуміло як він працює (а наші хостери не дуже це люблять і зазвичай ставлять такі послуги у преміум-росцінки).
Тому добрі люди зробили список з таких шкідливих IP, на яких сидять русняві боти і паскудять життя всім іншим.
Ось цей список, його можна додати в блокліст вашого сервера та забути про велике навантаження
raw.githubusercontent.com/ktsaou/blocklist-ipsets/master/blocklist_net_ua.ipset
веб-ресурс
Тут є ще графіки по країнам, статистика додавання і багато іншого:
FireHOL IP Lists | IP Blacklists | IP Reputation Feeds
iplists.firehol.org
Розкажу як зробити це на прикладі сервера на Nginx
1. Відкриваєте ваш конфігураційний файл:
vi /etc/nginx/sites-available/default
2. Додаєте рядок
include /etc/nginx/blacklist.conf;
Ось так виглядає конфігурація без цього рядка:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
Ось так з:
server {
listen 80 default_server;
listen [::]:80 default_server;
include /etc/nginx/blacklist.conf;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
3. Відкриваєте ваш файл blocklist.conf
vi /etc/nginx/blacklist.conf
4. Вставляєте туди вміст того файлу так, щоб першим було слово deny, а потім IP, кожен з нового рядка (можна зробити в екселі):
deny 1.0.128.181
deny 1.0.138.90
deny 1.0.138.115
deny 1.0.162.230
allow all;
Не забудьте додати allow all; в кінці.
5. Зберігаєте і змінюєте налаштування www-data щоб він міг працювати з файлом blacklist.conf
chown www-data.www-data /etc/nginx/blacklist.conf
6. Перезавантажуєте nginx
service nginx restart
7. Ботам зі списку забороняється доступ до сервера
Навантаження на сервер падає і користувачі щасливі.
〜( ̄▽ ̄〜)(〜 ̄▽ ̄)〜