как отклонять все запросы к site/administrator с минимальной нагрузкой на сервер?

Тема в разделе "Администрирование серверов", создана пользователем iskif, 22 авг 2013.

Модераторы: mefish, stooper
  1. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    Добрый день.
    Есть VPS (Debian + nginx). На нём пять сайтов на Joomla. У всех установлен компонент, который перенаправляет запросы /administrator/index.php на главную страницу

    достали уже брутфорсеры, пытающиеся подобрать доступ к админке сайтов. Практически, ddos из-за них какой-то получается.
    Существует какой-нибудь способ снизить нагрузку на сервер отсекая такие запросы сразу, не доводя до работы компонента и перенаправления на главную?
    может быть есть способ на самом первом уровне, с минимальной нагрузкой на сервер (или как выразиться?) отклонять запросы site.ru/administrator и site.ru/administrator/index.php а пропускать только вида site.ru/administrator?1234 (это доступ к администрированию через компонент безопасности )

    или блокировку на уровне "белого списка" ip адресов, т.е. оставить только подсеть моего провайдера, а остальных посылать - вот только я не смог найти способа (может, потому что не знаю как толком сформулировать запрос), который срабатывает раньше перенаправления от security компонента, а убирать его не хочется как-то с таким не прекращающимся интересом
     
  2. CAPAXA

    CAPAXA

    Регистр.:
    7 июн 2007
    Сообщения:
    896
    Симпатии:
    535
    Проще закрыть в htaccess доступ к админке по паролю
     
  3. LikeSD

    LikeSD Создатель

    Заблокирован
    Регистр.:
    16 май 2013
    Сообщения:
    47
    Симпатии:
    19
    У меня стоит компонент, который в админку поскает по запросу site/administrator/?keyword. Все остальное перебрасывает на главную страницу. Вполне достаточно от ботов. Довольно просто и удобно.
     
  4. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    если nginx'ом, то примерно так:

    location /administrator {
    allow 192.168.1.1;
    deny all;
    }
     
  5. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    да, у меня тоже самое. Но это было просто и удобно, пока таких запросов не стало по одному в секунду. Сейчас нагрузка CPU 95-100%
     
  6. LikeSD

    LikeSD Создатель

    Заблокирован
    Регистр.:
    16 май 2013
    Сообщения:
    47
    Симпатии:
    19
    Сколько у тебя IP? Может сменить его на время?
     
  7. iskif

    iskif

    Регистр.:
    21 авг 2006
    Сообщения:
    325
    Симпатии:
    35
    посмотрел через 2ip.ru свой адрес

    прописал

    теперь не пускает совсем
    403 Forbidden
    nginx/0.7.67

    и можно как то диапазон задать, чтоб не писать новый при следующем включении компьютера
    allow 192.168.0.0/16 так будет работать?

    один, да и всё равно запрос по имени домена идёт
     
  8. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    у nginx подключен модуль ngx_http_access_module?..

    да.. http://nginx.org/ru/docs/http/ngx_http_access_module.html

    up.. попробуйте ещё так:
    location ~ /administrator {
    allow 192.168.1.1;
    deny all;
    }

    up2.. приведите конфиг полностью.. может конфликтует с чем..
     
    Последнее редактирование: 22 авг 2013
  9. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    будет.
    reload или restart сделал? В смысле, nginx-а, а не сервака..
    /etc/init.d/nginx reload
     
  10. vgrey

    vgrey Создатель

    Регистр.:
    27 июл 2012
    Сообщения:
    47
    Симпатии:
    15
    Да, так указывать диапазон вполне допустимо, работать будет.

    Еще через какой whois посмотрите блок адресов, из которого Ваш провайдер выдает динамические ip, не нужно будет угадывать, там /16, /24 или еще что.

    Еще, если хочется с минимальной нагрузкой, то вместо:
    Код:
    deny all;
    более оптимально:
    Код:
    return 444;
    В этом случае nginx не отвечает на запрос ошибкой, а молча рвет соединение.