8-800-775-47-72
RU|EN

Помощь

Что делать, если сайт взломан

Признаками того, что сайт взломан, могут быть:

  • рассылка спам-писем с сервера;
  • Deface (подмена страницы сайта на другую, чаще всего рекламную);
  • резкое увеличения потока трафика;
  • перенаправления с сайта.

В ситуации, когда сайт взломан, выясните, насколько сильный нанесен вред со стороны злоумышленников, затем определите причины взлома и проведите очистку сайта.

 

Анализ последствий взлома

Проверьте сайт на вирусы бесплатным он-лайн сервисом. Мы рекомендуем http://antivirus-alarm.ru/ и http://online.drweb.com.

Подключитесь к серверу, где расположен сайт, по SSH и найдите те файлы сайта, которые были изменены за период времени, в который предположительно осуществился взлом. Выполните команду:

find /home/user/data/www/o-smaug.ru/ -type f -mtime -10

где /home/user/data/www/o-smaug.ru/ - путь к сайту на сервере, -mtime -10 - время, за которое просматривать файлы.

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

Если список очень большой, то выборочно проверьте сообщения, которые могут быть спамом. Например,

exim -Mvh AA75F610AEE4

выводит заголовок письма, а команда

exim -Mvb AA75F610AEE4

даст просмотреть тело сообщения.

Среди заголовков сообщения поле From: содержит отправителя, а X-PHP-Originating-Script - скрипт, которым было отправлено сообщение.

Также мы рекомендуем проверить сайт скриптом  поиска вредоносного кода https://www.revisium.com/ai/ Скачайте скрипт на локальный компьютер, распакуйте архив и измение в строке

define('PASS', 'put_any_strong_password_here')

значение put_any_strong_password_here на придуманный вами пароль.

Проверьте, что во временных папках внутри директории сайта, нет неизвестных вам php и js скриптов. Выполните команду поиска временных папок:

find /home/user/data/www/o-smaug.ru/ -type d \( -iname '*upload*' -o -iname '*tmp*' \)

Затем выполните поиск в них php файлов командой:

file /home/user/data/www/o-smaug.ru/* | grep -i php

Аналогично для js файлов:

file /home/user/data/www/o-smaug.ru/* | grep -i js

Проверьте, нет ли перенаправлений в файле .htaccess, командой:

find /home/user/data/www/o-smaug.ru/ -type f -iname '*htaccess' -exec grep -i rewrite {} \;

Выполните команду поиска вирусов и вредоносного кода по шаблону:

egrep -ril “base64_decode|auth_pass|shell_exec” /home/user/o-smaug.ru

где base64_decode|auth_pass|shell_exec - шаблоны поиска.

Наиболее используемыми шаблонами здесь являются:

FilesMan, try{document.body, String["fromCharCode"], auth_pass, fromCharCode,
shell_exec, passthru, system, base64_decode, chmod, passwd, mkdir,
eval(str_replace, eval(gzinflate, ="";function, "ev"+"al",md5=,ss+st.fromCharCode, e2aa4e

Поиск причин взлома

CMS

Одной из причин проникновения злоумышленников на сервер являются устаревшие версии CMS и их модулей. Если на сервере установлены CMS, то проверьте, установлены ли все последние обновления.

Для проверки текущей версии CMS найдите и просмотрите следующие файлы:

CMS Имя файла
Joomla changelog.txt
Wordpress wp-includes/version.php
DLE engine/data/config.php, engine/ajax/updates.php,  upgrade/index.php (параметр $dle_version)
1C-Битрикс /bitrix/modules/main/classes/general/version.php, /bitrix/admin/update_system.php
Drupal changelog.txt, /modules/system/system.info

Используйте панель управления ISPmanager для управления версиями CMS.

Права на директорию сайта

Причиной взлома сайта может быть неправильная настройка прав доступа пользователей к основной директории сайта.

Используйте панель инструментов ISPmanager для управления доступом к сайту. В разделе “Система” -> “Менеджер файлов” откройте основную папку сайта и проверьте, что столбцы “Владелец” и “Группа” содержат имя пользователя-владельца сайта. Нажмите кнопку “Атрибуты” на панели инструментов для изменения этих значений.

Использование mpm_prefork допускает такие имена владельца сайта: apache, www, www-data. Мы рекомендуем использовать mpm_itk для укрепления безопасности.

На папках общего доступа, таких как upload, tmp, может быть имя владельца 777. Чтобы убедиться в том, что этот владелец установлен только на необходимые файлы и папки, выполните команду

find ./ -perm 0777

В результате команды вы увидите все папки и файлы, владельцем которых является 777.

Shell

Шелл-скрипт (shell script) - вредоносный скрипт, который злоумышленники загружают на сервер для дальнейшего управления. Чтобы проверить, были ли загружены шелл-скрипты на сервер и когда, выполните команду:

stat shell.php

Если скрипты обнаружены, то просмотрите историю обращения к ним, которая хранится в файле o-smaug.ru.access.log, где o-smaug.ru - имя сайта. Для этого выполните команду:

grep shell.php /var/www/httpd-logs/o-smaug.ru.access.log

SSH/FTP коннекты

Проверьте, кто и когда успешно заходил на сервер через SSH. Для этого выполните команду:

grep -i accept /var/log/secure

Обратите внимание на IP-адреса в строках с “Accepted password for…”.

Проверьте, какие файлы были загружены на сервер по FTP, выполнив команду:

awk ‘($12~/i/){print}’ /var/log/xferlog

Очистка сайта

Обновите CMS, если версии устарели, проверьте, что установлены только необходимые модули и обновите их версии.

Удалите вручную все найденные вредоносные скрипты, сделав предварительно резервные копии этих файлов. Если в результате удаления сайт перестает правильно работать, то восстановите их и найдите строки с вредоносным кодом. Удалите эти строки, оставив файлы.

Назад к категории