Пример сайта, созданного на Joomla

пятница, 9 апреля 2010 г.

Безопасность и оптимизация Joomla.

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 через URLRewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URLRewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Блокируем любой скрипт который содержит тег < script> в URLRewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URLRewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URLRewriteCond %{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!:

Комментариев нет:

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