Если у вас появились страницы на другом языке, или вставки чужих товаров и так далее, вердикт прост – ваш сайт взломали. Но как узнать о заражении до претензий клиентов и избежать убытков? Ведь в первую очередь страдает репутация. Если клиент зашел первый раз, а ваш сайт был отмечен как вредоносный, второй раз он вряд ли зайдет. Чтобы избежать этого, нужно проверять сайт на наличие вирусов и вовремя лечить.
Как узнать о заражении сайта?
Во-первых, нужно проверить, есть ли вредоносный код и активность на вашем сайте, или нет. Это возможно сделать несколькими способами.
Через панель веб-мастера
Нужно проверить панель веб-мастера поисковых систем. Во вкладке безопасность в случае наличия угроз появится сообщение о блокировке сайта
Пример от Google. Сообщение говорит, что сайт может быть опасен и выводится с предупреждающей пометкой.
Через провайдера
При обнаружении подозрительной активности, провайдер может выслать notification или блокировать ваш сайт. Сообщения о рассылке спама, осуществлении атак, абуз и т.п. могут говорить о наличии вируса на вашем сайте. Провайдеры также блокируют майнинг, если он обнаруживается.
Редирект сайта на неизвестный ресурс
Простая проверка основных урлов сайт так же поможет выявить наличие угроз. Когда появляется непонятная переадресация, можно уверенно сказать, что сайт заражен.
Большая почтовая очередь
Когда ваш сайт начинает рассылку писем, которые не должны быть, ваш сайт заражен. Если в почтовой очереди слишком больше количество писем, или происходит незапланированная рассылка, то нужно дополнительная проверка. Очередь можно проверить online checker-ами.
ониторинг online checker-ами
Хорошо, когда вы сами обнаружили проблему. Плохо, когда вы узнали о ней от недовольных клиентов или провайдера. Поэтому важно проверять сайт на наличие угроз постоянно. В простом варианте это можно сделать online checker-ами. Например сервис от Google, выполняет статическую проверку, проверку на blacklist и многое другое.
Типовые проблемы с вирусами на сайтах
Вирусы рано или поздно проявляют себя. Типовые проблемы, которые создают вирусы на сайте:
- Рассылка спама – Зачастую взлом происходит для массового распространения спама с помощью чужих ресурсов. Это грозит блокировкой IP и попаданием в blacklist.
- Подделка урлов – Происходит привлечение трафика на чужие сайты путем редиректа на чужие магазин, сайты, товары. Возникают проблемы с SEO. Сайт жертвы, при этом падает в рейтинге, а конечный сайт поднимается. Ссылки не всегда легко заметить, особенно когда сайт большой. Иногда, допустим, вирус добавляет баннеры, или заменять часть ссылок.
- Использование в качестве источника для DDoS атак – Сервер заражают и он выступает в качестве зомби сервера для различного рода атак на другие ресурсы. При такой активности, сервер может быть заблокирован провайдером. По этой причине VPS используют для того, чтобы атаковать веб-ресурсы.
Как обнаружить вирус?
После выявления наличия вируса его нужно найти и обезвредить. Обычно поиск вируса идет в виде поиска известных частей вредоносного кода с помощью скриптов. Вариантов, как это сделать несколько.
С помощью простых скриптов
Можно провести сканирование на наличие вкладок в base 64 в коде приложения.
Поиск вставок кода в скриптах сервера:
find /var/www/*/data/www/ -type f -name '*.php' -print0 | xargs -0r grep -Hm1 . | grep -E 'strtoupper.*eval|eval\(|_GLOBAL|eval\(base64|eval\("\\x65\\x76\\x61\\x6C\\x28|gzinflate|"e"."v"."a"."l\(b"."a"."s"."e"|FilesMan|\\x7f\\x45\\x4c|GLOBALS.*global' | awk -F: '{print $1}‘
Сканирование специализированным скриптом ai-bolit.php
ai-bolit.php – бесплатное средство распространенное на рынке СНГ. Оно находит вредоносные скрипты, закладки для хакеров, очевидные уязвимости и т. д. Если в отчете есть информация о заражении или уязвимостях, можно получить бесплатную консультацию или отправить запрос на лечение. Сервис проводит лечение сайта в течение 48 часов. Скачать с официального сайта.
Также сервис предлагает услугу «Сайт под наблюдением», которая позволяет мониторить состояние сайта и устранять угрозы.
Проверка антивирусом
OS сервера можно проверить на наличие вирусов так же, как и обычную. Но проверка и устранение вируса не дает гарантию безопасности от повторного заражения. Для этого нужно устранить именно уязвимость, через которую система была заражена.
Команда «clamscan -i -r путь» – стандартный антивирус Linux. Он частично показывает вирусы, но может не найти все.
Определение спамера в почте
Если сайт заражен, не всегда понятно какой сайт или какой скрипт начинает рассылать спам. И если движок модифицирован, его не возможно залатать быстро.
Просмотр почтовой очереди поможет выявить домен рассылки. Для этого в php.ini добавляем:
- add_x_header on
- log /var/log/php-mail.log
В логе сможем найти скрипт рассылки. Будет видно какой скрипт рассылает спам.
Платный продукт ConfigServer eXploit Scanner (cxs)
ConfigServer eXploit Scanner (cxs) – это утилита, который проводит активное сканирование файлов сервера. Новые и модифицированные файлы так же находятся под контролем CXS. Он выявляет 99% вредоносного кода, опирается как на базы антивирусов, так и свои сигнатуры. Цена – 60$ за сервер, но бессрочно. CXS, помимо обнаружения вирусов и вставок вредоносного кода, также дает рекомендации по их удалению. Но если источник проблемы не исправлен, заражение рано или поздно повториться.
Как лечить сайт от вирусов?
Полноценное решение проблемы с заражением сайта может быть исправлено специалистом по security. Так же можно использовать сервисы, которые проводят автовостановление сайта. В любом случае главный момент – найти уязвимость и предотвратить повторное заражение.
Локально
Для решения проблем возможно привлечь специалиста по security. Он, имея соответствующую квалификация, найдет уязвимости, через которую был произведен взлом, и устранит их.
Некоторые владельцы сайтов с недостаточной квалификацией, как правило, думают, что если антивирус проверил сайт и удалил вирусы, то теперь все ок. Они проводят аналогию с OS обычного компьютера. Но проблема в том что уязвимость, с помощью которой был взломан сайт, остается. Поэтому взлом повторяется в скором времени.
Поэтому веб-профессионал помимо того, что должен найти скрипты, должен еще и устранить уязвимость, через которую вирус проник в систему. Можно, конечно, обновить систему, но исправить код, который вызывает проблему, нужно в любом случае.
Специалист по security стоит 50-300$ в зависимости от сложности сайта.
Внешние сервисы
SiteLock – сервис для автоматического поиска и удаления вирусов и исправления сайта. В ситуациях, когда автоматическое удаление не возможно, необходимо вручную проверить файлы веб-сайта на наличие вирусов и устранить проблему.
Revisium – компания из России, которая оказывает услуги в области security. В своей работе он использует их собственные разработки, благодаря которым может точно выявлять вредоносный код.
ITFB — компания специализирующаяся на предоставлении ИТ услуг, одной из который является очистка сайта от вирусов. Обеспечивает поиск, диагностику, очистку сайта. Одним из преимуществ является низкая стоимость относительно конкурентов.
Как защитить сайт от вирусов?
Защитить свой сайт на 100% сложно, но можно снизить вероятность взлома. Для начала нужно выполнить простые шаги.
Надежный пароль
Иногда не все зависит от специалиста по security. Бывает так, что сайт пересмотрен вдоль и поперек и все уязвимости устранены, но сайт все равно взламывается. В результате оказывается, что администратор использует очень простой логин и пароль и вирусы взламывают сайт банальным подбором. Поэтому надежный пароль – важная часть security.
Как сделать пароль безопасным:
- использовать сложный логин и пароль, состоящий из цифр, строчных и заглавных букв и знаков препинания.
- использовать 2FA код двухфакторной аутентификации.
- устанавливать разные пароли для CMS, FTP, почты и регулярно менять их.
- установить защиту от перебора паролей (например denyhosts).
Отдельный аккаунт для разных сайтов
Иногда владельцы держат 5-6 сайтов на одной учетной записи. В случае взлома, киберпреступник получает доступ ко всем, и заражает вирусом все сайты. Более того, придется платить за проверку и поиск уязвимостей во всех сайтах. И стоимость решения проблемы вырастет в разы. Так что такая экономия вряд ли оправдана.
Ограничение прав доступа
Важно устанавливать максимальные ограничение на права к папкам и файлам сайта. Часто взлом происходит из-за полного отсутствия любых ограничений (режим Бога).
С помощью open_basedir нужно запретить выполнять скрипты в директории uploads.
Плагины из доверенных источников
Важно устанавливать дополнения (темы, плагины и аддоны) только с проверенных источников (предпочтительнее с официальных сайтов). Плагины можно скачать в маркетах, но качество не всегда лучшее, и это нужно учитывать при планировании security. Неизвестный плагин в конечном итоге приведет к заражению.
Backup сайта
Регулярное резервирование сайта поможет в быстром восстановлении системы. При этом backup нужно обязательно хранить на отдельном диске от сайта.
Использование firewall и антивируса
Использование с правильной настройкой firewall, например ConfigServer Security and Firewall (CSF) усложнит жизнь киберпреступнику.
Регулярная проверка антивирусом и скриптом по поиску вставок кода позволит вовремя узнать и даже отразить заражение. Ведь чем меньше времени сайт заражен, тем ниже убытки.
Обязательное наличие антивируса на ПК, с которого производится подключение к серверу.
Обновление систем
Нужно поддерживать сервисы в актуальной версии. Если выявляются серьезные уязвимости, то они обычно устраняются в следующем обновлении. Но что если вы не обновили WordPress например? Получается ваш сайт остается уязвимым, и эта уязвимость известна хакерам. Риск быть взломанным возрастает в разы. Поэтому важно обновлять OS, CMS, WordPress и так далее.
Заключение
У разного размера сайтов разные потребности, разные проблемы и соответственно разные пути решения. Для энтерпрайз характеры специфические проблемы. Сложнее защищать данные клиентов, так как с ними работает много людей и на данные охотятся. А маленькие сайт содержат мало личных данных и, обычно, подвергаются взлому автоматическими системами. На них редко бывает сфокусированная атака. В тоже время даже репутационные риски для небольшого сайта критичнее. Поэтому к security небольших сайтов нужно подходит с такой же ответственностью, как и для энтерпрайз.
Обращайтесь [email protected], мы решим проблемы с вирусами и безопасностью сайтов