Содержание:
Купить хостинг для сайтов в России, Вы можете у нас.
Практика показывает, что в основном заражение сайта происходит через системы управления контентом (CMS) и дополнения\расширения к ним. Вы либо скачиваете из непроверенного источника уже зараженный файл, либо скачиваете из официального, но продукт с уязвимостью, о которой пока никто не знает.
Злоумышленники постоянно сканируют интернет в поисках уязвимых сайтов. Когда находят — загружают в файлы сайта вредоносный код. Он-то и рассылает спам, перенаправляет пользователей на зараженные страницы или крадет данные.
Бывает и по-другому, но чаще всего причина именно в этом.
Как понять, что сайт заражен?
Обычно о заражении сообщает браузер, настольный антивирус или хостер. Вы так же можете периодически проверять Ваш сайт через бесплатные системы проверки:
Rescan.Pro (https://rescan.pro/ )
Kaspersky VirusDesk (https://virusdesk.kaspersky.ru/ )
VirusTotal (https://www.virustotal.com/ru )
Что делать, если сайт оказался заражен?
Установите новые версии CMS и плагинов. Как только разработчик узнает об уязвимостях, их устраняют и выпускают обновленные версии. Используйте обновления исключительно с официальных сайтов: WordPress, Joomla, Drupal.
Избавьтесь от пиратских плагинов и не используйте плагины из непроверенных источников. Скачивайте плагины исключительно от официальных веб-разработчиков. Если на просторах интернета Вы нашли бесплатный аналог платного плагина, то скорее всего он уже заражен вирусом. Лучше немного потратиться на оригинальное ПО, чем потерять ценные данные и тратить кучу средств и времени на лечение сайта.
Измените пароли. Нередко вирус попадает на сайт пользуясь паролем от админ-панелей FTP или CMS, которые находит посредством взлома электронной почты. Поменяйте пароли от панели управления веб-сервером, аккаунтов FTP и SSH, MySQL, CMS. Пользуйтесь более сложными паролями. То есть используйте не менее 10 символов, заглавные и строчные буквы латинского алфавита, цифры и специальные символы. Храните свои пароли в защищенном месте, используя специальный софт.
Настройте права у файлов. С помощью FTP или в панели ISPmanager измените права доступа к файлам сайта. Права необходимы для определения тех, кто может работать с кодом. Для файлов сайта подходит значение 644 (изменять содержимое может только администратор, читать и исполнять код — любой посетитель сайта), для директорий, как правило устанавливается значение 755 (администратор может читать и редактировать, все остальные — только читать содержимое).
Восстановите резервную копию. Если Вам известно, когда сайт заразился, восстановите созданную до заражения резервную копию. Это избавит от необходимости «лечить» ресурс.
Заблокируйте неиспользуемые функции в конфигурации PHP. В конфигурации PHP (раздел "PHP" в панели управления) добавьте в графу disable_functions функции из списка: passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
Лечим сайт вручную
Лечить сайт можно вручную и с помощью антивирусов.Если вы умеете работать с консолью сервера, очистите код сайта вручную. Для начала найдите чужеродный код: проверьте зараженные файлы, сравните их с незараженными из резервной копии.
После, используя тип файла и фрагмент кода, найдите все зараженные файлы и удалите вредоносный код.
Пример команды для поиска паттернов вирусов в файлах php* и htm* директории /var/www/u******/data/www/. (где u***** - Ваш логин хостинга)
grep -Rils --include=\.{php,htm*} -e 'b=4594' -e 'e2aa4e' -e 'v58f57b98 = 0' -e 'forexam\@pandion.im' -e 'pathToDomains' -e 'if(navigator.userAgent.match(' -e 'var vst = String.fromCharCode' -e 'Menu\files\/jquery.js' -e 'i5463 == null' -e 'r57.gen.tr' -e '\/rsize.js' -e 'feelthesame.changeip.name' -e '40,101,115,110,98,114,105,110' -e 'c99sh' -e 'Shell by' -e ' sh_ver' -e '\.tcpflood' -e 'c999sh' -e 'Array(base64_decode' -e 'Attacker Perl File' -e 'bogel = ' -e '(\!function_exists(\"getmicrotime\"))' -e'\$d=substr' -e 'WSO ' -e 'r57shell' -e 'msg=@gzinflate(@base64_decode(@str_replace' -e '6POkiojiO7iY3ns1rn8' -e ' mysql_safe' -e 'sql2_safe' -e 'aHR0cDovLzE3OC4yMTEu' -e 'php function _' -e 'encodeURIComponent(document.URL)' -e '\; if(isset(\$_REQUEST' -e 'UdpFlood' -e 'udp\:\/\/1.1.1.1' -e '\ (md5(\$_POST\[' -e 'header(\"Location\: http' -e 'fx29sh' -e 'c999sh_surl' -e 'c99sh' -e '\/request12.php' -e 'NlOThmMjgyODM0NjkyODdiYT' -e 'semi-priv8' -e 'JHNoX25hbWUgPSAiIj' -e '$shell_name' -e 'UvUbjYH4eJNgF4E1fedl' -e 'killall \-9' -e 'Angel Shell' -e 'c100.php' -e 'c2007.php' -e 'c99 mod Captain Crunch' -e '\$c99sh_updatefurl' -e 'C99 Modified By Psych0' -e 'php-backdoor' -e 'r577.php' -e 'wso shell' -e 'backdoor' -e 'eval(stripslashes(' -e 'Backdoor' -e 'Set WSHshell' -e 'WSHshell.Run DropPath' -e /var/www/u******/data/www/
Как выглядит вредоносный код?
Чаще всего вредоносный код выглядит, как набор символов:
$r9f35db4="\142\141\163\x65\66\64\x5f\x64\145\x63\x6f\x64\145
Часто встречается сочетание слов base64_decode
Возможно «врезка» вредоносного кода в файлы сайта, т.е. он будет просто посреди исполняемого кода. Так же часто имеется большое число пробелов перед вредоносным кодом, т.е. его незаметно, т.к. он расположен за экраном.
Как проверить время последнего изменения файла?Можно проверить все файлы, изменённые менее чем 14 дней назад:
find /var/www/usertest/data/www/ -type f -mtime -14
Это позволит узнать остальные файлы которые пострадали с момента заражения. Их так же лучше проверить используя антивирус.
Анализ логовВам необходимо также проверить логи сайта, т.е. к какому файлу происходило обращение (чаще всего POST запросы), проверить аргументы запроса. Проверить подозрительные файлы, на которые идут запросы. Можно заблокировать IP с которого идут запросы.
Далее необходимо проверить логи панели. Проверить авторизации в панели по странам. Если имеются подозрительные авторизации, то необходимо сменить пароль. Также проверить наличие заданий в «Планировщике», по умолчанию — там нет заданий. Т.е. если Вы туда не добавляли задание, а теперь оно появилось — лучше его проверить и отключить.
Лечим с помощью антивирусовЕсли вы не умеете работать с консолью сервера, используйте готовые решения. Огромные базы паттернов вирусов, распространенных в рунете, содержат два популярных антивируса: Virusdie и AI-Bolit.
Virusdie — платный инструмент. Автоматически находит вредоносный код и удаляет его. Помогает снять санкции браузера.
AI-Bolit — бесплатный сканер вирусов. Проверяет сайт на взлом, вирусы и хакерские скрипты. Анализировать отчет можно самостоятельно. Помощь от специалистов компании-разработчика AI-Bolit — за отдельную плату.
Как предотвратить заражение
- Используйте программное обеспечение только из проверенных источников.
- Генерируйте сложные пароли и не храните их в браузере.
- Настройте создание резервных копий.
- Изолируете сайты друг от друга, для этого создавайте каждый сайт на отдельном пользователе.