NGINX -- нетривиальная защита админки WP / любой CMS -- делюсь

K5
На сайте с 21.07.2010
Offline
209
#11
Давай-давай, конечно!

ТС как думаешь какой ответ получит бот при обращении допустим к /wp-content ? а к /wp-includes ?

и т.д.

Опять не читаем

Ну как же!!!

Обратились к спецфайлу получили куку в браузер/прописали свой ip в папку ips-alllowed - и там и там появился доступ в админку.

Разница только в реализации...

Ну уж и если придераться к стартпосту :) :

пункт 1. $openit = fopen('ips-alllowed/' . $ip, 'w');

пункт 2. if (!-f $root_path/ips-allowed/$remote_addr)

P.S. ладно, любой способ имеет место быть, главное чтобы цель была достигнута ☝

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
Rodnoi
На сайте с 11.03.2013
Offline
195
#12

ТС, вы какой-то агрессивный. Ничего "нетривиального" в решении нет. Все эти обсуждения начались с масс-брута cms, в том числе wordpressа, вот этой малварой. Чтобы понимать, как нужно защищаться, нужно понимать принцип работы инструмента неприятеля.

1. Парсятся cms по признакам (пути).

2. Идет брутфорс по этим путям с помощью листа часто используемых паролей.

3. В случае успеха ставится бэкдор и хост подключается к брутфорсу других cms.

Первые рекомендации отсюда:

1) Не использовать стандартные пути.

2) Не использовать дефолт логины и простые пароли, и желательно использовать двухфакторную авторизацию.

3) Ограничить доступ к админке.

Эти три простейших пункта решают главную задачу - не попасть под раздачу конкретного софта и снизить нагрузку с серверов. <= жирная точка

Поэтому все, что вы рассматриваете в своем решении, это пункт 3). Повторюсь, это для очень частного кейса брутфорс атаки (и чем дальше от этого кейса, тем ниже актуальность). Массовой брутфорс атаки. Т.к. если цель - ваш клиент, то будут использоваться другие методы, поэтому довольно наивно все сводить к задаче "теперь никто не поймет, что это wordpress".

Как ваше, так и решение с куки пункт 3) закрывает, поэтому упираться, что здесь что-то очень нетривиальное перед решением той же задачи через allow/deny, ну это типа странно.

Как и споры с kgtu5, что "больше нагрузит систему". Ну т.е. со стороны это выглядит, как одмины обсуждают сферического коня в кубе в отрыве от реальной ситуации. Этакий домашний быдлохабрик.

Блин, это смешно. Если бы я имел возможность организовать одминские бои, они обязательно были бы в пиве. А одмины в майках. И дрались бы животами. Побеждает самый ловкий.

Все по жести.
J
На сайте с 21.08.2011
Offline
78
#13
kgtu5:
ТС как думаешь какой ответ получит бот при обращении допустим к /wp-content ? а к /wp-includes ?
и т.д.

Страница не найдена. О_о

Ещё? :)

kgtu5:
Обратились к спецфайлу получили куку в браузер/прописали свой ip в папку ips-alllowed - и там и там появился доступ в админку.
Разница только в реализации...

Имеешь в виду вот это?

Опять мне разницу объяснять? :) Я уже начинаю уставать. :)

1. Любой реальный юзер пройдёт к wp-admin.

2. Не катастрофично, но есть боты, которые такой способ схавают.

3. Проверка такая ЗНАЧИТЕЛЬНО затратнее, чем проверка на наличия определённого файла. Хотя и мала в целом -- в вариант с куками выдержит также немаленький напор ботов.

kgtu5:
Ну уж и если придераться к стартпосту :
пункт 1. $openit = fopen('ips-alllowed/' . $ip, 'w');
пункт 2. if (!-f $root_path/ips-allowed/$remote_addr) {

Да, каюсь, опечатки. Надо бы поправить. ;)

---------- Добавлено 18.02.2014 в 11:46 ----------

Rodnoi:
ТС, вы какой-то агрессивный.

Нет, просто холерик и чересчур импульсивный. :)

Характер такой. И недостаток и достоинство в определённых моментах. :)

Rodnoi:
Ничего "нетривиального" в решении нет. Все эти обсуждения

Обсуждений и кучи пустой болтовни море. Нетривиальность в том, что такого решения я нигде не видел. И оно отнюдь не похоже на решение с куками. По одной простейшей причине (пять повторяюсь) -- я не хочу, чтобы кто-то вообще видел админку. И здесь куки не подходят. Если вам оно не надо -- юзайте куки на здоровье. ;)

Rodnoi:
1. Парсятся cms по признакам (пути).

Да хоть упарсите мой сайт -- никаких признаков WP не найдёте. Сорри, но показать урл не могу, так как не привык светить свои сайты.

Чтобы понять как и чего -- погуглите тему для WP "Roots Theme" -- идею я взял оттуда. Никаких стандартных путей в исходном коде вы не найдёте. Даже типичных для WP классов нет. ;)

Rodnoi:
Т.к. если цель - ваш клиент, то будут использоваться другие методы, поэтому довольно наивно все сводить к задаче "теперь никто не поймет, что это wordpress".

Моё решение только для отражения массового брута и закрытия от реальных зевак.

Естественно, я в курсе, что если кто-то захочет реально повалить сайт, то почти ничего не спасёт (уж об обсуждаемом решении и речи быть не может). Я всё понимаю.

Rodnoi:
поэтому упираться, что здесь что-то очень нетривиальное перед решением той же задачи через allow/deny, ну это типа странно.

Да, совсем похожее. :D Тупой allow/deny -- это не решение проблемы. Это -- кривой костыль для инвалида.

Это точно также, как сравнение Лады Калины и Порше Кайен -- обе машины на 4-х колёсах и едут -- одинаково!

J
На сайте с 21.08.2011
Offline
78
#14
kgtu5:
P.S. ладно, любой способ имеет место быть, главное чтобы цель была достигнута

Спасибо. ;)

Видимо, кроме меня больше никто не заморачивается полным закрытием админки и сокрытием всех следов CMS... Да, я маньяк. :D

K5
На сайте с 21.07.2010
Offline
209
#15
Страница не найдена. О_о

чего й то, даже великий и ужасный (которого тут часто обливают грязью :) ) https://wordpress.org/wp-content/ отдает 403 ответ (а в реалиях ответ 200, в стандартном архиве нет .htaccess закрывающего папку), что уже подтверждает наличие вордпресса, аналогично можно пробежаться и по другим папкам/файлам

Имеешь в виду вот это

их много подобных

в предложенном выше мной варианте - любой не пройдет :)

везде есть свои плюсы и минусы

Да, я маньяк

есть ли смысл прятаться, надо "широкой грудью встать в отпор врагу и не пустить" :)

Rodnoi, ты и сам не кипятись, дай нам толстыми одминскими пузами помериться ;)

Rodnoi
На сайте с 11.03.2013
Offline
195
#16

Вы просто все усложняете, и я не очень понимаю зачем, т.к. отлично знаю тот кейс. Но ваше дело, безусловно, если по фану =)

[Удален]
#17

Это же решение можно организовать и на самом nginx. Никакого смысле дергать апач, пхп в данном варианте решения нет.

Кроме этого половина модулей ВП делает тоже самое, но с другой реализацией.

ТС, к сожалению в вашем варианте нету ничего нового совершенно. Хотя конечно некоторые и его начнут использовать :)

J
На сайте с 21.08.2011
Offline
78
#18
kgtu5:
чего й то, даже великий и ужасный (которого тут часто обливают грязью ) https://wordpress.org/wp-content/ отдает 403 ответ (а в реалиях ответ 200, в стандартном архиве нет .htaccess закрывающего папку), что уже подтверждает наличие вордпресса, аналогично можно пробежаться и по другим папкам/файлам

У меня отдаётся просто ответ средствами CMS: "страница не найдена, мож поиском попробуете воспользоваться?". На скриншоте обратите внимание на пути к тому же CSS -- там не будет признаков WP.☝

И это -- сайт на WP.

jpg capture_02182014_121311.jpg
J
На сайте с 21.08.2011
Offline
78
#19
WapGraf:
Это же решение можно организовать и на самом nginx. Никакого смысле дергать апач, пхп в данном варианте решения нет.
Кроме этого половина модулей ВП делает тоже самое, но с другой реализацией.

ТС, к сожалению в вашем варианте нету ничего нового совершенно. Хотя конечно некоторые и его начнут использовать

Чукча писатель, а не читатель?

Кто там и чего дёргает?!

[Удален]
#20

Jovian, есть десятки способов определения что это ВП. Не только по адресу.

---------- Добавлено 18.02.2014 в 10:22 ----------

Jovian:
Чукча писатель, а не читатель?

Вы про себя?

Jovian:
Кто там и чего дёргает?!

Какой смысл писать реализацию такого плана на php, если это же все можно проверить на фронтеде? Глупо.

Тему стоило называть не "нетривиальная", а "еще одна".

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