Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > XenForo > Инструкции для XenForo
Расширенный поиск

Инструкции для XenForo Различные инструкции и рекомендации по движку XenForo

Ответ
 
Опции темы Поиск в этой теме
Старый 08.08.2011, 11:44 Вверх   #1
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо Как защитить админку XenForo

Как защитить админку XenForo

Автор статьи: Romchik®
Источник

Итак, в этой статье будет рассмотрено 3 варианта защиты админки XenForo.
  • Ограничение доступа к файлу admin.php по IP через .htaccess.
  • Ограничение доступа к файлу admin.php по паролю через .htaccess и .htpasswd.
  • Переименовывание файла admin.php.
У каждого метода есть свои минусы, которые будут рассмотрены в конце каждого метода.

1. Ограничение доступа к файлу admin.php по IP через .htaccess

Тут все просто. Узнаем свой IP (например тут) и дописываем к файлу .htaccess (в корне форума) следующее:

Код:
<Files admin.php>
  Order deny,allow
  Deny from all
  Allow from 121.222.33.44
</Files>
Вместо IP 111.222.33.44 указываем, естественно, свой. Если нужно пускать в админку и другие IP, то дописываем следующие через пробел:

Код:
<Files admin.php>
  Order deny,allow
  Deny from all
  Allow from 111.222.33.44 112.223.34.45 113.224.35.46
</Files>
Также можно указывать маски диапазона (может быть полезно, если у вас динамический IP). Ниже указаны примеры маски.

Код:
100.99.88.x = 100.99.88.0/24
100.99.x.x = 100.99.0.0/16
100.x.x.x = 100.0.0.0/8
То есть, указав 100.99.88.x мы будем пускать IP с 100.99.88.0 по 100.99.88.255. Для расчета IP можно воспользоваться IP-калькулятором.

Для тех же, у кого не прописан IP, будет выдаваться страница с ошибкой 403:

Код:
Forbidden
You don't have permission to access /forum/admin.php on this server.
Недостаток 1-го способа очевиден. Если у вас динамический IP или же к админке должны иметь несколько человек с разными IP, то этот вариант будет несколько затруднительным. Придется вписывать много IP.

2. Ограничение доступа к файлу admin.php по паролю через .htaccess и .htpasswd.

Генерируем файл .htpasswd, задав логин и пароль. Можно воспользоваться следующим сервисом htaccesstools.com.

Вводим желаемый логин и пароль и получаем что-то типа: login:$apr1$sOXY....$C4/V8oJK89nf3D3OEIs5Q/
Сохраняем полученную строчку в файл .htpasswd и загружаем его на сервер. Желательно расположить его выше корня сайта, т.е. там, куда посетители не могут добраться.
Дальше нужно поправить .htaccess, который в корне форума, дописав туда следующее:

Код:
<Files admin.php>
  AuthUserFile /путь/относительно/корня/веб-сервера/до/файла/.htpasswd
  AuthType Basic
  AuthName "Какой-нибудь заголовок для диалогового окна авторизации"
  Require valid-user
</Files>
Теперь при запросе admin.php нужно будет сначала ввести наш новый логин и пароль, и уже только после этого можно будет вводить логин и пароль администратора XenForo.

Недостаток этого способа в том, что пароль в админку нужно вводить 2 раза, причем в каждом случае он должен быть разным. Ну и кроме того, у неопытных пользователей даже с инструкцией могут возникнуть вопросы, как правильно защититься дополнительным паролем.

3. Переименовывание файла admin.php.

Меняем в корне форума имя у файла admin.php на что-то свое, например, adminka.php.
Но это еще не все. Многие ссылки в админке не будут теперь работать. Поэтому необходимо открыть library/XenForo/Link.php и найдя:

Код:
$outputLink = 'admin.php' . ($append !== '' ? '?' : '') . $append;
заменить admin.php на наше новое имя:

Код:
$outputLink = 'adminka.php' . ($append !== '' ? '?' : '') . $append;
В шаблоне moderator_bar находим строку:

Код:
<a href="admin.php" class="acp adminLink"><span class="itemLabel">{xen:phrase admin_control_panel}</span></a>
и также меняем admin.php на наше новое имя файла.

И еще в шаблоне PAGE_CONTAINER находим:

Код:
<a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>
и меняем admin.php.
И не забываем проделывать эти 4 операции после каждого обновления еще раз!

Недостаток третьего способа в том, что необходимо править файл (пусть и один, но все же). Это значит, что при каждом обновлении форума нужно не забыть переименовать обновленный admin.php и заменить новое имя в файле Link.php.

Дополнительно: [взял тут]
В версиях 1.1.3 и выше в шаблоне PAGE_CONTAINER отсутствует код
Код:
<a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>
Ищем шаблон notice_board_closed а в нем код
Код:
<a href="admin.php?options/list/boardActive">{xen:phrase reopen_via_admin_control_panel}</a>

Последний раз редактировалось Serberg; 22.04.2013 в 11:00..
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Старый 08.01.2013, 10:23 Вверх   #2
Опытный пользователь
 
Аватар для Oleg88
Oleg88 вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Serberg Посмотреть сообщение
3. Переименовывание файла admin.php.
А есть-ли смысл переименовывать admin.php ?

Так для понта если только !
  Ответить с цитированием
Старый 08.01.2013, 14:35 Вверх   #3
Коренной житель
 
Аватар для xakepok
xakepok вне форума
Доп. информация
По умолчанию

Цитата Сообщение от Oleg88 Посмотреть сообщение
А есть-ли смысл переименовывать admin.php ?

Так для понта если только !
Смысл что бы не знали где админка, а что бы только Вы знали расположение админки.
  Ответить с цитированием
Старый 13.01.2013, 18:14 Вверх   #4
Опытный пользователь
 
Аватар для Oleg88
Oleg88 вне форума
Доп. информация
По умолчанию

Цитата Сообщение от xakepok Посмотреть сообщение
Смысл что бы не знали где админка, а что бы только Вы знали расположение админки.
Я это понимаю, смысла в этом не вижу, хакер только сможет узнать версию движка через админку и больше ничего !

Пароль брутить и так можно !
  Ответить с цитированием
Старый 22.04.2013, 10:50 Вверх   #5
Коренной житель
 
Аватар для WinWoolF
WinWoolF вне форума
Доп. информация
По умолчанию

Serberg дополни немного про защиту.
В версиях 1.1.3 и выше в шаблоне PAGE_CONTAINER отсутствует код
Код:
<a href="admin.php">{xen:phrase reopen_via_admin_control_panel}</a>
Ищем шаблон notice_board_closed а в нем код
Код:
<a href="admin.php?options/list/boardActive">{xen:phrase reopen_via_admin_control_panel}</a>

Oleg88 а кто сказал, что злобный хацкер задался целью брутнуть пароль? Вариант с тем что ему доступ к форуму под админом не нужен не рассматривали? Есть миллион и даже больше гадостей, которые он сможет сделать узнав в какой именно папке лежит админка.
  Ответить с цитированием
Cказали cпасибо:
Старый 22.04.2013, 11:01 Вверх   #6
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Дополнил. Спасибо.
  Ответить с цитированием
Ответ

Метки
xenforo, админка, защита


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 20:59. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.10135 секунды с 13 запросами