Как защитить Joomla 1.5 от взлома хакерами
15.12.10 19:09
Целью написание данной статьи явилась потребность защиты CMS Joomla 1.5 от взлома забугорными хакерами. Так как в 2010 году участились массовые взломы сайтом работающие на Joomla 1.5 в доменной зоне RU.

Рассказ про то что Joomla бесплатная и у неё открытый исходный код , который известен всем в том числе и хакерам я упущу. Думаю эту подноготную вы и так сами знаете, так что сразу перейдём к техническим моментам.

Часть 1 Как хакеры находят свою жертву

Давайте начнём с того , что на сегодняшний день хакерам известны ряд способов взлома Джумлы (об этих способов я расскажу позже детально), и из этого можно сделать вывод если хакеры знают уже готовые способы взлома сайта им остаётся найти всего лишь своё жертву работающую на CMS Joomla чтобы воплотить свой ритуал. Каким образом они это делают ? Способов очень много один из самых распространённых способов - это поиск через поисковую систему с указанием особых параметров ( которые отвечают за cms) и региона сайта. После чего им выдаются результаты поиска где в списке все сайты работающие Joomla такой то версии в такой то стране. Вот так ваши сайты попадают в поле зрение хакеров.
Из этого можно сделать вывод самое первое средство защиты от взлома это скрыть информацию о cms работающей на вашем сайте от различных публичных сервисов и поисковиков, чтобы не попасть в список потенциальных жертв.
Теперь каким образом наш сайт на Джумле сообщает поисковикам и прочим сервисам интернета что «Я Джумла 1.5» а самым простым если вы откроете исходный код в страничке браузера любого сайта на Джумле то в самом верху кода вы найдёте такую строчку
<meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
да это именно мета тег, который сообщает с помощью какого скрипта была создана (сгенерирована страница), именно по этому мета тегу злоумышленники и находят ваш сайт и тысячи других. Конечно существует ещё способы нахождения сайта работающего на CMS Joomla но эти способы более сложны и применяются очень редко хакерами для поиска жертвы. 

И так как скрыть ярлык что наш сайт работает на Джумле, для этого нам надо отредактировать файл head.php который даёт именно этот выхлоп в шаблон джумлы, он находиться /libraries/joomla/document/html/renderer/head.php
Открыв его находим код (район 83 строки)
$strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;
и удаляем его от греха подальше.

После того как вы удалили этот код то можно сказать на 90% вы обезопасили себя от попадания вашего сайта в поле зрение хакеров а значит от взлома. Ну если конечно ваш сайт не заказали кто нибудь то данная процедура вам не поможет. (это моё личное мнение)

P.S. Моя компания обслуживает множество сайтов на Джумле и когда какой нибудь сайт взламывают хакеры то владелец сайта спрашивает меня чем же мой сайт так привлёк хакеров? Я всегда отвечаю ваш сайт не имеет глобального политического или экономического значение , а значит его хакеры взломали «просто так для спортивного интереса» а взломали ваш именно потому что он просто попался в поиске как потенциальная жертва вот и всё.


Часть 2 Основные методы взлома сайта

И так если ваш сайт всё таки хакеры обнаружили и решились взяться за взлом они начнут его через уязвимости которые больше всего известны им.

Получение административного доступа (Метод сброса пароля)
SQL инъекция
Ввод методом POST через CURL кода на определённую страницу(по заранее известному коду)


Самый распространённый способ взлома это получение доступа к учётной записи администратора , методом восстановление пароля .Как это происходит ?
В джумле есть функция восстановления пароля, даже если у вас на сайте на стороне фрондтенда нету опубликованной ссылки на восстановления пароля простая ссылка всегда работает сама /index.php?option=com_user&view=reset

Именно по этой ссылки хакеры и могут удалённой методом POST ввести напрямую на сервер свой код, в последствии чего им будет предложено ввести новый пароль и всё пароль от учётки администратора получен. За эту операцию отвечает файл reset.php который находиться в данной директории /components/com_user/models
Что бы исключить эту возможность за получение административной учётки хакерами я предлагаю этой файл удалить ,ну это на тот случай если на фронтенде сайта нету сервиса авторизации , ну бывает же много сайтов визиток где нет авторизации и регистрации а удаление этого файла самый верный способ сократить шансы на взлом.

