03.07.2019   ·   Joomla   ·   Пока нет комментариев

Защита сайта на Joomla

Перерыл огромную кучу сайтов и выбрал всё самое на мой взгляд необходимое для защиты сайта. И делюсь с вами, пошагово и при необходимости в картинках.
  1. Первый шаг: Сменил антивирус с бесплатного на платный, а именно: был AVG поставил Nod32 как это сделал читать здесь. На заметку: после полного сканирования компьютера было найдено около 12 троянов. Скорее всего, не без их помощи произошло заражение сайтов. Так как именно они похищают пароли с компьютера при вводе их в менеджеры, такие как Total Commander, FileZilla и другие. Ни когда не запоминайте пароли в FTP менеджерах, всегда вводите их заново. Или скопируйте их из какого нибудь текстового файла. При этом не надо сохранять данный файл с именем пароли, вход на сайты и т.п.
  2. Шаг второй: Сменил права доступа к файлам на хостинге. С помощью все того же Total Commander. На папки корневой директории 755, на папки tmp и logs 705, на папку используемого шаблона 555, на папку картинок image/stories 755, на папку сache 777. На все файлы корневой директории 444. Как это сделать смотрим ниже.
  3. Шаг третий: Поменял все пароли в админ панели joomla, доступ на хостинг, на вход в личный кабинет хостера, на доступ по FTP.
  4. Шаг четвертый: Сменил адрес на вход в админ панель joomla. Читать «Защита админ панели joomla»
  5. Шаг пятый: Сменил пароль на доступ к почте к которой привязаны сайты. Поскольку любой злоумышленник, обратившись к вашему сайту по адресу «http://ваш сайт/index.php?option=com_user&view=reset» сможет сбросить ваш пароль и получить доступ к сайту.
  6. Шаг шестой: Обновил на сайтах все используемые компоненты и плагины на последние версии. Так как в старых версиях, могли быть уязвимости, которые в более новых версиях вероятней всего исправлены.
  7. Шаг седьмой: Сменил префикс к таблицам баз данных. По умолчанию в joomla 1.5 такой: jos_.
  8. Шаг восьмой: Закрываем расположение модулей в шаблоне сайта при помощи htaccess.
  9. Шаг девятый: Распознаём нежилательный пользователей и блокируем их с помощью htaccess

Смена прав на папки и файлы с помощью Total Commander

  • Осуществляем вход по FTP с помощью Total Commander.
  • Выбираем новое соединение по FTP
  • Вводим свой IP адрес. Жмем OK.
  • Вводим имя пользователя LOGIN. Жмем OK.
  • Вводим выданный вам пароль. Жмем OK.
  • Войдя в корневую директорию сайта. Начинаем смену атрибутов.
  • Выделяем нужные файлы с помощью клавиши «INSERT».
  • Вверху жмем «Изменить атрибуты».
  • Меняем права доступа как описано во втором пункте на каждую папку свои.
  • Если отсутствует колонка, Атрибуты проделываем по порядку как на рисунке.
  • Меняем права доступа и на файлы согласно описания выше.
  • Жмем OK.
  • Про папку шаблона и папку картинок, image/stories незабываем.

Если при установке каких либо дополнений к joomla потребуется изменить права доступа. В связи с тем что компонент или плагин не устанавливается. Смените их на время установки, после установки, верните все назад..

Для более полной защиты сайта на joomla права к папкам и файлам сменили, теперь переходим к шагу седьмому по смене префикса, дабы исключить любые попытки SQL инъекций в базу данных.

Самым первым шагом при попытке, что-либо сделать с сайтом, создаём резервную копию. Желательно всего. То есть создаём копию базы данных и копию файлов на хостинге. Они нам помогут, если что ни будь, пойдет не так или в чем, либо произойдет ошибка, от этого никто не застрахован.

Заходим в phpMyAdmin своего хостера. Видим что-то похожее. Если у вас несколько баз данных выбираете ту, с которой собираетесь проводить опыты.

Выбираем вкладку «Экспорт».

Минимум настроек. Жмем «ОК»

Сохраняем базу в отдельной папке. Для удобства, при сохранении присвойте ей имя текущей даты и времени.

Уже на своём компьютере создаёте новую копию базы данных из только что сохраненной. Именно с ней мы и будем проводить наши манипуляции.

Открываем созданную копию в «блокноте» или в другой аналогичной программе Notepad, AkelPad и другие…, я использую «Notepad».

Жмем клавиши «CTRL + F» в Notepad, «CTRL + H» в блокноте или «CTRL + R» в программе AkelPad окне выбираем вкладку «Заменить» заменяем jos_ на abcdxxx_ как на картинке.

Вместо «abcdxxx_» пишите, что вашей душе угодно. Используйте только латинские символы. Пять, шесть символов будет более чем достаточно.

Сохраняете обязательно в кодировке utf8 и с расширением SQL. Очень часто случайно сохраняют с расширением txt, так что будьте внимательней. Теперь нашу базу данных надо залить обратно на хостинг все через ту же phpMyAdmin панель. Но уже через вкладку «Импорт».

Предварительно удаляем все таблици предыдущей базы. Отмечаем все. Выбираем Удалить . Жмем подтверждение.

Сного выбираем вашу «БД» жмем «Импорт», через кноку обзор выбираем новую сохраненную копию «БД» жмем «ОК».

Как ваша база залита обратно, идем на хостинг в корневую папку вашего сайта. Можете по FTP например через FileZilla или напрямую через «Файл менеджер» своего хостера. Нам нужен файл configuration.php открываем его, находим строчку «var $dbprefix = ‘jos_'» она примерно 48 заменяем на свою var «$dbprefix = «abcdxxx_'» на ваше название. Сохраняем и заливаем обратно на сайт.

Если все сделали правильно, то ваш сайт должен работать.

На заметку: Если по каким, либо причинам сайт не заработал, не надо бросаться в панику. Проверьте, правильно ли вы выбрали кодировку при сохранении «БД» не допустили ли вы лишних пробелов точек и т.д. В конце концов, у вас имеется резервная копия всего сайта, из которой вы всегда можете все восстановить. Данный метод был проведен на этом блоге и как видите, всё работает. Если все же вы не до конца что-то поняли, то пишите комментарии, будем разбираться вместе.

В дополнение к защите сайта joomla, давайте закроем от нежелательных пользователей просмотр расположения модулей в шаблоне на сайте. Это можно осуществить с помощью файла «.htaccess» расположенного в корне вашего сайта. Большинству пользователям Joomla 1.5 известно, что расположение модулей можно просмотреть стоит лишь дописать в адресе /?tp=1, полная ссылка выглядит так: http://site.ru/?tp=1 Кто не знает записывайте.

Заходим по FTP на хостинг с помощью всё той же FileZilla. Скачиваем сначала к себе на комп данный файл. И добавляем в него следующие строчки. Можно в самом конце.

RewriteCond %{QUERY_STRING} tp=(.*)

RewriteRule ^(.*)$ index.php [F,L]

При этом если перейти по ссылке http://site.ru/?tp=1, то пользователя перекинет на главную страницу сайта.

На сегодня всё. Всем удачи в защите своего сайта на Joomla.

Предыдущая запись Установка Apache
Следующая запись Свой модуль для Joomla

Ваш комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Свежие комментарии