В этой статье мы расскажем, как остановить рассылку спама с VPS.
Что сделать, если с вашего сервера рассылается спам:
- проверьте сервер на наличие вирусов,
- включите лог сообщений в файле php.ini,
- очистите очередь сообщений.
Проверьте сервер на вирусы
Вы можете использовать сканер Linux Malware Detect. Для этого:
- 1 Подключитесь к серверу по SSH.
-
2
Установите сканер с помощью команд:
cd /usr/local/src/ wget http://www.rfxn.com/downloads/maldetect-current.tar.gz tar -xzf maldetect-current.tar.gz cd maldetect-* sh ./install.sh
-
3
Запустите сканирование с помощью команды:
maldet -b -a /
-
4
Проверьте, закончилось ли сканирование, с помощью команды:
ps aux | grep [m]aldet
Если сканирование закончилось, вывод команды будет пустым. Если содержимое сервера ещё проверяется, вы увидите такое сообщение:
ps aux | grep [m]aldet root 12429 17.8 0.0 118408 6304 pts/0 S 09:24 1:35 bash /usr/local/sbin/maldet -b -a /var/www/user/data/www/site.ru/
-
5
Когда закончится сканирование, проверьте результат с помощью команды:
maldet -e
Примерный вывод команды:
HOST: 5-63-155-200.xen.vps.regruhosting.ru SCAN ID: 160721-1022.31393 STARTED: Jul 21 2016 03:19:34 +0400 COMPLETED: Jul 21 2016 10:22:42 +0400 ELAPSED: 0s [find: 0s] PATH: /var/www/user/data/www/mysite.ru/ TOTAL FILES: 37845 TOTAL HITS: 1 TOTAL CLEANED: 0 WARNING: Automatic quarantine is currently disabled, detected threats are still accessible to users! To enable, set quarantine_hits=1 and/or to quarantine hits from this scan run: /usr/local/sbin/maldet -q 160721-1022.31393 FILE HIT LIST: {MD5}php.cmdshell.unclassed.4690 : /var/www/user/data/www/site.ru/pgtz.php
В нижней части вывода команды приведен список файлов, в которых найдены угрозы (FILE HIT LIST). В нашем примере файл один: /var/www/user/data/www/site.ru/pgtz.php, в нём найден cmdshell. Этот файл нужно проанализировать.
Если у вас заказана панель управления ispmanager, можно воспользоваться антивирусом Virusdie. Он уже интегрирован в ispmanager и подключается через нее.
Включите лог сообщений phpmail
-
1
В корневой папке сайта создайте файл info.php. Добавьте в него такое содержимое:
<?php phpinfo(); ?>
-
2
Перейдите по адресу site.ru/info.php, где site.ru — ваше доменное имя. Если файл создан корректно, вы увидите такую страницу:
Вы можете добавить логирование почты только для конкретного сайта или для всех сайтов на сервере.
- Чтобы добавить настройки для одного сайта, внесите записи в файл, путь к которому указан в «Loaded Configuration File». В нашем примере это /var/www/php-bin/user_name/php.ini.
- Чтобы добавить настройки для всех сайтов на сервере, внесите записи в файл php.ini, путь к которому указан в строке «Configuration File (php.ini) Path». В нашем примере путь до общего файла php.ini выглядит так: /opt/php/5.3/etc/php.ini, где 5.3 — ваша версия PHP. Если на сервере расположено несколько сайтов с разными версиями PHP, повторите запись в php.ini для всех версий PHP.
Права на файл php.ini могут ограничивать запись в него.
Перед изменением php.ini разрешите запись в него через панель ispmanager или через SSH при помощи команды:
chmod +w /путь/php.ini
-
3
Чтобы включить логирование сообщений, добавьте код в конец файла php.ini:
mail.add_x_header = On mail.log = "/var/tmp/php.mail.log"
Где /var/tmp/php.mail.log — путь до файла, в который будет записываться лог отправки сообщений.
-
4
Назначьте файлу php.mail.log права на запись с помощью команды:
chmod +w /var/tmp/php.mail.log
Также вы можете назначить права через панель ispmanager.
-
5
Перезапустите сервер Apache, для этого выполните команду:
service apache2 restart
service httpd restart
Готово, вы включили логирование сообщений.
Почистите очередь сообщений
- 1 Подключитесь к серверу по SSH.
-
2
Выполните команду в зависимости от вашего почтового сервера:
exim -bpc
## узнать количество писем в очередиexipick -zi | xargs exim -Mrm
## удалить все замороженные сообщения из очередиexipick -i | xargs exim -Mrm
## удалить все сообщения из очереди
postqueue -p| wc -l
## узнать количество писем в очередиpostsuper -d ALL
## очистить очередь
mailq | wc -l
## узнать количество писем в очередиfind /var/spool/mqueue -type f -exec rm -f {} \;
## очистить очередь
Обратите внимание
Время выполнения команд напрямую зависит от количества сообщений в очереди.
Что делать, если сайт заражен
Вот что можно сделать, если сайт заражен:
- 1 Смените все пароли доступа к серверу.
- 2 Обновите CMS и все плагины, шаблоны, модули.
-
3
Проверьте список запущенных процессов на наличие вредоносного ПО. Для этого подключитесь к серверу по SSH и выполните команду:
pstree
Вы получите вывод запущенных процессов. В этом примере вредоносное программное обеспечение — процесс под именем «ps», так как оригинальный процесс запускается под «bash»:
-
4
Проверьте наличие исходящих соединений у процесса с помощью команды:
lsof -i
В нашем примере видно, что процесс «ps» создает подозрительные подключения:
-
5
Узнайте детальную информацию по запущенному процессу:
lsof -p ID
Где ID — это PID процесса из вывода. Обратите внимание на строки cwd и txt. В них указан путь до директории, в которой запущен процесс:
Эта информация поможет вам найти, из какого каталога запускается вредоносный процесс, и удалить вирус.
Обратите внимание
Создайте резервную копию сайта, прежде чем удалять заражённые файлы. Если удалить критически важный файл, появятся проблемы с доступностью сайта.
Дополнительные рекомендации по проведению рассылок
Рекомендации от популярных служб:
Чтобы ваши письма не попадали в спам:
- во всех сообщениях рассылки используйте один и тот же адрес «От»;
- email, с которого осуществляется рассылка, должен существовать. Если настроен автоответчик, в тексте автоответчика должны присутствовать четкие инструкции, следуя которым с вами можно связаться;
- ваш клиент должен иметь возможность отказаться от рассылки при помощи четкой и заметной ссылки, ведущей на страницу подтверждения отмены подписки и не требующей от него каких-либо дополнительных данных, кроме подтверждения;
- обновляйте вашу базу подписчиков. В вашей базе могут присутствовать уже несуществующие адреса, с которых могут приходить отбойники. Такие адреса необходимо удалять из списков рассылки;
- не рассылайте сообщения пользователям, которым не интересна ваша рассылка. Желательно периодически запрашивать согласие пользователей на получение сообщений в дальнейшем. Со временем интерес к вашей рассылке может ослабнуть и гораздо лучше, если пользователь отпишется от вашей рассылки, нежели отметит ваше сообщение как спам.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