Ботнет 10к+ на wp-login

u3Bepr
На сайте с 03.03.2011
Offline
60
#311
Mikanoshi:

Но лучше бы они взяли код с куками, у меня после него ни одной попытки залогиниться от бота не было, всем 403 отдаётся, зато логин и админка работают для юзеров:
RewriteCond %{HTTP_COOKIE} !humans=fucking_love_cookies
RewriteCond %{QUERY_STRING} !(callback|logout|lostpassword)
RewriteRule ^(wp-login\.php|administrator|admin\.php) - [F,L]
ErrorDocument 403 "<html><body><script>document.cookie='humans=fucking_love_cookies;path=/';location.reload();</script></body></html>"

кстати, решил посмотреть этот вариант в ИЕ - в итоге баг -> в настройках браузера по умолчанию стоит галочка, по отдаче "информативных" страниц ошибок самим браузером, а не сервером. в итоге часть юзеров могут так и не увидеть окошко логина

В Internet Explorer неправильно обрабатывается файл, вызывающийся при ошибке, если его размер меньше 1 килобайта. Будет вызвана стандартная страница IE 403.

т.ч. решается добавлением перед </body> какого-то куска текста

ErrorDocument 403 "<html><body><script>document.cookie='humans=fucking_love_cookies;path=/';location.reload();</script>4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444</body></html>"
N
На сайте с 03.08.2013
Offline
0
#312
ferrumz:
для WP есть замечательный плагин - Limit login attempts. Он есть в их базе.
При 3-х неправильных попытках отправляет в изоляцию ip на 20 минут, при повторе на сутки (лимиты все настраиваются)
Поставил себе на атакуемые сайты, нагрузка упала на глазах.

Для себя решил, юзаю этот плагин + на nginx basic auth типа вот этого.

location ~ ^/(wp-login\.php) {

auth_basic "Admin Zone";
auth_basic_user_file /var/www/example.com/admin/.htpasswd;
}

Потом создаем файл .htpasswd командой:

#htpasswd -c -d .htpasswd myname

Нагрузка спала.

Mikanoshi
На сайте с 09.10.2008
Offline
92
#313
u3Bepr:
ИЕ

Ну этот осёл как всегда живёт в своём мирке :)

Можно так обойти:

RewriteCond %{HTTP_COOKIE} !humans=fucking_love_cookies
RewriteCond %{QUERY_STRING} !(callback|logout|lostpassword)
RewriteRule ^(wp-login\.php|administrator|admin\.php)$ /human.htm [L]

А html код

<html><body><script>document.cookie='humans=fucking_love_cookies;path=/';location.reload();</script></body></html>

перенести в файл human.htm

P.S. Можно и через nginx резать, как-то так:

location ~ /(wp-login\.php|administrator|admin\.php) {
if ($http_cookie !~* "humans=fucking_love_cookies") {
add_header Content-Type text/html;
return 200 "<html><body><script>document.cookie='humans=fucking_love_cookies;path=/';location.reload();</script></body></html>";
}
}
LEOnidUKG
На сайте с 25.11.2006
Offline
1591
#314
u3Bepr:
кстати, решил посмотреть этот вариант в ИЕ - в итоге баг -> в настройках браузера по умолчанию стоит галочка, по отдаче "информативных" страниц ошибок самим браузером, а не сервером. в итоге часть юзеров могут так и не увидеть окошко логина

Это в каком IE?

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
jcrush
На сайте с 04.07.2004
Offline
365
#315

мда, как то все жестко, интересно кто и зачем это делает?

» Блог (http://blog.stfw.ru/) - SEO-заметки. ДВчат: @dvchat (https://t.me/dvchat)
u3Bepr
На сайте с 03.03.2011
Offline
60
#316
LEOnidUKG:
Это в каком IE?

смотрел в 9 и 10. там эта опция включена по умолчанию. выше исправил свое сообщение - решается добавлением небольшого куска текста после </body>

UNIT-IS
На сайте с 19.10.2012
Offline
48
#317
jcrush:
мда, как то все жестко, интересно кто и зачем это делает?

С целью получить доступ к административной панели. Что они дальше сделают - угробят сайт или уведут БД всех пользователей включая почтовые адреса, это уже не известно, хотя последнее чаще всего.

Mikanoshi
На сайте с 09.10.2008
Offline
92
#318

Для nginx с куками, в ИЕ пашет, возвращает код 200 (думаю ботам всё равно 403 или 200, брутить не перестают):

location ~* /(wp-login\.php|administrator|admin\.php) {
set $humantest 0;
if ($http_cookie !~* "humans=fucking_love_cookies") {
set $humantest 1;
}
if ($args ~* (callback|logout|lostpassword)) {
set $humantest 0;
}
if ($humantest = 1) {
add_header Content-Type text/html;
return 200 "<html><body><script>document.cookie='humans=fucking_love_cookies;path=/';location.reload();</script></body></html>";
}
}
VB
На сайте с 24.11.2010
Offline
71
#319

Ребята, я поставил 3 плагина под вордпресс.

Captcha - при логине в админке выпадает арифметическая капча.

Login LockDown - банит при нескольких неправильных вводах пароля или юзера на определенное время.

Better WP Security - хороший многофункциональны плагин с блек листом, возможностью бана по айпи, смене адреса к админке сайта, переименования папок, смене префикса бд, переименование админа сайта и многое другое.

Так вот, после установки этих плагинов, нагрузка вообще упала. Но хотел бы спросить у профи. Как вы думете, достаточно ли этого???? Или лучше все-же поставить пароль на доступ к файлу wp-login через файл .htaccess

Подскажите пожалуйста!

E
На сайте с 09.01.2008
Offline
61
#320

http://neolot.com/wordpress/wordpress-zashhita-ot-brute-force это сделал, сервер выдерживает. бот даже не доходит до php, т.е. нагрузки никакой.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий