После взлома своего сайта, я решил собрать в одном месте рекомендации по настройке безопасности сайта на Joomla. Возможно будет полезно. К примеру мне бы было полезно найти такой пост и сделать всё по пунктам. Я не имею большого опыта управления сайтом и надеюсь вы поможете дополнить и исправить всё написанное. Просто когда случается нериятность бежишь за помощью на форум, потому как больше и посоветоваться не с кем...
Спасибо, что есть такой форум и отзывчивые люди!
1. Joomla всегда должна быть обновлена до последней версии.
2. Сделать сложные пароли к сайту и к FTP.
3. Не хранить пароли в браузере и в файловых менеджерах.
4. Включить SEF-ссылки (ЧПУ).
5. htaccess.txt заменить на .htaccess.
6. Скрыть какой CMS пользуетесь ( от серьёзных знатоков скрыть не получится, а от случайных любителей делать гадости по инструкции возможно и получится):
а) удалить строку - $strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;
Она находится в файле «head.php»
Путь к этому файлу- /libraries/joomla/document/html/renderer/ head.php
б) Запретить просмотр позиций модулей на сайте, для этого нужно добавить в .htaccess строки
в) Закрыть прямой доступ к админке, можно с помощью компонентов типа Admin Tools (Удобный компонент), но можно сделать это с помощью .htaccess.
г) Удалить файл INSTALL.php, configuration.php-dist, INSTALL.php, LICENSE.php, LICENSES.php, CHANGELOG , CREDITS , COPYRIGHT в корне сайта. (в Joomla 1.7 их нет, есть только LICENSE.txt README.txt)
д) Изменить стандартную страницу ошибки 404 на свою.
е) Заменить стандартную иконку сайта favicon.ico на свою.
7. Сменить префикс к таблицам в базе данных (это тоже можно сделать с помощью Admin Tools).
8. Не использовать сомнительные компоненты, модули, плагины, всегда обновлять все компоненты до последней версии и не качать их с стрёмных сайтов. А всё скачанное проверять.
9. Удалять с сайта всё лишнее: компоненты, плагины, модули и чистить базу данных после них.
10. Правильно выставить права на файлы и папки сайта. Это не так просто, тут придётся разбираться, для каждого сервера нужны свои настройки.
После успешной установки и настройки Joomla и ее расширений, нет никакой необходимости оставлять права на запись в директории сайта . После завершения настройки сайта, закройте для записи все папки, кроме cache и images .
11. Убрать права на запись с файла configuration.php Регулярно поверять наличие на сайте вирусов и кодов.
12. Проверять наличие левых ссылок (к примеру с помощью программы Xenu).
13. Регулярно делать копию вашего сайта и базы данных.
14. Запретить исполнение php в папке images (картики на сайте), именно в эту папку мне залили шелл.
15. Проверить, чтоб не было возможности просмотра списков файлов в любой директории вашего сайта, т.е. листинг директорий. Если на сервере эта возможность отключена то это хорошо, а если нет, то отключите сами.
16. Читал, что злоумышленники получают пароль администратора через функцию восстановление пароля. Даже если авторизация и регистрация отключена. Как сказал SmokerMan - Это было в старых версиях, теперь этой проблемы нет, поэтому нужно обновлять Joomla вовремя! =)
17. Установить защиту от SQL-инъекций - jFireWall Lite (на полную версию пока денег нет). Правда, она только для Joomla 1.5.
http://www.jfirewall.com/downloads/18. Есть совет не использовать Windows, хотя думаю нужно следить за состоянием своей системы, проверять на вирусы, использовать антивирус и всё будет окей!
19. Также не забываем смотреть "официальный" список уязвимостей расширений Joomla на
http://docs.joomla.org/Vulnerable_Extensions_List.
20. Плагин защиты сайта от ботов Marco's SQL Injection. (от инъекции SQL и LFI)