Скрипт очистки почтовой очереди

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:ad46d82e1bd3a985515da7adef433005' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">Случилась незадача... У одного из пользователей почтового сервера &quot;своровали&quot; параметры подключения к почтовому серверу (скорее всего с помощью троянца какого-то). Пользователю была разрешена&nbsp;отправка сообщений через СМТП-авторизацию.&nbsp;Злоумышленники воспользовались этой возможностью и организовали рассылку.</p>\n<p class=\"rtejustify\">Реквизиты доступа изменены в первую очередь,&nbsp;однако в почтовой очереди сообщений еще тысячи нелегитимных сообщений от этого пользователя. Очищать всю очередь сообщений - не вариант. Так можно и полезных сообщений лишиться.&nbsp;Удалять сообщения по одному - это тоже&nbsp;не вариант. Необходимо поставить это дело &quot;на конвеер&quot;. Помочь в этом может следующий скрипт:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<div>#!/bin/sh</div>\n<div>&nbsp;</div>\n<div>exim -bp | grep <span style=\"color: #ff0000\"><span class=\"spamspan\"><span class=\"u\">user</span> [at] <span class=\"d\">domain [dot] com</span></span></span> |<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while read ID<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; do<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IDGOOD=`echo $ID |awk \'{ print $3 }\'`<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ -n &quot;$IDGOOD&quot; ]; then<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exim -Mrm $IDGOOD<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; done<br />\n )</div>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">где <span style=\"color: #ff0000\"><span class=\"spamspan\"><span class=\"u\">user</span> [at] <span class=\"d\">domain [dot] com</span></span></span> - почтовый адрес,&nbsp;от которого выполнялась рассылка.</p>\n<p class=\"rtejustify\">Медленно,&nbsp;но уверенно скрипт выполняет свое дело. Для ускорения процедуры можно запустить скрипт в несколько потоков,&nbsp;тоесть несколько раз. В таком случае необходимо внести изменения в скрипт и для вывода сообщений воспользоваться командой <strong>exim -bpr</strong></p>\n<p class=\"rtejustify\">&nbsp;</p>\n', created = 1767338931, expire = 1767425331, headers = '', serialized = 0 WHERE cid = '2:ad46d82e1bd3a985515da7adef433005' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:40795a17c5186625ea552141004cd30a' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;Можно проще!</p>\n<p>&nbsp;</p>\n<p>Просто ввести команду</p>\n<p>&nbsp;</p>\n<p><strong><span style=\"color: rgb(255, 0, 0); \"><span style=\"background-color: rgb(255, 255, 255); \">exiqgrep -i -f &nbsp;\'&lt;<span class=\"spamspan\"><span class=\"u\">spamer</span> [at] <span class=\"d\">mail [dot] ru</span></span>&gt;\' &nbsp;| xargs exim -Mrm</span></span></strong></p>\n<p><font color=\"#461b7e\"><span style=\"font-size: 15px; white-space: pre-wrap;\"><br />\n</span></font></p>\n<p><font color=\"#461b7e\"><span style=\"font-size: 15px; white-space: pre-wrap;\"></span></font></p>\n<p></p>\n', created = 1767338931, expire = 1767425331, headers = '', serialized = 0 WHERE cid = '2:40795a17c5186625ea552141004cd30a' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:bb56b48ec015b4e7de48a9da4ecd46d5' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">Пробовал. Но видимо <strong>exiqgrep</strong> обрабатывает сначала всю очередь,&nbsp;а потом только передает в конвеер результат.</p>\n<p class=\"rtejustify\">При очереди сообщений в 200 тыс. шт. (за ночь набежало)&nbsp; ждал хоть каких-то изменений минут десять. Потом плюнул и занялся скриптом.</p>\n', created = 1767338931, expire = 1767425331, headers = '', serialized = 0 WHERE cid = '2:bb56b48ec015b4e7de48a9da4ecd46d5' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>&nbsp;</p>\n<p>&nbsp;</p>\n', created = 1767338931, expire = 1767425331, headers = '', serialized = 0 WHERE cid = '2:b1f58154e0889ad9e13f315115f79cf2' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767338931, expire = 1767425331, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767338931, expire = 1767425331, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

Случилась незадача... У одного из пользователей почтового сервера "своровали" параметры подключения к почтовому серверу (скорее всего с помощью троянца какого-то). Пользователю была разрешена отправка сообщений через СМТП-авторизацию. Злоумышленники воспользовались этой возможностью и организовали рассылку.

Реквизиты доступа изменены в первую очередь, однако в почтовой очереди сообщений еще тысячи нелегитимных сообщений от этого пользователя. Очищать всю очередь сообщений - не вариант. Так можно и полезных сообщений лишиться. Удалять сообщения по одному - это тоже не вариант. Необходимо поставить это дело "на конвеер". Помочь в этом может следующий скрипт:

#!/bin/sh
 
exim -bp | grep user [at] domain [dot] com |
        (
                while read ID
        do
                        IDGOOD=`echo $ID |awk '{ print $3 }'`
                if [ -n "$IDGOOD" ]; then
                        exim -Mrm $IDGOOD
                 fi
        done
)

где user [at] domain [dot] com - почтовый адрес, от которого выполнялась рассылка.

Медленно, но уверенно скрипт выполняет свое дело. Для ускорения процедуры можно запустить скрипт в несколько потоков, тоесть несколько раз. В таком случае необходимо внести изменения в скрипт и для вывода сообщений воспользоваться командой exim -bpr

 

Голосов пока нет

 Можно проще!   Просто ввести

 Можно проще!

 

Просто ввести команду

 

exiqgrep -i -f  '<spamer [at] mail [dot] ru>'  | xargs exim -Mrm


Пробовал. Но видимо exiqgrep

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

При очереди сообщений в 200 тыс. шт. (за ночь набежало)  ждал хоть каких-то изменений минут десять. Потом плюнул и занялся скриптом.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Вставай, Україно!

Литература

Админ спит - значит, все системы работают!