Опубликовано автор в категориях Joomla.

joomla_security
Joomla! очень популярная во всем мире CMS. По этой причине, хакеры часто пытаются найти способы взлома сайта на Joomla!. Ниже приведены семь советов по оптимизации безопасности вашего сайта на Joomla!

Но для начала общие моменты. Всегда помните, что нужно делать регулярное резервное копирование веб-сайта и базы данных. Если сайт таки хакнули, то вы всегда сможете поднять сайт из последнего бэкапа. Обязательно выясните какое расширение послужило дырой для атаки и постарайтесь его заменить на более надежное.

Измените установленный по умолчанию префикс (jos_) к таблицам в базе данных

Большинство SQL инъекций, которые написаны для взлома сайтов на Joomla! пытаются получить данные из таблицы jos_users. Таким образом, они могут получить имя пользователя и пароль для супер администратора сайта. Изменение стандартного префикса оградит вас от (большинства / всех) SQL инъекций.

Вы можете задать префикс базы данных при установке Joomla! Если вы уже установили и хотите изменить свой префикс, выполните следующие действия:

  1. Войдите в панель управления Joomla!
  2. Зайдите в «Общие настройки»->»Сервер» и найдите панель «Установки базы данных».
  3. Там измените ваш префикс на любой произвольный (например: fdasqw_) и нажмите кнопку Сохранить.
    *Когда вы это сделает, сайт на время выйдет и строя, но следующее действие исправит это.
  4. Зайдите в PhpMyAdmin для доступа к базе данных.
  5. Перейдите на вкладку экспорт, оставить все значения по умолчанию и нажмите кнопку «Пуск/Пошел». Экспорт данных может занять некоторое время.
  6. Когда все будет сделано, выделите весь код и скопируйте его в блокнот (или любой другой текстовый редактор), на всякий случай сохраните файл.
  7. В PhpMyAdmin выберите все таблицы, и удалите их. Обязательно убедитесь, что вы сохранили экспортированный до этого код, иначе потеряете данные сайта!!!
  8. В редакторе, выполните поиск и замену (как правило, Ctrl + H). Сделайте поиск по jos_ и измените его на ваш новый префикс (например: fdasqw_). Нажмите «Заменить все».
  9. Выберите все в редакторе и скопируйте. В PhpMyAdmin, перейдите на SQL, вставьте запросы (то, что вы скопировали в редакторе) и нажмите кнопку Пуск.

Удалите номера версий / название расширений

Большинство уязвимостей проявляются только в конкретном выпуске конкретных расширений. Показывать номер версии расширения это действительно плохо. Вы можете сократить такие сообщения только до названия расширения, выполнив следующие действия:

  1. Скачайте нужные файлы расширений с вашего сервера.
  2. Откройте редактор кода.
  3. Откройте любой из файлов расширений, которые вы только что загрузили на ваш компьютере.
  4. И начните поиск необходимого вам словосочетания, где указана версия расширения. Если вы не знаете в каком конкретно файле искать, то можно воспользоваться поиском по всему каталогу расширений.
  5. Установите параметры поиска по словосочетанию «Версия мое расширения 2.14″(Это для примера) и нажмите «ОК».
  6. Когда найден искомый запрос, удалите номер версии.
  7. Загрузка измененный файл на сервер и убедиться, что были внесены изменения.

Используйте SEF компоненты

Большинство хакеров используют «Google inurl: команду» для поиска уязвимостей для эксплойтов. Используйте Artio, SH404SEF или другой компонент SEF для того, чтобы переписать ссылки и помешать хакерам найти возможность эксплойта.

Кроме того, вы получите более высокий ранг в Google при использовании дружественных URL для поисковика.

Используйте самые свежие версии Joomla! и расширений

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

Используйте правильный CHMOD для каждой папки и файла

Установка CHMOD 777 или 707 для файлов или папок необходима только тогда, когда скрипт должен записать что-либо в этот файл или каталог. Все остальные файлы должны иметь следующую конфигурацию:

  • PHP-файлы: 644
  • Файлы конфигурации: 666
  • Другие папки: 755

