Уязвимости и их устранение. Защита от разных способов взлома.

Отключаем вход с фронтэнда через .htaccess

Александр » 12 ноя 2019, 00:37

В результате изучения мануалов и прочего, вот такой набор директив у меня получился:
Запрет входа (логина) с фронтэнда Joomla через .htaccess
Код: Выделить всё
Redirect 301 "/component/users" "http://gonowhereintoblackhole.com?"
RewriteCond %{QUERY_STRING} .*option=com_users.* [NC,OR]
RewriteCond %{PATH_INFO} .*component/users.* [NC]
RewriteRule (.*) http://gonowhereintoblackhole.com? [R=301,L]

На самом деле много что учитывать нужно, и не могу дать 100%, что всё предусмотрено.
Например, не получится воспользоваться только директивой RewriteRule, типа такого:
Код: Выделить всё
RewriteRule .*option=com_users.*|.*component/users.* http://gonowhereintoblackhole.com?

Во-первых, RewriteRule не делает сопоставление с Query String
Во-вторых, RewriteRule не делает сопоставление с PATH_INFO. PATH_INFO — это часть uri, которая идёт после имени файла (случай: /index.php/component/users)
Во-третьих, RewriteRule и RewriteCond %{PATH_INFO} очень сложно реагируют на искусственно вставленные дополнительные слэши (пример: //index.php/component/users, /index.php/component/users//, //?option=com_users, /?option=com_users// ) я не буду пытаться здесь проанализировать все варианты, кому интересно, можете написать свои директивы и по-честному их потестировать. — Да-да, приходится и такое учитывать, иначе при помощи таких манипуляций со слэшами (и наверное, возможны еще какие-то) директивы не сработают.
Последний раз редактировалось Александр 17 ноя 2019, 19:29, всего редактировалось 1 раз.
Александр
 
Сообщения: 397
Зарегистрирован: 20 мар 2014, 17:05

Re: Сообщение о попытке входа в админку Joomla несмотря на HTTP Auth

Sergej » 12 ноя 2019, 18:01

Pasha programmist писал(а):И отключить эту функцию сейчас простых способов я что-то не припомню..

Вариант через .htaccess выше, наверное, самый практичный.
По-другому нигде решения нет. Мне даже на форуме joomla.org советовали "попробовать" через базу отключить модуль mod_login. Советовал эксперт какой-то..
И в итоге ничего!!!

Вот мои действия:

Тестовый сайт Joomla 3.8.12

В таблице "extensions" задал значения у полей:
mod_login: enabled - 0, protected - 0
com_login: enabled - 0, protected - 0

В таблице "modules" задал значения у полей у всех модулей:
mod_login: published - 0

Очистил всю директорию cash
Итог
/index.php?option=com_users&view=login работает. Могу с морды залогиниться.

Пошел глубже:

В таблице "extensions" задал значения у полей:
mod_login: access - 0 (было 1)
com_login: access - 0 (было 1)

В таблице "modules" задал значения у полей у всех модулей:
mod_login: access - 0 (было 1)

Очистил всю директорию cash
Итог
/index.php?option=com_users&view=login работает. Могу с морды залогиниться.

Потратил своё время, надеюсь, эта информация будет полезна. Оставляйте ссылку на этот пост (viewtopic.php?f=17&t=235&p=835#p835), пожалуйста, чтобы закрыть этот вариант, ведь мало кто будет так глубоко тестировать, и везде одно и то же предлагают — пробовать через базу! Вот отправляйте их сначала сюда!
Sergej
 
Сообщения: 25
Зарегистрирован: 15 сен 2014, 21:44

Re: messages about login attempt despite HTTP authentication

Sergej » 25 ноя 2019, 16:34

Написал выводы на английском:
Disable frontend login in Joomla with .htaccess
Также перевел свой пост про мучения с попыткой отключить фронт-энд авторизацию через базу данных:
On Joomla forum I was adviced to disable the site login module in the database..
Sergej
 
Сообщения: 25
Зарегистрирован: 15 сен 2014, 21:44

Пред.

Вернуться в Безопасность