Содержание
В статье рассмотрим, как выявить такие угрозы, остановить их и предотвратить повторное появление.
1. Введение
Спамер на хостинге — это злоумышленник, который размещает скрипты в вашем окружении (shared/shared‑VPS/VPS/dedicated) и использует его ресурсы для рассылки нежелательных писем или распространения вредоносного ПО. Этот инцидент приводит к блокировке IP‑адресов, попаданию в чёрные списки, ухудшению репутации домена и даже санкциям со стороны хостера. Важно понимать два основных типа угроз:
Outbound-спам — отправка почты с сервера, часто через порт 25, без ведома владельца.
Спам-инфекции на сайте — вредоносный код, который отправляет почту или выполняет сторонние действия.
2. Признаки отправки спама с сервера
2.1 Повышенная активность на порту 25
При заражении ботнет-скрипты или вирусы массово отправляют почту через SMTP-порт (25), что вызывает высокий трафик, не исходящий от MTA (Exim/Postfix). Логирование или Netstat покажут множество соединений на непривычные адреса.
2.2 Большая очередь писем
Пока спам скрипт интенсивно работает, очередь сообщений в MTA растёт. Команды типа `exim -bpc` или `exim -bp` позволят увидеть кол‑во и подробности писем.
2.3 Необычные заголовки: X‑PHP-Origin, X‑Mailer
Спам-скрипты добавляют атипичные заголовки, по которым можно фильтровать и идентифицировать подозрительные письма.
3. Как определить источник спама
3.1 Мониторинг сетевых соединений и процессов
Используйте:
, чтобы найти PID процесса, открывающего 25‑й порт. Затем через `ps` или `lsof` выясните, какой скрипт или программа инициировала соединение.
3.2 Анализ логов Exim
Просмотрите файл `/var/log/exim_mainlog`, решив, где запускаются подозрительные почтовые скрипты. Команда:
поможет определить каталоги с наибольшей активностью.
Затем переходите в эти директории и исследуйте файлы: ищите скрипты, изменения или лазейки.
3.3 Логи FTP / передачи
Просмотрите `transfer.log`, FTP‑логи, журналы загрузок — обратите внимание на свежие файлы `.php`, `.cgi`, `.pl`, `.py`, особенно если они появились ночью или без объяснения.
3.4 Мониторинг времени изменения и идентификаторы пользователей
Греп по recently modified script показывает, что запускался. Анализ UID процесса определяет, от какого пользователя был выполнен скрипт.
4. Остановка активной рассылки
4.1 Блокировка выходящих соединений
Через iptables можно временно заблокировать все исходящие соединения на порт 25, кроме тех, которые выполняются MTA‑процессом. Это позволит задержать спам и провести расследование.
4.2 Остановка исполняемых процессов
После обнаружения PID спам-скрипта — используйте `kill -STOP`, чтобы приостановить его, затем `kill -9` после расследования. Если скрипт исполняется как cron — удалите соответствующее задание.
4.3 Очистка очереди
После удаления вредоносного скрипта, удалите подтверждённые спам-сообщения командой `exim -Mrm EximID`. Предварительно убедитесь, что не удаляете легитимные письма.
5. Выявление и удаление вирусов на сайте
5.1 Автоматизированные сканеры
ClamAV, Maldet — базовая проверка на известные вирусы.
cPGuard (для cPanel) — автоматическая защита и сканирование на malware.
5.2 Веб‑фаерволы и практика «honeypot»
Используйте WAF, honeypot-системы, которые фиксируют необычные попытки загрузки скриптов или доступов к админ-панели.
5.3 Вирусные онлайн‑проверки
Передайте подозрительный URL в VirusTotal или Sandbox‑систему (например, Hybrid‑analysis) — безопасно оценивает, есть ли вредоносный код.
6. Предотвращение повторной рассылки
6.1 Ограничение доступа к SMTP
Форсируйте выход через централизованный MTA с авторизацией и rate‑лмитами.
Заблокируйте порт 25 для всех, кроме пользователя Exim/Postfix.
6.2 Аутентификация почтовых доменов
Настройте SPF, DKIM, DMARC — это предотвращёт спуфинг, захват домена и объективное попадание в чёрные списки.
6.3 Антиспам системы
SpamAssassin, MailScanner, Amavis — включают фильтры Bayesian, DNSBL, URIBL, проверку подписей и правил.
Облачные решения (SpamHero, TitanHQ, Hornetsecurity) — фильтрация до входа на сервер сотрудника/сайта.
6.4 Мониторинг и отчётность
Анализируйте логи, уведомления хостера, очереди, исключайте “dictionary harvest attacks”, когда спамеры проверяют существование адресов на вашем домене.
6.5 Закрытие уязвимостей
Обновляйте CMS, плагины, темы; запрещайте загрузку исполняемых скриптов в публичные папки; проводите регулярные аудиты безопасности.
7. Реакция после инцидента
1. Изоляция: мгновенно отключите сервер/аккаунт от сети.
2. Сканирование и чистка: используйте ClamAV/Maldet/cPGuard, вручную удаляйте подозрительные файлы.
3. Реинсталляция: при комплексных заражениях — полная переустановка ОС/сервера.
4. Восстановление: восстановите данные из резервной копии, проверенной вручную.
5. Оповещение: если IP попал в RBL (Spamhaus и др.), проведите делистинг, объяснив причину инцидента.
6. Усиление защиты: настройте rate‑лимиты, WAF, экспертные решения, усиленную аутентификацию.
8. Рекомендации
Обнаружение - Мониторинг netstat, Exim-очередей, сканирование файлов;
Устранение - Остановка процессов, удаление скриптов, очистка очереди ;
Анализ - Проверка логов, FTP, UID, каталогов с активностью ;
Защита - SPF/DKIM/DMARC, SMTP-блокировка, фильтры спама, обновления;
Регулярность — ключ к успеху. Даже единичный пропуск позволяет спамерам быстро скомпрометировать систему. При внедрении этих практик риск повторного инцидента значительно снижается.
9. Краткий чек-лист
1. Мониторинг трафика и очередей.
2. Поиск и остановка подозрительных скриптов.
3. Сканирование антивирусами и WAF.
4. Усиление SMTP и почтовых политик.
5. Инсталляция anti‑spam/anti‑virus платформ.
6. Обновление и аудит безопасности.
9. Команды, которые помогум
Тербуется root доступ.
Как проверить, продолжается ли рассылка прямо сейчас
1. Вывод новых писем в реальном времени:
Оставь на 30–60 секунд — если появится новое `<=
2. Посмотри, сколько писем в очереди и как часто она растёт:
Полезные поля:
`Count` — сколько писем.
`Oldest` — возраст самого старого письма.
`Newest` — если здесь меньше минуты — рассылка продолжается.
3. Проверка, кто отправляет письма (важно!):
Ты увидишь каталоги, откуда запускаются скрипты (очень полезно для поиска рассыльщика).
Дополнительные тревожные сигналы
Логи содержат:
Это значит:
Кто-то с сервера пытается авторизоваться SMTP-пользователями `nameuser1`, `nameuser2`, `nameuser3` и т.д.
Это попытка перебора логинов — признак взлома или вредоносного скрипта.
Что делать дальше (по шагам)
1. Останови очередь Exim полностью:
2. Очисти очередь:
3. Проверь, откуда идут письма:
Это покажет путь к скриптам.
4. Запрети отправку вообще (если временно):
В Exim конфиге `/etc/exim/exim.conf` или через ISPmanager включи лимит на отправку писем или отключи отправку локальным пользователям.
5. Ищи вредоносные скрипты:
Таким образом, процесс защиты хостинга от спама и вредоносных рассылок представляет собой чёткий цикл обнаружения, реагирования, очистки и профилактики. Такая системная работа позволит избежать потери репутации, блокировок и технических проблем.