Удаляйте остатки файлов

Когда вы установили расширение, которое вам не понравилось, не оставляйте расширение просто неопубликованным. Если вы так сделаете, уязвимые файлы будут по-прежнему на вашем сайте. Поэтому просто воспользуйтесь деинсталлятором для полного удаления расширения.

Измените ваш .htaccess файл

Добавьте следующие строки в .htaccess файл, чтобы заблокировать некоторые основные эксплойты.

########## Начинаем запись правил чтобы заблокировать основные эксплойты
#
# Блокируем любой скрипт пытающийся получить значение mosConfig через URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Блокируем любой скрипт который содержит тег < script> в URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2)
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
# Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden!
RewriteRule ^(.*)$ index.php [F,L]
#
########## Заканчиваем запись правил чтобы заблокировать основные эксплойты

Для получения дополнительной информации по безопасности Joomla! посетите следующие ресурсы:

Также следите за сайтами уязвимостей Joomla!:

Если у вас есть свои советы по повышению безопасности Joomla!, то можете написать про них в комментариях 🙂

Источник на английском: http://www.marcofolio.net/joomla/7_tips_to_optimize_joomla_security.html

P.S.

Музыкальная социальная сеть MUZZi.ru — наш ответ MySpace Music.

Эротика тем и отличается порнографии, что в ней все представлено красиво, например поэтические эротические рассказы — это ли не красота?

