Joomla 1.5 защита от взлома, или как с этим жить ?
Разумеется самый логичный ответ который напрашивается, это заменить движок на более современный. Но если сайт уже разрабатывается. Что делать пока он не готов? В таких случаях приходится поднимать безопасность старого сайта, в данном случае мы рассмотрим один из самых взламываемых движков в мире joomla 1.5.
1. Удалить идентификатор CMS
meta name="generator" content="Joomla! 1.5 - Open Source Content Management";
Самый простой способ определить какой движок. Самый частый способ определения CMS и ее версии.
2. Закрыть дополнительной авторизацией, если удалить его на данном сайте нельзя
/index.php?option=com_user&view=resetОдна из самых распространенных инъекций на joomla 1.5 POST через CURL
3. Установить на сайт jFireWall Lite
Закрывает частично вопрос с SQL инъекциями. Сейчас этим вопросом вообще никто не занимался, это хоть частично прикроет.4. Выставляем права на папки
/ = 444 /tmp = 705 /logs = 705
Частично спасет от записи в index.php и размещение файлов на сайте
При включенной функции exec на 80% бесполезно, скрипты в состояние менять права сами.
5. Установить JhakGuard
Плагин для защиты
Прикрываем частично уязвимости запуска удалены URL и XSS Атаки.
Требуется подстройка под проект.
6. Обновление Joomla до последней версии
Поднять версию до 1.5.26 закрыты очень серьезные и очень старые дыры в безопасности, поскольку 1.5.26 сама очень старая версия и не поддерживается то решение частичное но однозначно требуемое.
7. Выносим configuration.php в нестандартное место
<?php require( dirname( __FILE__ ) . '/../configuration.php' );Вынести со стандартного места. По хорошему за пределы сайта на уровень выше.
?>
Частично поможет от SQL инъекций использующих данный файл для чтения доступов к БД.
Частично защитит от определения Движка.
8. Удалить JСE компонент
Самый атакуемый компонент в joomla как правило его или вообще отключают и редактируют чистый текст или используют другой например FCK.
9.Обновить FCK компонент
Не является стандартным но распространен, требуется обновить до последней поддерживаемой версии
10.Обновить Phoca Gallery компонент
Так же часто взламываемый компонент поскольку имеет возможность загружать файлы.
11.Удалить неиспользуемые компоненты
Все неиспользуемые компоненты, модули, плагины, шаблоны и прочее лучше удалять полностью! Дыры в них можно использовать даже если вывода этого компонента на сайте нигде нет!
12.Удалить Версии сторонних компонентов
Роботы не смогут определить подходящий способ взлома.
Удалить показ позиций модулей URL — /?tp=1
/libraries/Joomla/application/module/helper.phpУдалить куски из файлов
if(count($result) == 0) { if(JRequest::getBool('tp')) { $result[0] = JModuleHelper::getModule( 'mod_'.$position ); $result[0]->title = $position; $result[0]->content = $position; $result[0]->position = $position; } }И также далее закомментируйте строки:
if(JRequest::getBool('tp')) { $attribs['style'] .= ' outline'; }
14. Поменять префикс в БД
Joomla 1.5 он всегда стандартный ( в новых версиях генерируемый) поменяв префикс можно легко избавиться от sql инъекций, что даст вполне неплохую защиту.
15. Отключите Register Globals
Используется при взломе.
15. Вставить в .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] ########## Заканчиваем запись правил чтобы заблокировать основные эксплойты
16. Удалить идентификатор в robots.txt
robots.txt
Достаточно простой способ идентификации движка является обычный robots.txt в нем закрыты основные папки определенных движков. Рекомендовано намерено ввести в заблуждение роботов. Заменив в названиях символы символами регулярных выражений. Тем самым снизив количество точных вхождений. Так же мы добавили в robots.txt папки которых в этом движке нет, но они присущи другим популярным движкам, дабы запутать еще больше. На работу сайта это никак не отобразится.
User-agent: * Disallow: /a*mi*istrator/ Disallow: /cac*e/ Disallow: /cl*/ Disallow: /co*p*nents/ Disallow: /i*ag*s/ Disallow: /i*cl*des/ Disallow: /instal*ation/ Disallow: /la*guage/ Disallow: /l*br*ries/ Disallow: /l*gs/ Disallow: /*ed*a/ Disallow: /mo*ules/ Disallow: /pl*gins/ Disallow: /t*mplates/ Disallow: /tmp/ Disallow: /bitrix/ Dissalow: /manager/
Оставить комментарий
Комментарии (1)