Основная проблема сайтов, написанных на свободных и общедоступных CMS в том, что их легко взломать. И есть есть схема взлома, то с этим справится даже школьник. К сожалению, Joomla — это одна из стандартных систем, которые могут быть легко взломаны.
Чтобы не допустить взлома сайта надо регулярно обновлять CMS и компоненты, плагины, моды до более новой версии, ставить патчи на дыры и делать бекапы на домашний ПК. Все неиспользуемые компоненты, модули, плагины, шаблоны и прочее лучше удалять полностью.
Как обезопасить себя от взлома сайта?
- Удалить каталог installation
- Права доступа: Установите к файлу конфигурации configuration.php права доступа в виде значения 444. Правда, после этого вы не сможете изменять параметры Joomla (потребуется заново установить права 666, затем изменить файл и опять установить права 444):
chmod 444 configuration.php
На все файлы установите права доступа в виде значения 644 (кроме configuration, php), а на все каталоги — в виде значения 755. Но это нужно сделать уже после того, как настроили сайт и установили все необходимые расширения. Права со значением 777 нужно установить только на следующие каталоги:
administrator/backups/; cache/; images/; images/banners/; images/stories/. - Чтобы скрыть, что вы пользуетесь Joomla, надо использовать SEF компоненты для генерации человеконятных ссылок
- Лучше скрыть, какой CMS Вы пользуетесь. Тогда риск попадания Вашего сайта в поле зрения хакера резко снижается. Для этого надо удалить из кода Вашего сайта строчку:
<meta name="generator" content="Joomla! - Open Source Content Management" />
Заходите на свой сайт по ФТП и идёте по этому пути ВАШ_САЙТ/libraries/joomla/document/html/renderer/. В этой папке находите файл head.php и открываете его, например, блокнотом. С помощью поиска ищете эту строку:
$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;
или
$buffer .= $tab.'<meta name="generator" content="'.htmlspecialchars($document->getGenerator()).'" />'.$lnEnd; (для Joomla 1.6)
Удалите её и скопируйте файл обратно на сайт. Теперь стало на одну лишнюю строку кода меньше. - При установке сайта лучше не использовать стандартные джумловские префиксы к таблицам.
- Желательно, чтобы не было пользователя с ником admin или administrator.
Что сделать, если сайт уже взломали?
- Заменить index страницу из бекапа (делайте бекапы!)
- Проверить доступ к бд, админке, фтп - изменить пароли на другие
- Поставить минимальный доступ к конфигурационному файлу configuration.php
- Проверьте не появилась ли новая версия Джумлы и обновите ее, если так оно и есть.