Как защитить сайт 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. Продумайте систему резервного копирования сайта

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

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

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

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

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

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