Очень часто случается так, что на сервере присутствуют сайты с неактуальными версиями ПО, которые взламываются, через них на сервер заливаются специальные файлы, через которые злоумышленники начинают массово рассылать спам.

Эта проблема довольно серьёзная, так как ip адрес сервера после такой рассылки обычно попадает в различные «чёрные списки», из-за чего и легитимную почту с сервера перестают принимать многие почтовые сервисы. И удалить ip из этих «чёрных списков» не всегда просто. К тому же за рассылку спама сервер может быть заблокирован хостером или дата-центром.

Данный метод мониторинга основан на том, что обычно при массовой рассылке почты с сервера, существенно возрастает количество исходящих писем в почтовой очереди exim. Конечно он не совсем сгодится для серверов, на которых размещается множество клиентов виртуального хостинга, где желательно использовать более точные системы мониторинга, анализирующие содержание самих писем. Но для сервера с небольшим количеством сайтов, где их поведение, и рассылки с них заведомо известны, вполне подходит.

Для начала рекомендую посмотреть, сколько в данный момент сообщений в почтовой очереди exim. Сделать это можно командой:

exim -bpc

Если их там много, стоит проанализировать их содержимое, и выявить причину, почему они находятся в почтовой очереди. Команды, которые вам помогут в этом, можно найти в этой статье.

Пишем скрипт мониторинга почтовой очереди exim

В этом примере администратор получит уведомление на почту, если число писем в почтовой очереди больше 100. Если у вас обычно там больше писем, увеличьте это значение. К тому же к письму будет прикреплён файл с выводом последних 50 строк команды, отображающей почтовую очередь

#!/bin/bash

# Проверяем количество писем в очереди
queue_count=$(exim -bpc)

# Если писем больше 100, отправляем уведомление на почту
if [ $queue_count -gt 100 ]; then
    # Получаем список последних писем в очереди
    queue_list=$(exim -bp | tail -n 50)
    
    # Создаем временный файл для сохранения списка писем
    temp_file=$(mktemp)
    echo "$queue_list" > $temp_file
    
    # Отправляем письмо администратору с вложенным файлом
    echo "Количество писем в очереди превышает 100. Проверьте состояние очереди." | mail -s "Важное уведомление: очередь exim" -a $temp_file admin@site.com
    
    # Удаляем временный файл
    rm $temp_file
fi

Сохраняем этот скрипт в файл, например с именем exim-check.sh в папке /opt/, меняем в нём почту администратора, и даём ему права на выполнение:

chmod +x /opt/exim-check.sh
Проверяем работоспособность скрипта

Дальше рекомендую временно изменить в скрипте количество сообщений, при которых произойдёт отправка уведомления, на число, меньшее, чем находится писем в данный момент в почтовой очереди. Так мы сможем проверить работоспособность уведомлений. Для проверки просто выполните этот скрипт в консоли:

/opt/exim-check.sh

Если не получили письмо с уведомлением, возможно на сервере не установлен mailx. Тогда его нужно установить.

Добавляем скрипт в планировщик

Если уведомление успешно получено, добавляем этот скрипт в планировщик cron, например с временем выполнения каждые 15 минут:

*/15 * * * * /opt/exim-check.sh

Теперь, если количество исходящих писем в почтовой очереди exim превысит указанное вами значение, администратор сервера тут же получит уведомление на почту, и сможет проверить почтовую очередь на предмет рассылки спама.

Нужна профессиональная удалённая помощь с сервером, сайтом, компьютером или ноутбуком?

Свяжитесь со мной любым удобным для вас способом, и получите её быстро и не дорого.

Обсудить задачу

Помогла статья? Поблагодари автора!

Остались вопросы, или есть что добавить? Добро пожаловать в комментарии.

Угостить автора чашечкой кофе

Недавние записи

Критическая уязвимость в Elementor Pro

Критическая уязвимость в Elementor Pro — популярном плагине WordPress

В версии, 3.11.7, плагина Elementor Pro выпущенной  22 марта 2023 года, устранена...
Подробнее
Яндекс Метрика

Битрикс Веб-окружение и проблемы с Вебвизор Яндекс Метрики из-за заголовка X-Frame-Options

В Битрикс Веб-окружении по умолчанию в настройках Nginx прописан заголовок X-Frame-Options, который...
Подробнее
Массовый взлом сайтов на Битрикс 2023

Массовый взлом сайтов на Битрикс 2023

В последнее время ко мне массово обращаются клиенты с жалобой на взлом...
Подробнее
Битрикс - Резервное копирование по FTP

Битрикс: Веб-окружение — бэкапы на удалённый FTP сервер.

1С-Битрикс: Веб-окружение умеет создавать резервные копии только на тот же сервер, на...
Подробнее
find

