joomla

Семь принципов безопасности для Joomla

Joomla – один из самых популярных движков, или систем управления контентом (CMS) сайтов разных видов. На Joomla можно быстро создать и простые сайты-визитки, и корпоративные сайты, и блог, и объемные Интернет-магазины, и порталы. Для Joomla написано масса плагинов, поэтому вопрос, который следует задать не в том, что Joomla может, но чего она не может.



Но чем выше взлет, тем сильнее и падение. Это к тому, что в связи с тем, что Joomla так популярна благодаря своему потенциалу, возникает и проблема с безопасностью этой CMS, так как атаки недобросовестных любителей несанкционированных взломов сайтов направлены именно на то, что массово и что популярно. В Интернете, можно найти массу советов и трюков по тому, как взломать Joomla. Оставим вечный вопрос, кто виноват – изобретательность хакеров или потенциальная незащищенность этой CMS, и посмотрим, что можно сделать что бы по возможности свести риск несанкционированного проникновения к минимуму.

Совет всех советов заключается, прежде всего, в том, что нужно периодически делать резервные копии файлов сайта и базы данных. Это можно сделать как обычным способом с помощью ftp и панели phpMyAdmin, так и с помощью специальных компонентов Joomla, которые позволяют помощью в два клика скопировать весь сайт и также легко перенести его на другой хостинг.

Marco Kuiper в своем блоге даёт семь советов для обеспечения безопасности Joomla:

  1. Сменить префикс таблицы в базе данных, которые в Joomla по умолчанию имеет вид (jos_). Если это сделать, то уже можно обезопасить себя от получения паролей сайта из базы данных с помощью SQL инъекций. Эта процедура несколько нудна, но она стоит того. В начале меняем префикс базы данных jos_ на другой, к пример, joo_ в панели администратора сайта, затем необходимо поменять префиксы в самой базе данных, которую можно экспортировать из phpMyAdmin в .sql файл. При этом можно использовать клавиши Ctrl + H для поиска и замены jos_ на joo_.
  2. Удалить номер версии / название приложений.
  3. Установить компонент SEF. Большинство хакеров используют Google inurl: команду чтобы искать слабые места. Установите Artio, SH404SEF или другой SEF компонент чтобы переписать URL.
  4. Не забывать обновлять Joomla и её приложения
  5. Применять правильный CHMOD. Устанавливать CHMOD 777 на файл или папку нужно только тогда, когда есть необходимость произвести запись в нем. А так лучше всего установить такой CHMOD.
  • PHP файлы: 644
  • Config файлы: 666
  • Другие папки: 755

6. Убрать неиспользуемые приложения. То, что не используется лучше удалить.
7. Изменить файл .htaccess, добавив следующее:

 ########## Begin - Rewrite rules to block out some common exploits
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Block out any script that includes a < script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script that tries to set CONFIG_EXT (com_extcal2 issue)
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
# Block out any script that tries to set sbp or sb_authorname via URL (simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End  

Joomla-юзеры на официальном форуме этой CMS частенько жалуются на то, что пароль администратора их сайта был изменен кем-то для чего-то, в результате чего невозможно было войти в панель управления сайтом. Одним из ранимых мест в Joomla является компонент com_user. Если сайтом управляет только один администратор, то рекомендуется удалить этот компонент вообще. При этом пароль придется восстанавливать через тот же phpMyAdmin, о чем речь идет здесь.

Один из сайтов на Joomla про то, где и как купить кухню в Минске столкнулся с такой проблемой, которая была решена вышеупомянутым образом.

Joomla – поистине удобная, многофункциональная, хотя, по мнению некоторых, и громоздкая CMS, о безопасности которой ни в коей мере не стоит забывать.