Защита Joomla от взлома, вирусов и спама

Защита Joomla от взлома, вирусов и спама Простые рекомендации для защиты сайта Joomla и файлов на сервере от вредоносного кода.

1. Устанавливаем пароль на папку /administrator

Установить пароль на папку можно через веб-интерфейс хостинга (если имеется такая возможность), или вручную с помощью файла .htaccess и командной сторки.

Ручная установка: В директории, которую мы хотим закрыть паролем (или в корневом каталоге сайта, если мы закрываем весь сайт), создадим файл .htaccess, в который запишем такие строки:
 
AuthName "произвольный_текст"
AuthType Basic  
Require valid-user
AuthUserFile "полный_путь_к _файлу_.htpasswd"
 
В строке AuthName вместо "произвольный_текст" обычно находится сообщение, которое указывает к чему осуществляется доступ, например "Система управления" или что-то подобное. Это сообщение будет отображаться в окне для ввода логина и пароля.
 
В строке AuthUserFile указываем полный путь к файлу .htpasswd, в котором находятся зашифрованные пароли. Очень часто, из соображений безопасности, на хостинге создается специальная директория для таких файлов, доступ к которой из интернета закрыт. Путь к файлу .htpasswd может выглядеть так: /home/my_site/.htpasswds/.htpasswd или в случае с операционной системой Windows так: c:/my_site/.htpasswd.
 
Сам файл .htpasswd генерируется с помощью утилиты htpasswd из комплекта Apache. Обычно, для этого нужно написать в командной строке следующее:
 
htpasswd -bc .htpasswd имя_пользователя пароль_пользователя
 
После этого нужно переместить полученный файл в директорию, указанную в AuthUserFile. О других функциях утилиты htpasswd можно узнать запустив ее из  командной строки без параметров.
 
После выполнения описанных действий, при попытке обращения к защищенному сайту или каталогу, появится окно с просьбой ввести логин и пароль для входа на сайт.

 

2. Скрываем другие следы Joomla

2.1 Не использовать дефолтные префиксы таблиц в базе данных

Замена стандартных джумловских префиксов таблиц (jos_ в Joomla 1.5) снижает риск взлома и внедрения вредоносных кодов через SQL базу данных.

 

2.2 Удалить или заменить <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />

В файле index.php после открывающего тега <head>нужно прописать строчку

<?php $this->setGenerator('Your-Site.ru'); ?>

или <?php $this->setGenerator(''); ?>

 

2.3 Заблокировать способ просмотра позиций модуля в шаблоне сайта (/?tp=1)

При разработке сайта Joomla предлагает такой способ просмотра позиций модуля для шаблона сайта (например, domain.ru/?tp=1).

Это актуально для Joomla 1.5, а для 1.6, 1.7, 2.5 это не актуально, так как в этих версиях Joomla подобный способ просмотра позиции модуля уже отключён по умолчанию. Как запретить такой просмотр для Joomla 1.5 - см. статью Как в Joomla заблокировать способ просмотра позиций модуля в шаблоне сайта (/?tp=1), которую была выложена ранее.

 

2.4 Обязательно использовать SEF

Обязательно использовать SEF компоненты для генерации человеконятных ссылок.

 

3. Удаляем неиспользуемые компоненты Joomla

3.1 Удаляем компоненты

Все неиспользуемые компоненты, модули, плагины, шаблоны и прочее лучше удалять полностью.

3.2 Удалить файлы, которые отвечают за восстановление пароля и его сброс

Если на вашем сайте не используется регистрация пользователей, то лучше удалить файлы, которые отвечают за восстановление пароля и его сброс. Можно удалить или всю папку com_user (в папке /components) или файл, отвечающий за сброс - reset.php (в папке /components/com_user/models).

 

4. Ограничиваем права на  файлы и папки

Первым делом на все папки и файлы выставляем права доступа 755 и 644 соответственно.
На на отдельные папки можно поставить следующие права:
templates 555 (рекурсивно)
на файлы в корневой директории 444
на папку tmp 705
на папку logs 705

 

5. Своевременное обнаружение вирусов в Joomla

В любом случае периодически необходимо сканировать на вирусы все файлы на сервере и следить за появлением новых непонятных папок и файлов. Можно использовать специальные компоненты защиты для Joomla: Eyesite, jFireWall, RSFirewall.

 

Источник: loco.ru

dlrm
Разработчик на джумле, автор многих идей проектов.

Вы можете почитать все статьи от dlrm'а.



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

Комментарии (2)     Подпишитесь на RSS комментариев к этой статье.

2 комментариев

#1391
filler говорит:
July 8, 2015 at 04:22 pm
Я еще находил инфу что надо htaccess переименовывать https://joomla.shneider-host.ru/blog/optimizatsiia-i-bezopasnost-joomla/kak-obezopasit-joomla - пруфы. Так надо, или нет? Я там линки какие-то не испорчу?
#1392
John Dlrm Loco говорит:
July 8, 2015 at 05:08 pm
Чтобы файл конфигурации сервера работал, он должен называться именно .htaccess. Дистрибутив джумлы содержит файл htaccess.txt - его обязательно нужно переименовать в .htaccess, в противном случае сервер его воспринимать не будет.