Команда Find в Linux — как найти и удалить файлы и папки

Команда find предназначена для поиска файлов и папок в файловой системе Linux....
Подробнее
спам

Exim — мониторинг почтовой очереди для выявления исходящего спама

Очень часто случается так, что на сервере присутствуют сайты с неактуальными версиями...
Подробнее
Архиватор Linux

Как работать с архиваторами в консоли Linux (шпаргалка)

Часто при работе в консоли linux приходится создавать архивы, или наоборот распаковывать...
Подробнее
Логирование POST запросов

Логирование POST запросов к сайту

Довольно часто возникают ситуации, когда обычных логов, которые пишет вебсервер, бывает недостаточно....
Подробнее
Linux изменить текстовый редактор

Как в Linux изменить текстовый редактор по умолчанию

В Linux существует несколько текстовых редакторов. Vim, Nano, Mcedit, и другие. У...
Подробнее
выполнение всех агентов на cron

Битрикс — выполнение всех агентов на cron

В Битрикс по умолчанию агенты выполняются на хитах. То есть триггером для...
Подробнее
GA-H61M-S2PV (rev. 2.1) циклическая перезагрузка

Gigabyte GA-H61M-S2PV (rev. 2.1) циклическая перезагрузка (решено)

Принесли в ремонт компьютер с материнской платой Gigabyte GA-H61M-S2PV (rev. 2.1). Компьютер...
Подробнее
MySQL

Перенос большой базы MySQL, если не достаточно места для дампа

Сегодня при переносе сайта с огромной базой MySQL с одного виртуального сервера...
Подробнее
Telegram MTProto Proxy

Как поднять собственный Telegram MTProto Proxy

MTProto, это специальный протокол разработанный командой Дурова, предназначенный для шифрования трафика мессенджера...
Подробнее
Налог на профессиональный доход

Как стать самозанятым в Беларуси — налог на профессиональный доход

С 1 января 2023 года в Беларуси появился новый налоговый режим -...
Подробнее
фсзн

ФСЗН — узнать свой стаж в Беларуси можно через мобильное приложении

1 февраля 2023 года ФСЗН Беларуси запустил мобильное приложение, с помощью которого...
Подробнее
RustDesk

RustDesk — как получить компьютерную помощь онлайн

RustDesk - новая программа с открытым исходным кодом для удалённого управления устройствами....
Подробнее
Microlab M-800 не включается

Акустика Microlab M-800 не включается — Ремонт

Принесли в ремонт компьютерную акустику Microlab M-800 с диагнозом "не включается". У...
Подробнее
умный бесперебойник с WiFi

Делаем умный бесперебойник с WiFi и подключаем его к умному дому с Алисой

Недавно я рассказывал как можно удалённо включать и выключать свой компьютер через...
Подробнее
перенос сайта на другой сервер через SSH

Быстрый перенос сайта на другой сервер через SSH

Современные сайты и их базы данных могут быть очень большими, и перенос...
Подробнее
Включаем и выключаем компьютер удалённо

Включаем и выключаем компьютер удалённо, или через умный дом.

Иногда бывают ситуации, когда нужно включить или выключить компьютер удалённо. Например, включить...
Подробнее
блокируем вредных ботов

Nginx — блокируем вредных ботов.

В сети существует огромное количество ботов, которые занимаются сканированием сайтов. Некоторые боты...
Подробнее
cron

Cron — переход по ссылке с параметрами в URL

Cron - планировщик в Linux для запуска задач по расписанию. Обычно он...
Подробнее

Contact Form 7 — удаляем значок Google reCaptcha со страниц сайта.

Популярный плагин для создания контактных форм на сайтах под управлением Wordpress, Contact...
Подробнее
MySQL

Автоматическое завершение долгих процессов Mysql

Бывают случаи, когда некоторые запросы Mysql подвисают и выполняются невероятно долго, создавая...
Подробнее

Шпаргалка по командам EXIM

Exim — это агент пересылки сообщений для ОС Linux. В этой шпаргалке,...
Подробнее
подборка полезных программ

Windows — подборка полезных программ.

Небольшая подборка полезных программ, которые я рекомендую к использованию на компьютерах и...
Подробнее
Это приложение не позволяет выключить компьютер

Отключаем уведомление «Это приложение не позволяет выключить компьютер»

При выключении компьютера Windows или при его перезагрузке часто можно встретить, как...
Подробнее

Windows 11 как установить Internet Explorer, как зайти в личный кабинет налоговой и портал ФСЗН

В новой Windows 11 компания Microsoft полностью удалила браузер Internet Explorer, который...
Подробнее

Удалённая компьютерная помощь. Что это и как?

Большинство проблем с вашим компьютером или ноутбуком можно решить удалённо, не выезжая...
Подробнее
Введите текст для поиска...