Перейти к содержанию
  • Блокировка по списку IP через Nginx.conf


    Zero108

    1. Открыть для редактирования файл /etc/nginx/nginx.conf и добавить после http {

        include /etc/nginx/blockips.conf;
        
        где /etc/nginx/ - путь к файлу blockips.conf от корня сервера.

    http {
        include /etc/nginx/blockips.conf;

        
    2. Создать на локале в Notepad++ текстовой файл blockips.conf с кодировкой UTF-8.

    3. Добавить в файл список блокируемых IP адресов по образцу (возможны такие варианты):

    deny 31.220.61.77;
    deny 185.84.148.0/22;
    deny 2a02:748:b000:3:a87a:866d:94f0:ffbe;
    deny 2a02:748:b000:3:a87a:866d:94f0:ffbe/22;

    Примечание:
        Инструменты, для создания списка блокируемых IP адресов:
        
        1) Спам-IP за последние 10 дней - готовый список: 
       https://ru.myip.ms/files/blacklist/csf/latest_blacklist.txt
        
        2) Спам-IP за последнее время, добавленный вручную пользователями - готовый список: https://ru.myip.ms/files/blacklist/csf/latest_blacklist_users_submitted.txt
        
        Для быстрой правки скачанных выше списков используйте текстовый редактор Notapad++:
            - нажать Ctrl+H для открытия окна автоматической замены.
            - поставить галку в окне замены галку Extended (Расширенный).
            - далее заменить \r на ;
            - далее заменить \n на \ndeny(пробел)
            - чтобы получить так: 
              deny 46.101.204.143;
              deny 55.101.204.143/21;
        
        Дополнительные инструменты, для создания списка блокируемых IP адресов:
        3) Сетевой калькулятор: http://ru.smart-ip.net/calculator#ipv4
        4) IP to CIDR: http://ip2cidr.com/bulk-ip-to-cidr-converter.php
        5) Создание списка IP в формате CIDR по странам: http://software77.net/geo-ip/ (справа блочек Country IP listing, выбрать страну и CIDR).
        
    4. Залить на сервер blockips.conf по ssh, дать ему права CMOD 644 через любой файловый ssh менеджер.

    5. Перезапустить Nginx, например, так: service nginx restart

    6. Периодически обновляйте список, не реже одного раза в месяц.

    PS Добавлен образец файла со списком спам-IP и также добавлением ниже страны Украина (добавление Украины сильно снизило количество спаммеров на моих сайтах, но это чисто индивидуально).

    blockips.conf

    blockips.conf


    Обратная связь

    Рекомендуемые комментарии

    Заблочил адреса, но в логе они все-равно отображаются, и посылают запросы:

    Спойлер

    2023/08/30 02:53:45 [error] 22591#22591: *395007 access forbidden by rule, client: 85.113.18.242, server: ap-pro.ru, request: "GET / HTTP/1.1", host: "ap-pro.ru"

    Так не должно ведь быть?

    Ссылка на комментарий
    Поделиться на другие сайты

    5 часов назад, Wolfstalker сказал:

    access forbidden by rule

    Написано, что клинет заблокирован. Так и должно быть.

    Ссылка на комментарий
    Поделиться на другие сайты

    36 минут назад, Zero108 сказал:

    Написано, что клинет заблокирован. Так и должно быть.

    Но при этом он все-равно отправляет запросы, и тем самым роняет сайт. Вот бы как-то сделать так, чтобы соединение сбрасывалось.

    Ссылка на комментарий
    Поделиться на другие сайты

    3 минуты назад, Wolfstalker сказал:

    Вот бы как-то сделать так, чтобы соединение сбрасывалось.

    На Cloudflare заблокировать.

    Ссылка на комментарий
    Поделиться на другие сайты

    13 минут назад, Wolfstalker сказал:

    Но при этом он все-равно отправляет запросы, и тем самым роняет сайт. Вот бы как-то сделать так, чтобы соединение сбрасывалось.

    Если вдс, то через iptables

    Ссылка на комментарий
    Поделиться на другие сайты

    1 минуту назад, HooLIGUN сказал:

    Если вдс, то через iptables

    В него записи добавляются через панель ISP, но вручную, по одному адресу. А адресов очень много, это не вариант. Я пытался вручную править этот файл, но записи в итоге не сохранились в нем. Есть какие-то конкретные инструкции, может быть, как правильно все сделать? 

    Ссылка на комментарий
    Поделиться на другие сайты

    3 часа назад, Wolfstalker сказал:

    В него записи добавляются через панель ISP, но вручную, по одному адресу. А адресов очень много, это не вариант. Я пытался вручную править этот файл, но записи в итоге не сохранились в нем. Есть какие-то конкретные инструкции, может быть, как правильно все сделать? 

    Существуют скрипты, которые чекают кол-во запросов в секунду с одного айпи, и если оно превышает заданное, то банит этот айпи (сбрасывает соединение) 

    В принципе и в ISP панельке тоже есть такое, в настройках WWW домена

    Ссылка на комментарий
    Поделиться на другие сайты



    Присоединяйтесь к обсуждению

    Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
    Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

    Гость
    Добавить комментарий...

    ×   Вставлено с форматированием.   Вставить как обычный текст

      Разрешено использовать не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...