Защита сайта от взлома. Основные способы взлома.

Тема в разделе "Вопросы безопасности", создана пользователем Павел Joofaq, 30.03.2011.

  1. Павел Joofaq
    Offline

    Павел Joofaq Модератор

    Регистрация:
    23.03.2011
    Сообщения:
    346
    Симпатии:
    42
    Пол:
    Мужской
    Прочитайте тему перед тем, как задавать вопросы на форуме!

    В последнее время я всё чаще натыкаюсь на вебмастеров, у которых разными путями взломали сайт на Joomla. Хоть эту CMS и считают довольно безопасной, но тем не менее, в ней есть довольно много уязвимостей. Как оказалось, даже не очень опытный хакер сможет взломать сайт на Joomla, если над ним не поработать и не обезопасить себя от этих ошибок. Ради интереса я пробивал основные ключевые слова по поводу взлома joomla и защиты joomla от взлома. Я заметил, что очень мало пользователей интересуются защитой сайта (как правило, люди начинают искать решение, когда уже поздно). Но я настоятельно рекомендую Вам досконально изучить защиту Joomla от взлома. Вот я в своё время отнёсся серьёзно к этому вопросу, и все мои сайты до сих пор целые и невредимые.

    Основные методы взлома сайта на Joomla и его последствия

    1. Вирус - один из самых опасных. При попадании на Ваш компьютер, вирус сканирует его на наличие FTP менеджера ити TotalCommandera. В этих программах хранятся Ваши пароли и адреса серверов, которые скрипт отправит злоумышленнику. Этого будет достаточно, чтобы потерять сайт. Самым опасным этот метод считается потому, что Вы рискуете остаться без всех своих сайтов сразу! Последствие попадания вируса - в код сайта вставляется iframe с вредоносным кодом, различные JS скрипты или ссылки на другие сайты и т.д.. После этого на Ваш сайт начнут ругаться все антивирусы и поисковые системы.
    2. SQL инъекция - довольно распространённый способ взлома. Основан на получении доступа к файлам базы данных. А если точнее, то к логину и паролю администратора. Таким образом злоумышленник может не только увидеть Ваш логи и пароль или другие данные, но и изменить их под свои нужды. Последствие SQL инъекции - взлом пароля Joomla к административной панели сайта. Так же злоумышленник может вообще удалить всю информацию Вашего сайта.
    3. Восстановление пароля администратора - в последнее время сайты на Joomla всё чаще пытаются взломать именно этим способом. Даже если у Вас на сайте стоит компонент генерации ЧПУ, можно всё равно прописать в адресной строке такой код: ВАШ_САЙТ/index.php?option=com_user&view=reset и Вам откроется окошко для восстановления пароля. Хакеры вводят туда специальный код и изменяют Ваш пароль. Последствия потери пароля администратора - думаю, тут и так всё понятно. Полный доступ злоумышленника в административную панель Вашего сайта. Только представьте, что может сделать , к примеру, Ваш конкурент?
    4. Через "дырявые" расширения - взлом сайта через дырки в различных компонентах, используя ввод методом POST на определённые страницы. Последствия взлома через дырки в расширениях - в папке с компонентом, который взломали, будет лежать много "левых" файлов. Такие сайты скорее всего заблокирует хостер. И поисковые системы тоже будут ругаться на то, что на сайте вирус.
    5. PHP инъекция - внедрение вредоносного кода через Вашего сервера.
    6. XSS или межсайтовый скриптинг - возникает во время генерации сервером страниц, в которых содержится "вражеский" скрипт. Эта атака так же может произойти из-за Вашего сервера. Например, если с Вами на сервере находится зараженный объект или сайт, то Вы так же подвержены опасности.

    Защита и профилактика сайта Joomla от взлома

    1. Установите хорошее антивирусное программное обеспечение. Но кроме этого нужно ещё регулярно проводить обновления базы вирусов.

    2. Не скачивайте расширения с непроверенных источников и старайтесь не использовать варезные (краденные или взломанные). Я, например, однажды скачал какой-то шаблон для тестирования и обнаружил на нём чужие ссылки на разные сайты. Этого урока мне хватило, чтобы больше не лазить по таким говно-порталам, а качать всё с официальных источников. Но если уж Вы скачали что-то с варезного сайта, то перед установкой сначала проверьте антивирусом на наличие сюрпризов, просмотрите файлы расширения на наличие "чужих" ссылок. Не рекомендую непроверенные расширения ставить на рабочий сайт, сначала лучше проверить на каком-нибудь демо-сайте на локальном хостинге. А потом, убедившись что всё в порядке, ставьте на рабочий.

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

    4. Для того, чтобы спрятать свой сайт от глаз хакеров, нужно использовать SEF компоненты для генерации человеконятных ссылок. Можно пользоваться стандартным SEF или, к примеру, ARTIO JoomSEF. Дело в том, что Joomla по своему генерирует ссылки, и они выглядят вот так:

    domen/sayt/index.php?option=com_content&view=category&layout=blog&id=4&Itemid=3.

    И хакер может просто вбить в поиске "com_content" (если в нём есть "дырки") или другое уязвимое расширение и ему откроется список сайтов, в котором можете быть и Вы.

    5. Кроме этого лучше вообще скрыть, какой CMS Вы пользуетесь. Тогда риск попадания Вашего сайта в поле зрения хакера резко снижается. Для этого необходимо удалить из кода Вашего сайта строчку:

    <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />

    Заходите на свой сайт и идёте по этому пути (актуально для joomla 1.5) ВАШ_САЙТ/libraries/joomla/document/html/renderer/. В этой папке находите файл head.php и открываете его, например, блокнотом. С помощью поиска ищете эту строку:

    $strHtml .= $tab.'<meta name="generator" content="'.$document->getGenerator().'" />'.$lnEnd;

    Удалите её и скопируйте файл обратно на сайт. Теперь у Вас уже стало на одну лишнюю строку меньше.

    6. Установите плагин plgSystemJSecure. Используя этот плагин, злоумышленник не сможет даже увидеть вашу административную панель, введя просто ВАШ_САЙТ/administrator. Так как в этом плагине нужно будет ввести кодовое слово. После того, как Вы его введёте, ссылка на админ-панель Вашего сайта будет выглядеть так: ВАШ_САЙТ/administrator/?ваше_кодовое_слово. Это достаточно хорошая защита админки Joomla.

    7. Ищите всегда только самые новые версии используемых Вами расширений. Или обновляйте те, которые уже стоят. Разработчики часто выпускают обновления своих продуктов, ибо хакеры вечно находят в них какие-нибудь изъяны.

    8. Все неиспользуемые компоненты, модули, плагины, шаблоны и прочее лучше удалять полностью! Даже базу данных желательно почистить. Например, на каком-то компоненте хакеры нашли уязвимость. Если у Вас стоит именно этот компонент, а Вы им даже не пользуетесь и, естественно, не обновляли его (пусть он даже и выключен), то это всё равно не спасёт Вас от атаки. Так что лучше удалять всё подчистую. Оставляйте только самое необходимое и не ставьте все подряд для различных тестов на рабочий сайт.

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

    10. Если Вы не используете на своем сайте модуль регистрации пользователей (у меня его тоже нету, кстати), то лучше удалить файлы, которые отвечают за восстановление пароля и его сброс. Можно удалить или всю папку com_user (которая находится по пути ВАШ_САЙТ/components) или отдельный файл, отвечающий за сброс - reset.php. Этот файл находится по пути ВАШ_САЙТ/components/com_user/models.

    11. Для борьбы с SQL инъекциями есть два основный способа. Первый - это установка компонента jFireWall (хороший и довольно мощный компонент, есть бесплатная версия jFireWall Lite). Второй - это смена префикса к таблицам в базе данных. Второй способ я опишу поподробнее, так как изменение этого префикса может защитить Вас практически от всех SQL инъекций. Сначала рекомендую Вам отключить сайт в общих настройках joomla, так как он всё равно выйдет из строя на некоторое время и обязательно сделать резервную копию сайта и базы данных. А теперь поехали по порядку:

    - заходите в админа панель своего сайта, переходите в общие настройки/сервер. В правой части экрана ищите "Префикс базы данных", там будет написано faqj_. Заменяете его на любую надпись, например, на asd_ и сохраняете;

    - заходите в PhpMyAdmin и делаете экспорт своей базы данных на компьютер и сохраняете её. Для сохранения базы выберете её и в правой части экрана вверху ищите "Экспорт". Выделяете все части базы, внизу ставьте SQL и ещё чуть ниже "Сохранить как файл". Справа внизу нажимаете на кнопочку "Ok". Сделайте ещё одну копию на всякий случай и сохраните куда нибудь в другое место;

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

    - теперь открывайте сохранённый файл с базой данных, к примеру, блокнотом. Нажимайте Ctrl+H и видите такое окошко:

    [​IMG]

    с помощью этой функции можно одним махом изменить все префиксы в Вашей таблице, нажав на "Заменить все";

    - на а теперь заходите опять в PhpMyAdmin и нажимайте справа вверху "Импорт" и выбирайте Ваш файл с новыми данными. Кодировку поставьте UTF-8.

    12. Необходимо правильно выставить права на файлы и папки. Сделать это можно с помощью FileZilla. Вообще для каждого сервера нужны свои определённые настройки, которые лучше узнать у своего хостера. Но обычно права ставят такие: на файлы, которые находятся в корневой директории 444, на папки в корневой директории ставят 755, на папки tmp и logs ставят 705, на паку своего шаблона поставьте 555, на папку image/stories можно поставить 755, на папку Cache 777.

    13. { Добавил Draff } Смена ника админ и еще запрет на доступ к админ.части сайта/бекэнд через файл ".htaccess"
    Код (CODE):
    1. PHP код:
    2. ####  NO  Enter
    3. Order Deny,Allow
    4.  
    5. Deny from all


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

    Источник joofaq.ru
     
    Последнее редактирование модератором: 25.03.2014
    DJman, sergsw и BroodingAngel нравится это.
  2.  
  3. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Добавлю-смена ника админ,и еще запрет на доступ к админ.части сайта/бекэнд
    ".htaccess"
    Код (PHP):
    1. ####  NO  Enter
    2. Order Deny,Allow
    3.  
    4. Deny from all

    Комментарий мой,можна менять на любой .)) Недавно поймал троян/блокер с требованием оплатить денег на уважаемом ресурсе кодеров vingrad.ru,так испытал что такое потерять доки. ((
     
    Павел Joofaq нравится это.
  4. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    И я поймал,хотел перейти на главную.выбросило окно с яндекса/оперы о вредоносном сайте.
    Вернулся на форум-висит в адресной строке-предупреждение о вредоносном ПО.
     

    Вложения:

    • gh.GIF
      gh.GIF
      Размер файла:
      24.1 КБ
      Просмотров:
      28
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 356
    Симпатии:
    370
    Пол:
    Мужской
    draff, устаревшая информация
     
  6. Offline

    sergsw Недавно здесь

    Регистрация:
    26.06.2011
    Сообщения:
    13
    Симпатии:
    1
    Пол:
    Мужской
    Проделал 6 пункт и сначала сайт загружался через кодовое слово как у казано в пункте затем после перезагрузки меня стало перенапровлять на главнуюю
     
  7. Offline

    DJman Недавно здесь

    Регистрация:
    26.06.2011
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо за информацию)) А где удалять версии компонентов? В документах php - комментарии?
    draff - А можно подробнее? Как вставить этот пхп код? Боюсь накасячить, ведь слаб в пхп... :)
     
  8. Offline

    DJman Недавно здесь

    Регистрация:
    26.06.2011
    Сообщения:
    10
    Симпатии:
    0
    Пол:
    Мужской
    sergsw, а ты какую ссылку вводил, чтобы попасть в панель администратора? Нужно: ТВОЙ_САЙТ/administrator?КЛЮЧ_КОТОРЫЙ_ТЫ_НАПИСАЛ (изначально этот ключ = jSecure)
     
    Последнее редактирование: 04.07.2011
  9. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    В ".htaccess" в любое место
    п.с.
    Кстати по п.8 ,а может добавлять файл Джумла "html" в папки компонентов,плагинов сторонних разработчиков?
     
    Последнее редактирование: 04.07.2011
  10. radionovaksu
    Offline

    radionovaksu Недавно здесь

    Регистрация:
    15.07.2011
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Женский
    Постоянно происходят взломы моего сайта. Кто знает-может ли причиной взлома стать плагин галереи Морфеошоу?
     
  11. Offline

    Елена7 Недавно здесь

    Регистрация:
    05.06.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    Пыталась установить на сайт на хостинге плагин plgSystemJSecure.
    На папки plugins и дочернюю system задала права 777. Ничего не вышло. Ошибка: невозможно создать папку.
    Подскажите, что делаю не так.
    На денвере все получается, а на хостинге - нет.
    У меня сайт на joomla 1.5
     
  12. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Елена7,
    xml плагина посмотри,куда и чего и в какие папки сайта.Там и ставь права на запись.
     
  13. Offline

    nolik Недавно здесь

    Регистрация:
    15.09.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    Доброго времени суток,

    Joomla 1.5.25
    Я «спрятал» configuration.php в корень сервера, откорректировал оба defines.php (на самом деле их там 3, но пробовал корректировать и третий(директория: xmlrpc/includes/ )).

    Сайт работает, но админка не доступна. Такой вот ошибка, однако (см. скриншот)

    Почему-то хочет «installation»…

    Знатоки, Подскажите, плиз, что подкрутить, чтобы админка ожила?
    Спасибо
     

    Вложения:

  14. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Ну и как будет Joomla искать данные доступа сайта ?
     
  15. Offline

    nolik Недавно здесь

    Регистрация:
    15.09.2011
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Женский
    Уважаемый Драфт,
    При всем моем уважении, я ценю ваши познания, но вы меня удивили. Я-же прокомментировал, что я внес изменения в файлы defines.php. Данный прием взят с сайта: http://docs.joomla.org

    Мне в принципе все понятно, и главное что сайт работает. Проверял по разному, в том числе и перезапуском виртуального сервера. Но вот админка, почему-то легла.
    В чем может быть фокус?
    Спасибо.
     
  16. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Вот только не нужно трогать/вспоминать мои знания,и ник у меня не
    Если не хотите указать,как именно вносились изменения в доступ к данным движка.то и не нужно.
    Но предложение об установке Joomla выводится движком,и в случае отсутствия configuration.php
     
  17. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Хотелось бы добавить в первый пост.
    Встречал скрипты пхп в папке для рисунков.Ну а поскольку в images не нужно запускать файлы с разрешением .php,а на некоторых сайтах ,пользователям разрешено загружать свои картинки,то советую добавить/залить файл .htaccess со следующей директивой
    Код (CODE):
    1. #Защита директории средствами Web server Apache
    2. RemoveHandler .php .phtml .pl
    3. AddType text/plain .php .phtml .pl
     
  18. Offline

    belweder Недавно здесь

    Регистрация:
    16.03.2012
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Женский
    Пожалуйста, ПОМОГИТЕ!!!
    Взломали корпоративный сайт на Джумле и перекрутили его на наш старый домен, который мы прошляпили оплатить. Беда в том, что туда до сих пор заходят наши же клиенты. Мало того что выкупили наш старый домен, так еще и прикрутили туда наш же сайт! Что будет дальше происходить не знаю.
    Обращение в нужные органы написали, но на это никакой надежды. Я знаю как у нас все там работает.
    Хостеры и регистраторы доменов морозятся. Хостеры пообещали его оттуда снять просто, но не факт, что человек не прикрутит его к другому хостеру. Голова пухнет(((
    Если кто умеет взламывать сайты пожалуйста, напишите в личку. Возможно получится хотя б как-то размещать путем взлома страницу, что мы переехали на другой домен, для клиентов(((
    Плиз, очень нужна помощь!!!
    мой мейл tourjob@ukr.net
     
  19. Asylum
    Offline

    Asylum специалист

    Регистрация:
    09.02.2007
    Сообщения:
    2 571
    Симпатии:
    152
    Пол:
    Мужской
    Ничего не понял, вы забыли продлить домен и его кто-то купил? Если так, то он имеет право делать с ним все что угодно. Если сайт взломали, восстанавливайте пароли. Если доступа к почте указанной при регистрации нет, остается только рыдать. А в том на ваш старый домен повесили копию сайта - ничего противозаконного, способов доказать обратное, практически нет
     
  20. Offline

    Laziz Недавно здесь

    Регистрация:
    31.03.2012
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте, помогите пожалуйста, очень нужна ваша помощь. Мой сайт на движке Joomla 1.5. Недавно его взломали. Главная страница открывается, но при нажатии на ссылки идет перенаправление на какие-то левые домены. После нескольких бекапов взломали опять. ARTIO JoomSEF и Jsecure установлены. Все права на папки и файлы закрыты. Метагенератор убран. Все защитные меры, известные мне, я принял. Но проблема остается. Скажите пожалуйста, как ее решить.
     
  21. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской

Поделиться этой страницей

Загрузка...