12 комментариев к записи “7 советов по оптимизации безопасности Joomla!”

  1. p057a1

    Насчёт первого пункта и изменения стандартного префикса таблиц БД, зачастую возможны глюки, настоятельно советую сделать бэкап компонентом joomlapack.
    оттестировав его.

    и префикс таблиц можно будет изменить с его помощью, т.к. он создаёт инсталятор и он грамотно всё изменит.
    честно гвооря у меня возникли проблемы с корректной работой БД после восстановления через mysqladmin, возможно поп ричине кривизны рук)

    Ответить
    • Hiway

      Буквально вчера менял префикс таблиц на двух сайтах. Один на Joomla! 1.0, один на 1.5 — все нормально. Дела все руками. Сначала изменил префикс в configuration.php, а потом в базе.

      Ответить
  2. p057a1

    «Добавьте следующие строки в .htaccess файл, чтобы заблокировать некоторые основные эксплойты.»
    насколько мне известно, при номальной установке joomla в корне есть файл htaccess.txt который нужно раскомментировать и там эти строки есть..
    и seo там есть стандартный, джумлавский.. но, тут всёж сторонние компоненты лучше использовать — это вы правильно

    Ответить
    • Hiway

      Да, в .htaccess Joomla! 1.5 такие файлы есть, но если вы используете сторонние SEF комоненты, то надо не забыть про эти строчки.

      Ответить
  3. Вячеслав

    Спасибо за статью 🙂 очень полезно т.к. только начинаю работать с Joomla и таких деталей не знал.

    Ответить
  4. AgeresUA

    По поводу изменений префикса «jos_»
    Я изменил все как написано в статье. Сайт работает все нормально вроде . Но решил проверить (через поиск) не остались ли в php файла этот префикс.
    Результат вот:
    mysite\libraries\joomla\database\database\mysqli.php
    mysite\libraries\joomla\database\database\mysql.php
    mysite\libraries\joomla\database\database.php
    mysite\libraries\joomla\config.php
    mysite\configuration.php-dist
    mysite\administrator\modules\mod_quickicon\mod_quickicon.php
    mysite\administrator\includes\application.php
    mysite\administrator\components\com_config\controllers\application.php
    mysite\administrator\components\com_comprofiler\library\cb\cb.tables.php
    mysite\administrator\components\com_comprofiler\admin.comprofiler.controller.php

    У меня вопрос. Здесь тоже надо менять префикс на новый? Сбоев при работе не будет?
    Заранее спасибо.

    Ответить
  5. hiway

    @AgeresUA: Сбоев в работе не будет. Префикс в этих файлах говорит на то, что просто по умолчанию он jos_ соответственно в некоторых ситуациях система обращается к таблицам с префиксом по умолчанию, а далее идет обращение к альтернативным префиксам через #_ .

    Ответить
  6. Сергей

    Можете ответить после того что я сделал у меня перестали показываться рекламные банеры от Begun.Подскажите пожалуйста,что мне нужно сделать? Плиз

    Ответить
  7. Mc.Sim

    hiway, жоброго времени! Дабы не приостанавливать работу сайта, я бы порекомендовал изменить последовательность пунктов смены префикса таблиц с:

    Вы можете задать префикс базы данных при установке Joomla! Если вы уже установили и хотите изменить свой префикс, выполните следующие действия:
    1. Войдите в панель управления Joomla!
    2. Зайдите в «Общие настройки»->«Сервер» и найдите панель «Установки базы данных».
    3. Там измените ваш префикс на любой произвольный (например: fdasqw_) и нажмите кнопку Сохранить.
    *Когда вы это сделает, сайт на время выйдет и строя, но следующее действие исправит это.
    4. Зайдите в PhpMyAdmin для доступа к базе данных.
    5. Перейдите на вкладку экспорт, оставить все значения по умолчанию и нажмите кнопку «Пуск/Пошел». Экспорт данных может занять некоторое время.
    6. Когда все будет сделано, выделите весь код и скопируйте его в блокнот (или любой другой текстовый редактор), на всякий случай сохраните файл.
    7. В PhpMyAdmin выберите все таблицы, и удалите их. Обязательно убедитесь, что вы сохранили экспортированный до этого код, иначе потеряете данные сайта!!!
    8. В редакторе, выполните поиск и замену (как правило, Ctrl + H). Сделайте поиск по jos_ и измените его на ваш новый префикс (например: fdasqw_). Нажмите «Заменить все».
    9. Выберите все в редакторе и скопируйте. В PhpMyAdmin, перейдите на SQL, вставьте запросы (то, что вы скопировали в редакторе) и нажмите кнопку Пуск.

    на следующий:

    Вы можете задать префикс базы данных при установке Joomla! Если вы уже установили и хотите изменить свой префикс, выполните следующие действия:
    1. Зайдите в PhpMyAdmin для доступа к базе данных.
    2. Перейдите на вкладку экспорт, оставить все значения по умолчанию и нажмите кнопку «Пуск/Пошел». Экспорт данных может занять некоторое время.
    3. Когда все будет сделано, выделите весь код и скопируйте его в блокнот (или любой другой текстовый редактор), на всякий случай сохраните файл.
    4. В редакторе, выполните поиск и замену (как правило, Ctrl + H). Сделайте поиск по jos_ и измените его на ваш новый префикс (например: fdasqw_). Нажмите «Заменить все».
    5. Выберите все в редакторе и скопируйте. В PhpMyAdmin, перейдите на SQL, вставьте запросы (то, что вы скопировали в редакторе) и нажмите кнопку Пуск.
    В результате, в базе будут 2 дубликата таблиц со старым префиксом (jos_) и новым префиксом ( fdasqw_)
    6. Войдите в панель управления Joomla!
    7. Зайдите в «Общие настройки»->«Сервер» и найдите панель «Установки базы данных».
    8. Там измените ваш префикс на любой произвольный (например: fdasqw_) и нажмите кнопку Сохранить.
    7. В PhpMyAdmin выберите все таблицы с префиксом jos_, и удалите их.

    как то так 🙂

    Ответить
  8. IVan

    Просто КОШМАР какая Joomla «дырявая» по безопасности!
    ————-
    В то время, когда выбирал CMS для разработок новый проектов на продажу, именно по этой причине выбрана была CMS Drupal

    Ответить

Оставить комментарий на p057a1

  • (не будет показан)