- Хостинг
- Услуги
- Помощь
- Акции
Помощь
Что делать, если сайт взломан
Признаками того, что сайт взломан, могут быть:
- рассылка спам-писем с сервера;
- Deface (подмена страницы сайта на другую, чаще всего рекламную);
- резкое увеличения потока трафика;
- перенаправления с сайта.
В ситуации, когда сайт взломан, выясните, насколько сильный нанесен вред со стороны злоумышленников, затем определите причины взлома и проведите очистку сайта.
Анализ последствий взлома
Проверьте сайт на вирусы бесплатным он-лайн сервисом. Мы рекомендуем Dr.Web.
Подключитесь к серверу, где расположен сайт, по 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, если версии устарели, проверьте, что установлены только необходимые модули и обновите их версии.
Удалите вручную все найденные вредоносные скрипты, сделав предварительно резервные копии этих файлов. Если в результате удаления сайт перестает правильно работать, то восстановите их и найдите строки с вредоносным кодом. Удалите эти строки, оставив файлы.