Закаляем защиту modx revo

В связи с многочисленными взломами сайтов на modx становится актуальной темой закалка modx от вирусов и всевозможных атак на сайт. Несколько простых действий сделают ваш сайт более защищенным.

Изменение адреса панели администратора

Изначально панель администратора доступна по ссылке типа вашсайт.ру/manager, но для повышения безопасности сайта рекомендуется данный путь изменить, для этого делаем следующее:

  1. заходим через ftp на ваш сайт в корневой каталог, в нем вы должны увидеть каталог manager, переименовываем её например в modbackend.

  2. в корневом каталоге открываем каталог core/config и открываем с помощью текстового редактора файл config.inc.php, в нем ищем и меняем строки

    $modx_manager_path= "/здесь_будет_путь_к_сайту/manager/";
    $modx_manager_url= "/manager/";>
    

    и заменяем на

    $modx_manager_path= "/здесь_будет_путь_к_сайту/modbackend/";
    $modx_manager_url= "/modbackend/";>
    

    Обратите внимание, что путь здесь_будет_путь_к_сайту у каждого хостинга имеет разный вид и его изменять не нужно, требуется только заменить в данных строках manager на modbackend (либо на тот адрес который вы придумали).

  3. Затем очищаем кэш сайта (каталог /core/cache).

Готово! Панель администратора доступна по новому адресу.

Если по каким-то причинам у вас панель администратора после смены адреса работает некорректно, то необходимо зайти в phpMyAdmin и в таблице modx_workspaces изменить поле path на /modxfolder/directory/modx-myadmin/ — это случается редко и только на очень специфических хостингах.

Базовая аутентификация core/manager/connectors на modx revo

С помощью данной настройки вы закроете доступ от посторонних лиц к адресам /core,/connectors и /manager (данный адрес может отличаться, если вы его изменили по инструкции которая описана выше).

Настройка базовой аутентификации в apache

Если ваш сервер использует Apache, то вам необходимо сделать следующие действия:

  1. открываем сайт htaccesstools.com/htpasswd-generator придумываем и вводим логин и пароль (рекомендуется чтобы они отличались от тех, что вы используете для доступа к панели администратора).

  2. нажимаем на кнопку Create .htpasswd file, появится сгенерированная строка.

  3. заходим на сайт через ftp, в корне сайта создаем файл с именем .htpasswd и добавляем в него сгенерированную строку, сохраняем.

  4. открываем каталог core и открываем с помощью текстового редактора файл .htaccess и в самом низу добавляем следующее

    AuthName "Need authorization"
    AuthType Basic
    AuthUserFile /ваш_путь_к_корню_сайта/.htpasswd 
    require valid-user
    

    Обратите внимание, что ваш_путь_к_корню_сайта каждого хостинга имеет разный вид и если вы незнаете путь к корню каталога вашего сайта, то создайте в корне сайта файл test.php, и добавьте в содержимое файла следующий код <?php echo __DIR__;, затем откройте ссылку вида вашсайт.ру/test.php и скопируйте путь который отобразится на экране.

  5. открываем каталог connectors и добавляем файл .htaccess аналогичный текст, который добавлялся в каталоге core

  6. открываем каталог manager и добавляем в файл .htaccess аналогичный текст, который добавлялся в каталоге core и connectors.

  7. проверяем, открываем ссылки на вашем сайте вида вашсайт.ру/core,вашсайт.ру/connectors и вашсайт.ру/manager и если показывается окно с вводом логина/пароля, то всё работает. Готово.

Настройка базовой аутентификации в nginx

Данный пункт хорошо описан на сайте modhost.pro/help/nginx

Готово.