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

iskif

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

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

или блокировку на уровне "белого списка" ip адресов, т.е. оставить только подсеть моего провайдера, а остальных посылать - вот только я не смог найти способа (может, потому что не знаю как толком сформулировать запрос), который срабатывает раньше перенаправления от security компонента, а убирать его не хочется как-то с таким не прекращающимся интересом
 
Проще закрыть в htaccess доступ к админке по паролю
 
  • Заблокирован
  • #3
У меня стоит компонент, который в админку поскает по запросу site/administrator/?keyword. Все остальное перебрасывает на главную страницу. Вполне достаточно от ботов. Довольно просто и удобно.
 
если nginx'ом, то примерно так:

location /administrator {
allow 192.168.1.1;
deny all;
}
 
У меня стоит компонент, который в админку поскает по запросу site/administrator/?keyword. Все остальное перебрасывает на главную страницу. Вполне достаточно от ботов. Довольно просто и удобно.
да, у меня тоже самое. Но это было просто и удобно, пока таких запросов не стало по одному в секунду. Сейчас нагрузка CPU 95-100%
 
  • Заблокирован
  • #6
Сколько у тебя IP? Может сменить его на время?
 
если nginx'ом, то примерно так:

location /administrator {
allow 192.168.1.1;
deny all;
}

посмотрел через 2ip.ru свой адрес

прописал

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

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

Сколько у тебя IP? Может сменить его на время?
один, да и всё равно запрос по имени домена идёт
 
у nginx подключен модуль ngx_http_access_module?..

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

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

up2.. приведите конфиг полностью.. может конфликтует с чем..
 
Последнее редактирование:
и можно как то диапазон задать, чтоб не писать новый при следующем включении компьютера
allow 192.168.0.0/16 так будет работать?
будет.
посмотрел через 2ip.ru свой адрес

прописал
reload или restart сделал? В смысле, nginx-а, а не сервака..
/etc/init.d/nginx reload
 
и можно как то диапазон задать, чтоб не писать новый при следующем включении компьютера
allow 192.168.0.0/16 так будет работать?

Да, так указывать диапазон вполне допустимо, работать будет.

посмотрел через 2ip.ru свой адрес

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

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

В этом случае nginx не отвечает на запрос ошибкой, а молча рвет соединение.
 
Назад
Сверху