Был у меня такой случай, что внедрили мне на сервер нехорошие скрипты, которые принялись рассылать спам. При этом я периодически видел в логах их, удалял, очищал, но возникала проблема изначально определить источник рассылки этого спама. Писем становилось всё больше, сервер начинал виснуть, нужно было решение и после очередной очистки я его таки нашёл. Оно заключалось в том, чтобы с помощью директив в php.ini добавить лог, который будет добавлять в заголовок писем строку такого вида:
X-PHP-Originating-Script: <UID>:<имя скрипта>.php
Это поможет найти скрипт, который спамит с вашего сервера или хостинга и соответственно убрать его. Способ я подсмотрел у ревизиума, который занимается очисткой сайтов, но думаю он пригодится и в публикации на этом сайте.
Чтобы найти источник спам-рассылки на сайте, нужно в файле php.ini включить логирование рассылаемой почты директивами:
mail.add_x_header = On
mail.log = <путь до вашего пользовательского каталога>/phpmail.log
Это хороший способ сделать заранее, а как найти источник спама с сервера, если вы не были готовы и не прописали директивы? Здесь нужен другой подход. Первым делом смотрите на логи писем и выбираете дату и время отправки нескольких писем, далее переходите в access_log сервера и смотрите по этой дате и времени обращение методом POST. Если находите, сравниваете несколько вариантов и определяете скрипт, который делает эту спам рассылку с вашего сервера.
Ну и соответственно после выявления проблемы не забудьте установить указанные в первом способе директивы и далее постарайтесь проверить скриптом ai-bolit все файлы сайта, так как удалённый скрипт может быть не единственным на сайте.
Какой способ есть для определения источника спам-рассылки с сервера, если не были прописаны директивы в php.ini файле?
Возможно ли найти источник спам-рассылки на сервере, если не были прописаны директивы для логирования в файле php.ini? Какой подход следует использовать в данной ситуации?
Ситуация, которую вы описываете, действительно может быть достаточно неприятной и привести к серьезным проблемам с производительностью сервера. Ваша рекомендация по добавлению заголовка X-PHP-Originating-Script в логи действительно может существенно облегчить поиск источника спама и помочь в поддержании порядка на сервере.
Однако мне интересно узнать, какие еще методы вы использовали или могли бы порекомендовать для выявления и устранения несанкционированных скриптов? Задумывался ли ты о том, чтобы использовал средства мониторинга, такие как системы обнаружения вторжений (IDS), которые могут помочь в выявлении подозрительных действий на сервере? Например, такие инструменты, как Fail2Ban, могут блокировать IP-адреса, которые пытаются злоумышленно получить доступ к вашему серверу.
Также хотелось бы уточнить, находил ли ты какие-либо дополнительные индикаторы, указывающие на наличие вредоносных скриптов, помимо лога почты? Бывает полезно проверять не только логи почты, но и системные логи и файлы журналов веб-сервера. Например, запросы к несуществующим страницам могут указывать на попытки эксплуатации уязвимостей.
Кроме того, стоит упомянуть о том, что регулярный аудит исходного кода и использование средств для выявления вредоносного ПО могут тоже помочь в предотвращении подобных инцидентов в будущем. Может, есть какие-то инструменты, которые вы могли бы порекомендовать на основе своего опыта?