Следующий вариант взлома Джумлы это SQL инъекция , про него я особо много я рассказывать не буду, так как это отдельная тема дя разговора. Но отмечу что почва для взлома сайта таким методом есть , так как дырки в коде всегда найдутся. Те кому интересна эта тема могут почитать про SQL инъекции тут http://webew.ru/articles/2078.webew
И как же вы скажете с этой порукой бороться ? Простому обывателю мало разберющемся в php и sql есть один подходящий вариант это компонент jFireWall Lite (http://www.jfirewall.com/) на сегодняшний день именно только этот компонент может сам бороться с SQL инъекциями и блокировать нападающего. От себя хочу сказать что работает данный компонент очень эффективно , особенно требуется установка такого компонента на сайты на которых крутятся различные стронции расширения, которые создаются одним или несколькими программистами и в процессе создания не особо уделяется сторона безопасности и грамотного алгоритмического написания кода.

Часть 3 Защита файлов и доступа

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

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

После защиты прав доступа я предлагаю ввести доступ к папки administrator по паролю который будет осуществляться самим веб сервером апатч.
Для этого вам надо создать в папки администратор два файла текстовых это
.htaccess в котором будет содержаться директивы доступа к папки administrator и указывать место положение файла с паролями на эту папку
в этом файле должен присутствовать следующий код

AuthType basic /*тип аунтификации, он у нас один*/
AuthName "123456" /*сообщение при обращении*/
AuthUserFile /абсолютный путь до папки администратор/administrator/.htpasswd /*указание на файл с паролями*/
Require valid-user

Как вы ведите нам осталось ещё создать один файл в котором только будет указанно имя пользователя и пароль чтобы происходила аутентификация.
Файл .htpasswd тоже должен располагаться в папки администратор но в нём имя пользователя и пароль должни быть написаны в MD5 шифре.

Для облегчения данной работы я нашёл сайт где в режиме он лайн можно создать эти два файла автоматически а потом поместить их себе на сайт вот

http://www.ifstudio.org/seo/crypt.php


В итоги что надо сделать чтоб защитить свой сайт на Джумле

1.Удалить reset.php (чтоб исключить угон учётки админа)
2.Удалить <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" /> чтобы исключить попадания вашего сайта в область поиска хакеров своей жертвы
3.Установить и настроить jFireWall Lite
4.Выставить нужные права на файлы и папки
5.Установить пароль на директорию посредством веб сервер апатч
Последнее обновление 29.08.12 15:29
 

Комментарии  

 
0 #52 Gerardelump 15.02.2018 10:45
* Кредит по паспорту, без справок и поручителей
* Получить кредит наличными без справок о доходах
* Кредит онлайн — без поручителей и визита в банк
http://bit.ly/2oQUzUu - Без справок, без посещений офиса
Погасите кредит без просрочек — пересчитаем проценты по сниженной ставке и вернем вам разницу
Цитировать
 
 
0 #51 Daniel 10.02.2018 22:05
Hi there! Quick question that's completely off topic.
Do you know how to make your site mobile friendly? My site looks weird when browsing
from my iphone. I'm trying to find a template or plugin that might be able to correct this problem.
If you have any suggestions, please share. Many thanks!



Look at my web-site ... Payday Loans: http://1paydayloansonline.wordpress.com
Цитировать
 
 
0 #50 GuestBeido 04.02.2018 02:42
guest test post
bbcode
html
http://temresults2018.com/ simple
Цитировать
 
 
0 #49 Quick Loan 03.02.2018 02:19
need money now payday loan same day loan type payday loans reviews
Цитировать
 
 
0 #48 Money Loan 03.02.2018 01:20
get cash now loan from no interest loans cash loans no credit check
Цитировать
 
 
0 #47 Quick Loan 02.02.2018 15:22
cheap personal loans loan up online loans best payday loans for bad credit
Цитировать
 
 
0 #46 Cash Advance 02.02.2018 06:47
loans online payday loans online loans online payday loan centers
Цитировать
 
 
0 #45 Best Online Loans 01.02.2018 20:46
cash loans cash loans easy money payday loans need cash now
Цитировать
 
 
0 #44 Quick Loans 01.02.2018 01:47
same day loans same day loans best payday loan online instant personal loans
Цитировать
 
 
0 #43 Arydiox 31.01.2018 11:38
Precio Proscar Propecia Buy Generic Effexor Xr cialis buy online Compra Cialis In Anonimato
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Наверх