Блог безопасности сайта Joomla

Способы защиты сайта Joomla от нецелевого взлома

 

Вступление

Говоря о взломе сайта, важно понимать, что существует два принципиально разных типа взлома, это целевой и нецелевой взлом. Если ваш сайт хотят взломать целенаправленно, то подобрав «хорошего» специалиста и потратив некоторое количество денег, сайт рано или поздно взломают. Другое дело нецелевой или случайный взлом. Нецелевой взлом сайта происходит, в результате массовых атак на CMS или на серверы хостинг провайдера. Именно защита от такого взлома, и направлена работа администратора или собственника сайта по обеспечению безопасности сайта.

Существуют классические правила защиты от нецелевого взлома сайта Joomla. Некоторые веб мастера выделяют 10 правил, некоторые 12. Я набрал 16 простых правил защиты Joomla сайта.

16 Способов защиты сайта Joomla от взлома

Пойдем от простого к сложному, или от необходимой защиты до защиты для «параноиков». 

1.Сложный логин и пароль авторизации

Довольно простое, но необходимое правило безопасности Joomla: создавайте сложные логин и пароль для user (суперадминистратора). Не используйте стандартное мышление и для создания пароля, да и логина, воспользуйтесь онлайн инструментом создания паролей.

2.Важные сайты «спрячьте» в отдельный аккаунт

У каждого владельца сайтов, есть важные сайты. Эти сайта приносят максимальную прибыль, у них устойчивая аудитория, хорошие позиции в выдаче. Сюда второе правило: важные сайты разместите на отдельном аккаунте хостинга. Один аккаунт - один сайт.

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

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

3.После установки Joomla сразу удалите каталог Installation

Это правило понятно и без пояснения.  

4.Защитите FTP доступ к каталогу сайта

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

5.Защитите сайт Joomla правильными правами CHMOD на директории и файлы сайта

По умолчанию, система выставляет права CHMOD на директории сайта 755, а для файлов системы 644. Проверить права можно в любом FTP клиенте, правой кнопкой мыши. Но таких правил доступа много для надежной безопасности сайта Joomla.

На наиболее важные для безопасности файлы сайта, а именно, файлы configuration.php и .htaccess, обязательно выставить права read-only (chmod 444).

Желательно усилить безопасность и на все системные файлы корня сайта, так же,  выставить chmod 444, а на файлы хранящие данные базы данных (configuration.php) выставить права chmod 400.

Примечание: не системные файлы, которые вы будете подгружать самостоятельно (sitemap.xml, файлы подтверждения прав для сервисов веб-мастеров и т.п.) нужно оставить с правами chmod 644

CHMOD директорий Joomla   

На все директории сайта должны стоять права chmod 755. К сожалению настройки некоторых хостингов могут требовать выставить права chmod 777, как минимум, для директорий caсhe и tmp, как максимум почти для всех директорий корня сайта. Это нехорошо. Правильно настроенный хостинг прекрасно работает на chmod 755. Так же, некоторые расширения могут потребовать chmod 777. В этом случае:

  • Выставите требуемые права chmod 777;
  • Установите нужные расширения;
  • Полностью настройте сайт;
  • Смените права chmod 777 на chmod 755;
  • Проверьте работу сайта.

6.Пользуйтесь только расширениями и шаблонами с официальных сайтов

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

7.Пользуйтесь только необходимыми расширениями

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

8.Следите за обновлением системы

Следите за выходом новых версий Joomla. С переходом на long версии Joomla, каждое обновление Joomla, типа обновление 3.4.6 на 3.4.7 это обновление безопасности системы и устранение вновь выявленных уязвимостей системы.

9.Следите за обновлениями рабочих расширений системы

Подпишитесь на новости ваших расширений или просто включите в менеджере плагинов, плагин тип - guickcon ID=438, слежение за новыми версиями расширений.

10.Периодически сканируйте сайт на вирусы

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

11. Защитите отдельные директории сайта файлами .htaccess 

Это более серьезная защита. Установите в каталоги tmp, cache и любой другой каталог системы, который нужно защитить, свои файлы .htaccess. В этих файлах пропишите одно правило:

deny from all

Это глобально закроет каталог для всех пользователей, включая вас.

Как альтернатива, откройте в правиле доступ для определенных IP:

order deny,allow

deny from all

allow from xxx.xxx.xxx.xxx

,где xxx.xxx.xxx.xxx это ваш IP. Помните, IP вашего компьютера может меняться.

12. Используйте для защиты возможности CPanel или Directadmin хостинга

Нет желания или «боитесь» работать с файлами .htaccess, используйте для защиты директорий возможности административных панелей хостинга. Для этого,

  • Авторизуйтесь в панели хостинга;
  • Найдите вкладку типа: Защита директорий;
  • Защитите любой каталог вашего сайта паролем.

zashhita directoriy

zashhita directoriy 1

13.Защитите каталоги сайта самостоятельно

Можно защитить каталоги сайта логином и паролем самостоятельно. Для этого: Воспользуйтесь генератором пароля и логина для файла .htaccess. Например, http://www.htaccesstools.com/htpasswd-generator/.

Работать с генератором просто: Вводите пароль и логин, генератор их шифрует в MD5 и создает защитное содержание файла .htaccess.

Для каждого каталога, который нужно защитить, создаете свой файл .htaccess с генерированным содержанием и размещаете файл .htaccess в этом каталоге.  

htaccess generator

htaccess generator gotov

14.Продумайте систему резервного копирования сайта

Защита защитой, но нельзя забывать о резервном копировании сайта. Периодическое копирование сайта позволит в любой момент откатиться к безопасной версии сайта. Для резервных копий применяйте:

  • Самостоятельное резервное копирование сайта;
  • Резервное копирование на хостинге;
  • Расширения Joomla для резервного копирования. Лучший из них: Akeeba Backup (www.akeebabackup.com).

15. Используйте расширения безопасности Joomla

Для периодической проверки безопасности сайта, есть  неплохие расширения безопасности Joomla. Например, компонент Securitycheck (http://extensions.joomla.org/extension/securitycheck). Попробуйте его.

16.Префикс базы данных Joomla

Совсм забыл. При установке joomla, смените стандартный префикс таблиц базы данных jos_ на любые четыре ( или больше) буквы и цифры.   

Другие статьи по теме