Задать вопрос

Как протестировать блокировку по IP заданную в Nginx / Apache?

Добрый день!

Сервер периодически нагружают разного рода боты-скраперы. Чекаю что за боты через awk распарсив логи и отсортировав по убыванию по количеству запросов, далее эти IP/подсети вношу в список blacklist.conf который инклудится к каждому конфигу доменов на сервере. Серверов несколько, делаю ручную синхронизацию блэклиста.

Накопилось уже пара сотен таких IP / подсетей. И постонно добавляются новые IP адреса, многие из них дублируют друг друга, например:
144.76.0.0/16
144.76.118.82

Как настроить тестирование чтобы свежие IP адреса прежде чем вносить в конфиг сервера предварительно проверить блокируется ли он уже или нет? Есть ли утилита или онлайн сервис куда можно загрузить свой Блэклист по маскам и список IP и посмотреть каким правилом оно блокируется? Гуглил битый час...
  • Вопрос задан
  • 363 просмотра
Подписаться 4 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
Jump
@Jump Куратор тега Системное администрирование
Системный администратор со стажем.
Как настроить тестирование чтобы свежие IP адреса прежде чем вносить в конфиг сервера предварительно проверить блокируется ли он уже или нет?
Банальный поиск по списку.

Есть ли утилита или онлайн сервис куда можно загрузить свой Блэклист по маскам и список IP и посмотреть каким правилом оно блокируется?
Это как?
Ответ написан
Комментировать
@mezhuev
Системный администратор
Есть ли утилита или онлайн сервис куда можно загрузить свой Блэклист по маскам и список IP и посмотреть каким правилом оно блокируется?

Как один из множества вариантов: https://metacpan.org/pod/NetAddr::IP
Пример
#!/usr/bin/perl

use 5.010;
use strict;
use warnings;

use NetAddr::IP;

my @list = ('144.76.0.0/16', '144.76.118.82', '144.76.119.28', '144.76.67.0/24', '144.75.0.41');
my @result;
foreach my $ip (@list) {
    push(@result, NetAddr::IP->new($ip));
}
@result = NetAddr::IP::compact(@result);
foreach my $ip (@result) {
    say $ip->cidr;
}

Результат выполнения:
144.75.0.41/32
144.76.0.0/16

P. S. Дмитрий Шицков дело говорит, не в том месте боритесь с проблемой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы