
Если ваш сайт рассылает спам, это портит репутацию домена и грозит попаданием в чёрные списки. Разберём, как обнаружить вредоносный скрипт, остановить рассылку и восстановить доверие к домену.
Коротко
- Спам с сайта почти всегда связан с уязвимостью в коде, плагинах или слабым паролем.
- Первые признаки — жалобы пользователей, рост исходящего трафика и попадание IP в спам-базы.
- Найти скрипт-отправитель можно через логи, поиск по файлам и анализ почтовых заголовков.
- После удаления вредоносного кода проверьте сайт на другие бэкдоры и обновите ПО.
- Вывод домена из спам-баз может занять от нескольких дней до недель.
Как понять, что сайт рассылает спам
Чаще всего владелец узнаёт о проблеме от хостинг-провайдера: тот фиксирует аномальную активность и блокирует отправку писем. Другой сценарий — жалобы получателей, которые видят в письмах ваш домен в обратном адресе. Иногда сигналом служит падение доставляемости легитимных писем.
Проверьте косвенные признаки:
- В панели хостинга вырос объём исходящего трафика, особенно по порту 25 (SMTP).
- В логах почтового сервера — тысячи писем на незнакомые адреса.
- Ваш IP или домен появился в публичных спам-базах (Spamhaus, Barracuda, DNSBL).
- На сайте найдены подозрительные файлы с названиями вроде mailer.php, send.php, tmp_*.php.
- Пользователи жалуются на спам, который приходит будто бы с вашего адреса.
Типичные причины: почему сайт стал рассыльщиком спама
В 90% случаев корень проблемы — взлом. Злоумышленник получает доступ к файлам сайта через уязвимость в CMS, плагине, теме или через украденный пароль администратора. После этого он загружает PHP-скрипт, который массово отправляет письма через функцию mail() или напрямую через SMTP.
Реже встречаются легальные формы на сайте без защиты от спама (капчи, honeypot). Если на сайте есть форма обратной связи или подписки, боты могут использовать её для рассылки. В этом случае письма уходят с вашего домена, но скрипт не является вредоносным — просто нет защиты.
| Причина | Как проявляется | Сложность устранения |
|---|---|---|
| Взлом CMS (WordPress, Joomla и др.) | В корне сайта появляются чужие PHP-файлы, растёт нагрузка | Средняя: нужно найти и удалить все бэкдоры |
| Уязвимый плагин или тема | Спам начинается после обновления или установки компонента | Низкая: обновить или удалить компонент |
| Слабый пароль админки | В логах видны входы с чужих IP | Низкая: сменить пароль, включить 2FA |
| Незащищённая форма на сайте | Спам уходит через форму обратной связи | Средняя: добавить капчу, honeypot, ограничения |
| Уязвимость в стороннем скрипте | Спам-рассылка через устаревший модуль (например, старый форум) | Высокая: найти и обновить или удалить скрипт |
Пошаговый план: как найти скрипт, рассылающий спам
Действуйте в следующем порядке, чтобы не упустить важные детали. Если не уверены в своих силах, лучше обратиться к специалистам.
- Проверьте логи почтового сервера. В панели хостинга найдите раздел с логами (обычно /var/log/maillog или exim_mainlog). Ищите записи с большим количеством отправленных писем за короткое время. В логах будет указан скрипт, который инициировал отправку (например, /home/user/public_html/wp-content/uploads/2024/01/mailer.php).
- Просканируйте файлы сайта. Скачайте дамп файлов на локальный компьютер и выполните поиск по ключевым словам: eval(, base64_decode, mail(, fsockopen, sendmail. Обратите внимание на недавно изменённые файлы и файлы с подозрительными именами.
- Проверьте базу данных. Вредоносный код может быть внедрён в контент страниц, виджеты или настройки темы. Ищите подозрительные записи в таблицах wp_options, wp_posts (для WordPress) или аналогичных.
- Используйте онлайн-сканеры. Бесплатные сервисы вроде Sucuri SiteCheck или VirusTotal могут выявить известные вредоносные сигнатуры, но не гарантируют полного обнаружения.
- Сравните с резервной копией. Если есть свежий бэкап до момента заражения, сравните файлы и базу данных. Это поможет быстро найти изменения.
Как остановить рассылку и удалить вредоносный код
После обнаружения источника нужно действовать быстро, но аккуратно. Остановить отправку можно несколькими способами:
- Временно отключите функцию mail() в настройках PHP (disable_functions в php.ini) или заблокируйте исходящие соединения на порт 25 через файрвол хостинга.
- Переименуйте или удалите найденный вредоносный файл. Если не уверены, что файл безопасен, лучше переместить его в карантин (изменить расширение на .bak).
- Удалите все подозрительные файлы, найденные при сканировании. Проверьте cron-задачи: злоумышленники часто прописывают автоматический запуск скрипта.
- Смените все пароли: администратора CMS, FTP, базы данных, панели хостинга. Используйте сложные уникальные пароли.
- Обновите CMS, все плагины и темы до последних версий. Удалите неиспользуемые компоненты.
Если вы не готовы делать это самостоятельно, закажите профессиональное удаление вирусов и защиту сайта в Perfect Team. Специалисты проведут полный аудит, найдут все бэкдоры и восстановят работоспособность.
Сайт в спам-базах: как проверить и что делать
Попадание в спам-базы — закономерное следствие массовой рассылки. Проверить статус домена и IP можно на сайтах Spamhaus, Barracuda Reputation Block List, SORBS, SpamCop. Обычно достаточно ввести IP-адрес сервера или домен в форму проверки.
Если ваш адрес в чёрном списке, не паникуйте. После устранения источника спама большинство баз автоматически удаляют запись через некоторое время (от нескольких часов до нескольких недель). Для ускорения можно подать заявку на удаление вручную, но только после полной очистки сайта.
Параллельно проверьте репутацию домена в почтовых сервисах (Gmail Postmaster Tools, Microsoft SNDS). Если домен новый и ещё не имеет репутации, рассылка спама могла её испортить. Восстановление займёт время, но при регулярной отправке легитимных писем репутация постепенно восстановится.
Профилактика: как защитить сайт от повторного заражения
Чтобы спам с сайта на почту больше не отправлялся, соблюдайте базовые правила безопасности:
- Регулярно обновляйте CMS, плагины и темы. Включайте автоматические обновления, если это возможно.
- Используйте сложные пароли и двухфакторную аутентификацию для всех входов.
- Ограничьте права на запись для директорий. Папки uploads, cache, tmp должны иметь минимально необходимые права (обычно 755 для папок и 644 для файлов).
- Установите плагин безопасности (например, Wordfence для WordPress) и настройте регулярное сканирование.
- Делайте резервные копии сайта и базы данных не реже раза в неделю.
- Используйте защиту от спама в формах: капчу, honeypot, ограничение по частоте отправки.
Если вы не хотите заниматься этим самостоятельно, рассмотрите услугу администрирования сайта от Perfect Team. Мы возьмём на себя мониторинг, обновления и защиту вашего ресурса.
Что делать, если не получается найти скрипт самостоятельно
В сложных случаях вредоносный код может быть замаскирован под системные файлы, зашифрован или разбит на несколько частей. Например, скрипт-отправитель может лежать в папке с изображениями и иметь расширение .jpg, но вызываться через include из другого файла. Или использоваться легитимная функция WordPress wp_mail() через внедрённый в тему код.
Если вы потратили больше пары часов и не нашли источник, лучше обратиться к специалистам. Профессиональный аудит безопасности включает:
- Полное сканирование файловой системы и базы данных на наличие вредоносных сигнатур и аномалий.
- Анализ логов сервера и почтовых логов для выявления источника рассылки.
- Проверку на наличие бэкдоров (скрытых входов) и следов взлома.
- Удаление всех вредоносных файлов и закрытие уязвимостей.
- Рекомендации по усилению безопасности.
Perfect Team с 2007 года помогает владельцам сайтов справляться с подобными проблемами. Мы знаем типичные сценарии заражения и умеем быстро находить даже хорошо спрятанные скрипты. Обратитесь к нам, если нужна помощь — вернём ваш сайт в нормальное состояние и защитим от повторных атак.
Частые вопросы
Как быстро остановить спам-рассылку с сайта?
Самый быстрый способ — временно заблокировать отправку почты на уровне хостинга (отключить функцию mail() или порт 25) и удалить найденный вредоносный скрипт. Затем нужно провести полную очистку сайта.
Может ли сайт рассылать спам без взлома?
Да, если на сайте есть незащищённая форма (без капчи и других методов защиты), боты могут использовать её для отправки спама. В этом случае достаточно добавить защиту от спама.
Как проверить, попал ли мой сайт в спам-базы?
Воспользуйтесь онлайн-сервисами проверки: Spamhaus, Barracuda, SORBS, SpamCop. Введите IP-адрес вашего сервера или домен — сервис покажет, есть ли запись в чёрном списке.
Сколько времени нужно, чтобы выйти из спам-баз после очистки сайта?
Обычно от нескольких дней до нескольких недель. Большинство спам-баз автоматически удаляют запись после прекращения рассылки, но можно подать заявку на ускоренное удаление.