AdSense-web

15 марта 2013

Восстановление сайта на Joomla после взлома

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

После взлома не получалось войти в панель управления Joomla, так как, понятное дело, был изменен логин и пароль. Сперва появилась мысль удалить систему на хостинге и залить резервную копию с компьютера, но все-же было интересно, какие изменения и в каких файлах произошли при взломе. Возможно нет необходмости восстанавливать архив, и достаточно заменить некоторые файлы.

Как восстановить доступ к Joomla?
Для восстановления логина и пароля доступа в панель управления Joomla можно использовать базу данных MySQL. В панели управления хостингом, я запустил программу управления базами данных (phpMyAdmin), выбрал базу данных нужного сайта и таблицу "jos_users". Именно в этой таблице содержаться данные пользователей. Посмотрите, какие изменения произошли с этими данными. Там есть еще колонка, фиксирующая время последнего визита пользователя, можете сопоставить эти данные со временем взлома.

После удаления ненужных пользователей, я открыл строку "Super Administrator" таблицы "jos_users", и в поле "username" записал свой новый логин (старые были все скинуты на "admin"). Теперь, в поле, "password" можно записать новый пароль, но прежде, в выпадающем меню функций, выберите MD5 для его шифровки. После всех этих процедур удалось зайти в панель управления системы.

На сайте по-прежнему отображается внедренная хакерами страница. Теперь задача просмотреть по-максимуму папки и файлы и определить, какие из них были изменены при взломе сайта. Для этого, в панели управления хостингом, я запустил программу менеджера файлов и щелкнул по названию колонки последних изменений. В результате, в низу списка отсортировались каталоги и файлы, которые были изменены позже всего, но среди них не было измененных на дату взлома, хотя это и не так. Просмотрев, по-возможности максимум папок и файлов, я обнаружил запись о последнем изменении, в период искомой даты, каталога моего шаблона - "beez_20". В этой папке был заменен файл "index.php". Других измененных каталогов и файлов я не обнаружил. После удаления внедренного файла и загрузки с резервной копии файла "index.php", отображение сайта восстановилось.

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

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

Убрав функцию регистрации на сайте, мне кажется, я обезопасил систему, от того вида взлома, от которого пострадал. В базе данных были скинуты настройки логинов всех пользователей на стандартный - admin. Не додумался сразу войти в панель управления с этим логином и паролем, может быть и получилось. Поэтому, я предполагаю, что хакеры взломали сайт путем сброса-восстановления пароля, а удаление функции регистрации пользователей и запрет доступа к каталогу com_users, больше не позволит навредить таким образом.

И еще, в одном из online-сервисов, например, pr-cy.ru/link_extractor проверьте наличие внешних ссылок на сайте, чтобы не было лишних.

Видеоролик. Восстановление доступа к панели управления Joomla с помощью программы phpMyAdmin.



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

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