Как защитить от взлома OpenCart

1 комментарий
Как защитить от взлома OpenCart

OpenCart, как и некоторые другие CMS, можно назвать относительно защищенной платформой. Однако, как и в случае с другими системами управления контентом, лучше сразу позаботиться о безопасности и защите своего сайта от взлома посторонними лицами. В этой статье я дам основные советы, которые помогут вам повысить уровень безопасности вашего сайта. В первую очередь статья подойдет тем, у кого есть свой интернет-магазин, сделанный на базе OpenCart, но, с другой стороны, советы достаточно универсальны, поэтому будут интересны владельцам сайтов на других CMS.

1. Сокрытие входа в административную панель

По умолчанию для того, чтобы войти в панель администратора, обычно используется такой путь: ваш_сайт.ru/admin. Естественно, чем больше информации будет у хакеров, тем легче им будет взломать ваш сайт. Поэтому первая рекомендация – нужно изменить адрес входа в административную панель с /admin на другой: /manager, /panel или что-то еще более сложное.

Как это сделать: в файловом менеджере или в phpMyAdmin, во-первых, измените название папки “admin” на другое; во-вторых, сделайте такую же замену в файле config.php внутри папки, которую вы переименовали; в-третьих, иногда изменения надо внести в файл config.php в корневой папке (проверьте, есть ли там упоминание admin).

Если все сделано правильно, то теперь административная панель будет доступна по новому адресу – главное, не забудьте его.

2. Изменение логина администратора (и пароля)

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

Как это сделать: зайдите в панель администратора, выберите пункт «Система» (в скрытом виде выглядит как шестеренка), затем «Пользователи» и снова «Пользователи». Увидите строчку в логином “admin” – зайдите в настройки и поменяйте логин на другой.

Кстати, тут же вы можете поменять и пароль – настоятельно рекомендую сделать это, придумав пароль не короче десяти символов. Если не можете придумать сами, воспользуйтесь одним из онлайн-сервисов по генерации паролей, которые легко можно найти в Гугле или Яндексе.

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

3. Изменение прав доступа для важных файлов

Два файла, а именно config.php в корневой папке и config.php в папке, которая по умолчанию называется admin (название которой менялось выше), содержат важную информацию, связанную в базой данных, поэтому рекомендуется изменить права доступа для этих файлов на «Только чтение».

Как это сделать: менять права можно при помощи любого инструмента, которым вы пользуетесь для работы с файлами. Самый простой способ – изменить их прямо в панели управления хостингом. В Timeweb вам нужно найти файл в разделе «Файловый менеджер», выбрать его, а затем нажать «Права доступа»:

Права доступа OpenCartМожно выставить там цифрами 444 (только чтение для владельца и для всех остальных), либо отметить ползунками эти же параметры.

Также можно воспользоваться FTP-клиентом – например, Filezilla – и выставить права доступа там.

4. Отказ от отображения ошибок

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

Как это сделать: зайдите в панель администратора, пункт «Система», затем «Настройки» - и там в настройках откройте вкладку «Сервер», внизу будет блок «Ошибки», вот там нужно поставить «Нет» у «Показывать ошибки».

Тут у вас, скорее всего, возникнет вопрос, а что делать, если нужно посмотреть ошибки? Для этого можно использовать файл журнала ошибок (его название есть в этом же блоке в настройках).

Посмотреть его вы можете, если зайдете в корневую папку сайта, затем в system и затем в logs.

5. Добавление связки слов для входа в панель администратора

Как и в остальных случаях, в первую очередь это усложнит взлом вашей панели административной панели. Однако данный способ более сложный, чем остальные, так как предусматривает работу с кодом.

Как это сделать: в файловом менеджере вам нужно найти и открыть файл login.tpl. Вы найдете его по такому пути: public_html/admin/view/template/common/login.tpl
(Если вы ранее уже поменяли название папки admin на другое, то в этом пути также замените его на нужное.)

Далее вам нужно в самый верх файла скопировать следующие строки:

<?php
if (isset($_GET['secretkey']))
{$seckey = $_GET['secretkey'];
setcookie ("secretkey", $_GET['secretkey']);}
else if
(isset($_COOKIE['secretkey']))
{$seckey = $_COOKIE['secretkey']; }
else {$seckey = '';}
if ($seckey != 'secretkeyvalue') {header("HTTP/1.0 404 Not Found");
exit; } else { ?>

Но это не вся работа, которую необходимо выполнить в этом файле. Вам необходимо слова “secretkey” и “secretkeyvalue” заменить на другие (произвольные). Делать это нужно очень аккуратно, без удаления и исправления других знаков. При этом вам обязательно нужно запомнить эту пару слов, иначе вы не сможете попасть в панели администратора своего сайта.

login.tplПосле этого в самый конец файла вам нужно добавить:

<?php } ?>

Сохраните файл.

Теперь для того, чтобы зайти в панель администратора, вам нужно использовать ссылку такого вида:

ваш_сайт.ru/admin?secretkey=secretkeyvalue

Возвращаемся к тому, что если выше вы уже переименовали папку admin, то в эту ссылку вам вместо admin нужно поставить то название, которое вы дали этой папке. Только в этом случае вам откроется страница, куда нужно ввести данные для авторизации в панели администрирования.

Еще одно действие, которое нужно выполнить дополнительно к этому, - это запретить поисковым сервисам индексировать страницу для авторизации.

Перейдите в ту директорию, которая уже упоминалась выше (где находится login.tpl), и откройте файл header.tpl. После тега <head>, ниже добавьте строчку:

<meta name="robots" content="noindex" />

header.tplТеперь поисковые роботы не будут индексировать эту страницу. Если до этого в файле robots.txt вы писали что-то вроде Disallow: /admin (для того, чтобы запретить индексацию этой страницы), то удалите эту запись. Не забывайте, что robots.txt – это доступный всем файл, который могут посмотреть все, в том числе и взломщики. Поэтому писать там адрес панели администрирования не следует.

Комментарии

Дмитрий Кротков 0
03 июля в 09:41
В пункте 1 есть подковырка к размышлению - все модификаторы админки поломаются